XavierMace Posted April 25, 2024 Posted April 25, 2024 https://forum.paradoxplaza.com/forum/developer-diary/stellaris-dev-diary-342-the-art-of-the-machine-age-part-i.1666149/page-3#post-29584319 I know most the portraits on here (like mine) are static 2D rather than 3D models like the official portraits but that seems like it opens up some possibilities? 1
Calcifire Posted May 11, 2024 Posted May 11, 2024 On 4/25/2024 at 11:28 AM, XavierMace said: I know most the portraits on here (like mine) are static 2D rather than 3D models like the official portraits but that seems like it opens up some possibilities? Having messed with it myself, I can't get it to work off flat 2D. It reminds me of why I couldn't get a hair picker or eye color picker working with 2D. If you find a way, I'd love to copy some homework. Otherwise, I've given up and gone back to using convoluted work arounds to get the cyborgs and synths working. Jank code is all I'll ever be.
XavierMace Posted May 30, 2024 Author Posted May 30, 2024 On 5/10/2024 at 11:23 PM, Calcifire said: Having messed with it myself, I can't get it to work off flat 2D. It reminds me of why I couldn't get a hair picker or eye color picker working with 2D. If you find a way, I'd love to copy some homework. Otherwise, I've given up and gone back to using convoluted work arounds to get the cyborgs and synths working. Jank code is all I'll ever be. So, I haven't tried messing around with it yet, just looking at the dev diary again and curious what you've already tried. I'm looking at their sample: cyb8_f = { entity = "cybernetics_01_portrait_08_f_entity" clothes_selector = "cybernetics_clothes_08_f" attachment_selector = "no_texture" greeting_sound = "machineage_portrait_cybernized_08_f" character_textures = { "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_blue.dds" "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_green.dds" "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_red.dds" } custom_close_up_position_offset = { x = -20 y = 260 } custom_close_up_scale = 1.80 portrait_evolution = { evolution_stages = { # cybernetization stages { values = { # stage 1 variant 1 { decal = "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_stage_1_decal.dds" mask = "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_stage_1_mask.dds" } } #leader, pop or species scope (when called with species scope, from subscope can contain a country species related to) trigger = { has_cybernetization_stage_1 = yes } } { values = { # stage 2 variant 1 { decal = "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_stage_2_decal.dds" mask = "gfx/models/portraits/cybernetics/cybernetics_portrait_08_f_stage_2_mask.dds" } } #leader, pop or species scope (when called with species scope, from subscope can contain a country species related to) trigger = { has_cybernetization_stage_2 = yes } } } } } Off hand it seems like you could, in theory, just specify a complete new texture in each evolution stage rather than just a decal and mask? This would admittedly mean you're basically selecting brand new portraits at random which I can see some people disliking. So, not ideal, but in theory seems like that MIGHT give us at least a hackjob way of supporting reactive 2D portraits? Unless you've already tried that, I might give it a try this weekend.
Calcifire Posted May 30, 2024 Posted May 30, 2024 Without access to Maya, I cant create and position the "entity" that is referenced at the top of that code. Which is what I mean by 3D. If that is confusing to say, then think of it as 2.5D assets. I cant create .asset files, so I have to use the texture system, instead of calling up a entity. The raw texture system doesn't have clothes or anything, capability. So, like I said, I have to jank my way in. I don't see hiw it's possible with 2D 1
XavierMace Posted June 4, 2024 Author Posted June 4, 2024 On 5/29/2024 at 10:11 PM, Calcifire said: Without access to Maya, I cant create and position the "entity" that is referenced at the top of that code. Which is what I mean by 3D. If that is confusing to say, then think of it as 2.5D assets. I cant create .asset files, so I have to use the texture system, instead of calling up a entity. The raw texture system doesn't have clothes or anything, capability. So, like I said, I have to jank my way in. I don't see hiw it's possible with 2D Yeah, I get that, but I'm not sure you followed what I was theorizing about. However, I didn't get around to testing it until now. portraits = { ###### 01ReactiveTest_Stage0 = { greeting_sound = "humanoid_01_greetings" texturefile = "gfx/models/Humanoid/SL3_ReactiveTest/female/01ReactiveTest_Stage0.dds" portrait_evolution = { evolution_stages = { # cybernetization stages { values = { # stage 1 variant 1 { decal = "gfx/models/Humanoid/SL3_ReactiveTest/female/01ReactiveTest_Stage1.dds" mask = "gfx/models/Humanoid/SL3_ReactiveTest/female/01ReactiveTest_Stage2_mask.dds" } } #leader, pop or species scope (when called with species scope, from subscope can contain a country species related to) trigger = { has_cybernetization_stage_1 = yes } } { values = { # stage 2 variant 1 { decal = "gfx/models/Humanoid/SL3_ReactiveTest/female/01ReactiveTest_Stage2.dds" mask = "gfx/models/Humanoid/SL3_ReactiveTest/female/01ReactiveTest_Stage2_mask.dds" } } #leader, pop or species scope (when called with species scope, from subscope can contain a country species related to) trigger = { has_cybernetization_stage_2 = yes } } } } } } Trying that does NOT generate any errors in the logs and the species builder does see the base portrait and recognizes that it's got evolution stages. Obviously I'm no expert but honestly I was expecting it to either work or for it to puke out errors in the error logs. HOWEVER, the images don't change when you select the evolution stage. In the above example, I tried masking both just the character in the 2D portrait and the entire image, no change. I also tried just specifying a new texturefile in each stage instead of decal and mask, that resulted in error.log entries for unexpected token.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now