Currently Online

Latest Posts

Topic: Nachfrage : Soldaten init.lua

Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 21:11
Posts: 186
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
Widelands-Forum-Junkie
Location: Deutschland
Posted at: 2024-08-19, 17:52

Wie von @Nordfriese im Thema : Einstellungen Soldaten gewünscht , unterteile ich meinen ursprünglichen Post und komprimiere Ihn :

Widelands Dokumentation Soldaten (EN)

Übersichtsfenster

@Nordfriese schrieb in seiner Antwort :
- Das detaillierte Übersichtsfenster mit Taste X ist nur benutzbar, wenn das jeweilige Volk einigermaßen »typische« Levelhöchstwerte hat.

Oke , benutzbar . Das heißt ja schonmal grundlegend dass das Übersichtsfenster immer gerendert wird .
Benutzbar meint dann dass das Übersichtsfenster nur dann komplett eingesehen werden kann , wenn es nicht zu viele Soldaten-Level-Kombinationen gibt .

Dateistruktur

@Nordfriese schrieb in seiner Antwort :
- Schau mal in die Definition der Einheitengraphiken zum friesischen Soldaten

Das habe ich gemacht und bin nun daraus auch schlauer geworden .
Damit hat sich meine ursprüngliche Frage dazu erübrigt .

Festes Schlüsselwort Variabler Tabellen Name
<animation_spritesheet_name> = <upgrade_level_tabelle_name>
attack_success_w empire_plus_rookie_soldier_attack_success_west_animation = empire_plus_soldier_rookie_levels
empire_plus_default_soldier_attack_success_west_animation = empire_plus_soldier_default_levels
empire_plus_hero_soldier_attack_success_west_animation = empire_plus_soldier_hero_levels
attack_success_e ...
attack_failure_w ...
attack_failure_e ...
evade_success_w ...
evade_success_e ...
evade_failure_w ...
evade_failure_e ...
die_w ...
die_e ...
idle ...
walk range = empire_plus_soldier_rookie_levels
e = "rookie_walk_east",
ne = "rookie_walk_north_east",
nw = "rookie_walk_north_west",
se = "rookie_walk_south_east",
sw = "rookiewalk_south_west",
w = "rookie_walk_west"

range = empire_plus_soldier_default_levels
e = "walk_e_default",
...

range = empire_plus_soldier_hero_levels
e = "walk_e_hero",
...
...,
empire_plus_soldier_rookie_levels=
{
    min_health  = 0,
    min_attack  = 0,
    min_defense = 0,
    min_evade   = 0,
    max_health  = 0,
    max_attack  = 0,
    max_defense = 0,
    max_evade   = 0
},
empire_plus_soldier_default_levels=
{
    ...
},
empire_plus_soldier_hero_levels=
{
    ...
},
...


...,
spritesheets=
{
    rookie_walk=
    {

        directional = true,
        directory   = dirname .. "rookie",
        fps         = 30,
        frames      = 60,
        rows        = 10,
        columns     = 6,
        hotspot     = { 8, 25 }
    },
    empire_plus_rookie_soldier_attack_success_west_animation=
    {
        directory   = dirname .. "rookie",
        fps         = 30,
        frames      = 45,
        rows        = 10,
        columns     = 5,
        hotspot     = { 8, 25 }
    },
    ...
},
...

Also ich muss schon schreiben dass das bei den Soldaten etwas unübersichtlich ist , wie die einzelnen Spritesheets untereinander verknüpft und definiert sind .
Korrigiert mich , falls es einen Fehler gibt .
Vorab , nein ich habe keine Animationen für den Imperium Soldaten erstellt , jedoch war obriges für mich eine Erinnerung und auch für alle anderen Interessierten ,
wie die Struktur innerhalb der Definitions init.lua Datei der Soldaten Einheit ist .

Während des schreibens dieses Posts hat sich auch meine Frage erübrigt wofür der Key "range" steht und was er definiert .

Blender rendern Spielerfarbe Maske

