crazy_Baboon Posted March 21, 2020 Report Share Posted March 21, 2020 (edited) Hi, I am trying to adapt 3D models from FlightGear and use them in 0ad. FlightGear models are stored in the .ac format, while 0ad uses collada .dae. In Blender 2.82, I have successfully imported an .ac model, but when i try to convert it to collada (.dae), the model appears to loose its texture: The .ac file in Blender: The converted .dae file in 0ad: Does anyone know why the texture is not showing in the collada .dae file? How do I fix this? Thanks! Edited March 21, 2020 by crazy_Baboon 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 Hey @crazy_Baboon Nice to see someone more in the modelling business! To answer your question unlike flightgear textures, ours are not bundled with 3DModels but separately. You need to export them in a format the game knows, preferably .PNG but it can also be .DDS, or .TGA. Then you need to bind the textures using an actor file. This file defines the 3D Model as well as the variations and a few other things. 1 Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 21, 2020 Author Report Share Posted March 21, 2020 Hi @Stan`, I have got the texture .png for the .ac file. These are the files I have: - catering_truck.dae - CCS_catering_truck1.png Say I would like to replace the gaul barracs with it, so there is no animation involved (assuming this is another issue). Which files would I have to edit to replace the barracs by the truck? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 3 minutes ago, crazy_Baboon said: Hi @Stan`, I have got the texture .png for the .ac file. These are the files I have: - catering_truck.dae - CCS_catering_truck1.png Say I would like to replace the gaul barracs with it, so there is no animation involved (assuming this is another issue). Which files would I have to edit to replace the barracs by the truck? You'd have to edit this file binaries/data/mods/public/art/actors/structures/celts/barracks.xml https://trac.wildfiregames.com/browser/ps/trunk/binaries/data/mods/public/art/actors/structures/celts/barracks.xml And replace its content by something like <?xml version="1.0" encoding="utf-8"?> <actor version="1"> <castshadow/> <group> <variant frequency="1" name="Base"> <mesh>structural/catering_truck1.dae</mesh> <textures> <texture file="CCS_catering_truck1.png" name="baseTex"/> </textures> </variant> </group> <group> <variant name="alive" frequency="1"/> <variant name="death" frequency="0"/> </group> <material>default.xml</material> </actor> As a general rule of thumb I would avoid capitalization in file names. I would also use _01 to make modding nicer. If possible I would also keep the names identical like so ccs_catering_truck_01.dae ccs_catering_truck_01.png This line <texture file="CCS_catering_truck1.png" name="baseTex"/> Means the game will look for a texture in binaries/data/mods/public/art/textures/skins/ Add subfolders accordingly. This line <material>default.xml</material> Means that it will only use the diffuse texture and nothing else. 1 Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 21, 2020 Author Report Share Posted March 21, 2020 Thanks @Stan`, How about the .dae file? Where should I place it? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 The current spot in the actor above binaries/data/mods/public/art/meshes/structural/ Default is binaries/data/mods/public/art/meshes/ 1 Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 21, 2020 Author Report Share Posted March 21, 2020 Many thanks @Stan` However, looking at the error message, this does not seem too easy: ERROR: Failed to find matching prop point called "projectile" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "smoke" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "projectile" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "smoke" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Model 'art/meshes/structural/ccs_catering_truck_01' has no UV1 set. ShaderProgram.cpp(891): Assertion failed: "(m_StreamFlags & ~m_ValidStreams) == 0" Assertion failed: "(m_StreamFlags & ~m_ValidStreams) == 0" Location: ShaderProgram.cpp:891 (AssertPointersBound) Call stack: (0x562bf55b2265) ./pyrogenesis(+0x627265) [0x562bf55b2265] (0x562bf554fd91) ./pyrogenesis(+0x5c4d91) [0x562bf554fd91] (0x562bf55515e4) ./pyrogenesis(+0x5c65e4) [0x562bf55515e4] (0x562bf5551cdb) ./pyrogenesis(+0x5c6cdb) [0x562bf5551cdb] (0x562bf5379e76) ./pyrogenesis(+0x3eee76) [0x562bf5379e76] (0x562bf545bafc) ./pyrogenesis(+0x4d0afc) [0x562bf545bafc] (0x562bf53b0a85) ./pyrogenesis(+0x425a85) [0x562bf53b0a85] (0x562bf53c5034) ./pyrogenesis(+0x43a034) [0x562bf53c5034] (0x562bf53c8f1c) ./pyrogenesis(+0x43df1c) [0x562bf53c8f1c] (0x562bf53c9a67) ./pyrogenesis(+0x43ea67) [0x562bf53c9a67] (0x562bf52311b1) ./pyrogenesis(+0x2a61b1) [0x562bf52311b1] (0x562bf5033e90) ./pyrogenesis(+0xa8e90) [0x562bf5033e90] (0x562bf50387a5) ./pyrogenesis(+0xad7a5) [0x562bf50387a5] (0x562bf5023b4e) ./pyrogenesis(+0x98b4e) [0x562bf5023b4e] (0x7f8fd28ff1e3) /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f8fd28ff1e3] (0x562bf503217e) ./pyrogenesis(+0xa717e) [0x562bf503217e] errno = 0 (Try again later) OS error = ? Do you have a suggestion? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 That's because the barracks expect to be able to shoot projectiles. Your new 3D model does not have that prop point. For more information about propppints i can give you a libk to one of my videos. For the matter at hand (the crash) however I can think of multiple potential issues The 3Dmodel you want to import has more than one material. You forgot to change the material to default.xml which made the game crash For the other matter I guess one could remove the attack component In binaries/data/mods/public/simulation/templates/structures/gauls_barracks.xml Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 21, 2020 Author Report Share Posted March 21, 2020 (edited) @Stan` I did not know the barracks can shoot projectiles However, i cannot find an attack component on them: binaries/data/mods/public/simulation/templates/structures/gaul_barracks.xml: <?xml version="1.0" encoding="utf-8"?> <Entity parent="template_structure_military_barracks"> <Cost> <PopulationBonus>4</PopulationBonus> </Cost> <Footprint> <Square width="22.0" depth="22.0"/> <Height>5.0</Height> </Footprint> <Health> <SpawnEntityOnDeath>decay|rubble/rubble_stone_5x5</SpawnEntityOnDeath> </Health> <Identity> <Civ>gaul</Civ> <SpecificName>Coriosedlon</SpecificName> </Identity> <Obstruction> <Static width="20.0" depth="20.0"/> </Obstruction> <ProductionQueue> <Entities datatype="tokens"> units/{civ}_champion_infantry_barracks units/{civ}_champion_cavalry_barracks </Entities> <Technologies datatype="tokens"> unlock_champion_units </Technologies> </ProductionQueue> <VisualActor> <Actor>structures/celts/barracks.xml</Actor> <FoundationActor>structures/fndn_6x6.xml</FoundationActor> </VisualActor> </Entity> Edited March 21, 2020 by crazy_Baboon Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 See this line <Entity parent="template_structure_military_barracks"> This means it's inheriting stuff from binaries/data/mods/public/simulation/templates/template_structure_military_barracks.xml In this case I believe it's Building AI You can add <BuildingAI disable=""/> in the template. I guess using a building template for a truck was not the greatest idea Anyway it won't solve your issues. I would seem you didn't change the actor completely. If it complains about ERROR: Failed to find matching prop point called "projectile" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "smoke" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "projectile" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" ERROR: Failed to find matching prop point called "smoke" in model "art/meshes/structural/ccs_catering_truck_01.dae" for actor "barracks" That means those are still referenced in the actor, and you didn't use the example I provided. 1 Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 21, 2020 Author Report Share Posted March 21, 2020 (edited) Thanks @Stan` i have used your example barracks.xml. The error I am getting now is: GAME STARTED, ALL INIT COMPLETE ERROR: Could not load mesh 'art/meshes/structural/css_catering_truck_01.dae' ERROR: CObjectEntry::BuildVariation(): Model art/meshes/structural/css_catering_truck_01.dae failed to load ERROR: Could not load mesh 'art/meshes/structural/css_catering_truck_01.dae' ERROR: CObjectEntry::BuildVariation(): Model art/meshes/structural/css_catering_truck_01.dae failed to load TIMER| common/modern/setup.xml: 229.607 us TIMER| common/modern/styles.xml: 225.238 us TIMER| common/modern/sprites.xml: 1.48907 ms TIMER| msgbox/msgbox.xml: 13.2327 ms I have checked and the file art/meshes/structural/css_catering_truck_01.dae does exit. ps. I cannot figure out how to get the barracks to attack anything. Edited March 21, 2020 by crazy_Baboon Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 21, 2020 Report Share Posted March 21, 2020 Barracks have 0 arrows by default, so they cannot attack. In this case look for typos. did you make a mod or modify the game directly? Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 22, 2020 Author Report Share Posted March 22, 2020 Hi @Stan`, Quote In this case look for typos. Is there a tool like gdb that could point to these "typos"? Quote did you make a mod or modify the game directly? I am modifying the git master folder directly. Also, Quote Barracks have 0 arrows by default, so they cannot attack. but you mentioned Quote That's because the barracks expect to be able to shoot projectiles. I'm confused. ps: what does "prop point." stand for? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 22, 2020 Report Share Posted March 22, 2020 1 minute ago, crazy_Baboon said: Is there a tool like gdb that could point to these "typos"? Maybe source/tools/entity/checkrefs.pl 2 minutes ago, crazy_Baboon said: I am modifying the git master folder directly. I think it would better for you to make a separate mod Let me know if I can help. 3 minutes ago, crazy_Baboon said: I'm confused. Sorry about that. I referred to the projectile error which can have two causes. Either the building is trying to shoot or there is no projectile prop point. 4 minutes ago, crazy_Baboon said: ps: what does "prop point." stand for? Prop points are blender empty objects parented to the mesh which allows one to make object pop randomly at certain spots. Like a barrel for instance. 1 Quote Link to comment Share on other sites More sharing options...
crazy_Baboon Posted March 22, 2020 Author Report Share Posted March 22, 2020 Thanks @Stan`, BTW what is the advantage of creating a mod vs hacking the git folder? Quote Link to comment Share on other sites More sharing options...
Stan` Posted March 22, 2020 Report Share Posted March 22, 2020 9 minutes ago, crazy_Baboon said: BTW what is the advantage of creating a mod vs hacking the git folder? No git conflict when getting latest version, easy to share the mod to figure issues, easy to put it on a versioning system such as Git and usually cleaner Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.