How can I make a custom improvement appear higher on z axis?

Tekamthi

Emperor
Joined
Aug 12, 2016
Messages
1,678
Through trial and error, I've created an improvement that uses the cloud particle effect around the Mt. Fuji natural wonder, but without fuji itself.

My intention is to have the "improvement" stand-in as just a cloud with no other structure, and to use this primarily in water tiles without other improvements or features (ie to simulate some kind of changing weather at sea) -- so its working, sort of.... problem is the cloud effect appears very low on the z-axis, so low that its fully underwater and boats sail right over the clouds -- and unlike unit artdefines, there does not appear to be a way to manipulate a 'Zoffset' (maybe I've overlooked some obscure option somewhere). On flat land tiles, I infer the clouds are entirely underground (they are not visible); in coast they are mostly underwater (mostly visible), in ocean fully underwater (fully visible), on hills you can see them poking out around the edge of the hill (partially visible), and on mountains they appear more or less the same as the original mt. fuji effect (fully visible).

Spoiler :
1684866361164.png



I am inexperienced with 3d modelling and animations, but I am not uncomfortable with attempting and troubleshooting the tasks involved necessarily, I'm just uncertain about what direction I should pursue next, or if I've hit a deadend -- I've opened the fuji .gr2 in nexus buddy 2, exported to nb2 and opened in blender (my thought was to figure out how to just raise the height of the relevant 'bone' in the model itself), but this is where i get stuck, I do not understand what I am looking at in the .gr2 viewer nor in blender. Unlike other .gr2 files I've looked at in the past, when viewed in the nexusbuddy gr2 viewer, the fuji .gr2 appears to be just a 2D triangle with no bones at all.

I've also tried attaching the fuji cloud effect to other gr2 models but I have not been successful in having the particle effect appear at all, without using the fuji gr2 and most of the fxsxml/ftsxml entries from the original fuji.

Anyone have any idea if I can somehow raise the z-axis height of this improvement and/or particle effect in-game? I'd rather not mess with creating new, custom particle effects, so that I can contain this entirely within a mod file (afaik new particle effects require manually replacing other game files, not handled by civ 5 modding system; ie. undesireable).

edit: i've played around a little further in blender, and have moved the fuji "model" up in the z axis, but my conversion back to gr2 crashes civ at the mod loading screen -- suspect I am missing some subtlety about blender and/or conversion to/from civ 5 gr2
 

Attachments

  • Cloud Improvement (v 1).zip
    76 KB · Views: 11
Last edited:
I was able to come back for a short time. I was able to do a few models not a hole lot.
But I can still be active from my phone.

Import it to blender.
The triangle is a super small and invisible in game. The bone is the important part.
In blender move the model up the z axis and export it to fbx then open it in nexus buddy.

Civ coders used the oil texture on there fake models. You can use any texture it won't matter it should be to small to ever see.

It's a fake model specifically to attatch the effect to it.

It might take a few export attempts from blender for it to work in game using the Fuji clouds effect. You might need to keep rotating the bones and exporting it and seeing how it looks in game and see if the effect is coming in at the correct direction
 
My grandfather was suppose to be back the Wednesday that just past. But 1 thing led to another and it won't be until tomorrow afternoon. Unless something happens.

So I have until then to get any real modding done.
I'll try to night or early tomorrow morning to get it done for you.

It just takes a good bit of trial and error.
 
hey no worries! I appreciate the advice with blender, will give it a stab myself in the next few days. Hope all the best for your fam!

does it matter how high I move it in blender? when I tried before I moved it from 0 on z axis to 1.0, but i have no idea what units this scale is in, was just a guess. Game crashed when i re-imported that particular attempt as a mod, but i noticed later some of the bones names were changing somewhere en-route, and speculate that i may have overlooked other things altogether, maybe.. anyway haven't revisited yet.

Don't feel obligated by any means, thanks again!
 
I also use blender 2.79
I'm not sure what type you use.

The size and he hight shouldn't matter and won't break the game.
Just make sure it is assigned a building shader in nexus buddy.

I've messed up and brought things into the game at such a large scale it sat on the whole map.
 
here is the clouds improvement.

i also included the fbx and blend files in case you want to make adjustments.
before exporting it from blender hit ctrl A then check only the location make sure rotation and scale are unchecked. then export z up y forward and scale 0.01.



Spoiler :


20230623113114_1.jpg
20230623113110_1.jpg




i raised it up and moved it forward a bit to help with the perspective, the higher you raise things the more it looks like it is in the tile behind it.
it looks like it could be moved forward a bit more in blender.
but it doesn't look as bad as it did before i moved it forward you can now kind of tell what tile its in. the higher you raise things the more it looks like it is in the tile behind it.
 

Attachments

  • clouds.zip
    132.9 KB · Views: 8
Last edited:
in the civ 5 art defines use scale 1.0
or something around that it doesn't have to be 1.0 but it should be somewhere around there depending how big/small you want it.
 
@ghost toast thanks again for your help with this! I've implemented into my mod for VP here. Getting this piece also motivated me to complete some almost-finished code updates to that one.

I have two ideas for further development, curious if you'd share any thoughts you might have re: their viability:
  1. do you think it would be possible to make an improvement version of the ice feature? i might attempt some kind of seasonal ice in ocean, similar to the way i've used the cloud you helped me with in the mod linked above
  2. using firetuner, placing stone resource in coast looks good enough to me to serve as some kind of shallow rocks feature, would make this one permanent rather than temporary -- would it be as simple as just making a feature in sql/xml and pointing to the stone art defines? or would i have to rework them in blender?
 
Ya just use the stone resource art defines it should be ok
experimented some more, the stone was kinda scuffed looking imo not worth using without sinking it lower in the water -- a project for another time maybe

However I did find some 'rain' effect to add to my storm cloud:
Spoiler :
1690415999722.png


the rain effect is a little more voilent than I would like ideally, but it works! I've essentially just rigged up a second trigger in the ftsxml file to display ART_DEF_VEFFECT_WATER_DRIPPING_01 at the same time as the fuji cloud. Trouble is the cloud effect transitions nicely, as I despawn and respawn the cloud improvement, it fades out, then back in, gradually.

The rain however does not -- its just there in full force or not -- is there a way I can have the cloud animation turn on 5 seconds before the rain effect? I tried playing with the "time" and "duration" values in the ftsxml but at best I can have the rain flash on and off on intervals, but always there at the start rather than delayed initial appearance....

Code:
<trigger_system type="FGrannyTimedTriggerSystem">
    <event_tracks>
        <event_track ec="1000">
            <track id="1" name="Sound" />
            <track id="2" name="Effect" />
            <track id="3" name="Transfer" />
        </event_track>
    </event_tracks>
    <triggers>
        <trigger type="FTimedTriggerEffect" id="1" time="0" duration="10" repeat="0" ec="1000" track="2" tier="0" event="ART_DEF_VEFFECT_FUJI_CLOUDS" bone="FX_Fuji" />
        <trigger type="FTimedTriggerEffect" id="2" time="0" duration="10" repeat="0" ec="1000" track="2" tier="0" event="ART_DEF_VEFFECT_WATER_DRIPPING_01" bone="FX_Fuji" />
    </triggers>
</trigger_system>
 
Top Bottom