Ich brauch nochmal den Link wo erklärt wird , wie man die Spielerfarben Maske zu einen Objekt rendert .
Das Gebäude-Modell zum Mauerbauer habe ich grob fertig .
Leider hat @DragonAtma auch nach zwei Wochen noch nicht auf meine Privatnachricht geantwortet , in der ich nach dem 3D-Modell für die Imperium Kaserne fragte ,
weshalb ich davon ausgehe das er/sie bedauerlicherweise nicht mehr in Widelands aktiv ist .
So musste ich die Imperium Kaserne nach seinen Post (EN) rekonstruieren .
Bevor ich am Modell weitermachen möchte , möchte ich es erst einmal im Spiel testen und schauen wie es jetzt schon im Spiel aussieht .
Leider geht das noch nicht , wegen Fehlermeldungen beim Laden der Erweiterung . Ich konnte bis jetzt noch nicht alle Fehler beseitigen .

Ich habe bereits im Modell ein Material verwendet , was später die Spielerfarbe sein soll .
Das Spielerfarben Material ist derzeit noch auf Blau [0,0,255] eingestellt .
Also die einzige Möglichkeit die mir spontan so einfällt um die Spielerfarben Schwarz-Weiß Maske zu rendern ist :
* Alle verwendeten Materialen auf Basis Grundfarbe umschalten (falls Texturen verwendet wurden)
* Alle Materialen bei der Grundfarbe auf Schwarz [0,0,0] setzen .
* Das Spielerfarben Material auf Weiß [255,255,255] setzen .
* Das Spielerfarben Material bei der Emission hoch setzen , so das es Licht emittiert .
* Gegebenenfalls Szenen Beleuchtung (Lichter / Sonnen) ausschalten .
* Transparenten Szenen Hintergrund deaktivieren .
* Szenen Hintergrund Grundfarbe auf Schwarz [0,0,0] setzen .

Edited: 2024-08-19, 17:55

Das Imperium schlägt zurück ! TY

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 17:07
Posts: 2007
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2024-08-19, 20:26

Ich brauch nochmal den Link wo erklärt wird , wie man die Spielerfarben Maske zu einen Objekt rendert .

Eine Player Color Mask ist einfach ein Monochrombild mit der gleichen Größe wie das zugehörige Objektbild. Jeder Pixel, der in der Maske weiß ist, wird im Objektbild mit Spielerfarbe hinterlegt; alle anderen Pixel sollen schwarz sein.

Du modellierst dein Objekt also gerade so, als ob die Spielerfarbe gesättigtes Weiß (255,255,255) wäre. Die Vorgehensweise, die du beschrieben hast, ist im Wesentlichen auch genau wie ich anschließend für meine Modelle in Blender die Masken erzeuge. Ich aktiviere noch die Option "Shadeless" für alle Materialien – das garantiert perfektes Weiß für die Spielerfarbe, ohne dass Lichtemission nötig ist, und perfektes Schwarz für andere Materialien, frei von Verunreinigung durch Ambient-Beleuchtung und anderen Effekten wie z.B. Specular oder Spiegelung.

P.S. Das Spielerfarben-Material muss nicht zwingend weiß sein. Man kann auch eine andere helle Farbe verwenden, die dann implizit mit der Spielerfarbe verrechnet wird. Die Gebäude der Atlantinger beispielsweise verwenden Hellblau als Basis, was im Spiel zu ihrer charakteristischen dunkleren Darstellung der spielerfarbigen Bereiche führt.

Edited: 2024-08-19, 20:29

Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 19:48
Posts: 2499
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2024-08-20, 07:27

Sieht man wenn man die Soldaten-Bilder anschaut, z.B.: walk_e_1.png hat ein korrespondierendes Bild für die Spielerfarbe walk_e_1_pc.png (pc = player color).

walk_e_1.png:
walk_e_1.png

walk_e_1_pc.png:
walk_e_1_pc.png

Die Bilder sind deckungsgleich und alles was im letzten Bild weiß ist wird für die Spielerfarbe verwendet.


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote