#Fancy Fuel Tanks DEVBLOG

1 messages · Page 3 of 1

manic trail
#

I'm surprised

#

It doesn't seem like I've written stuff for many fuel tanks

#

Here's a funny one for a snack container:

manic trail
#

"@title = AT-CRS "Bieg Macks" Storage Unit
@manufacturer = AtomicTech Inc.
@description = After a minor mistake in which the Experimental Storage Unit was mistakenly filled with Snacks, it quickly became apparent that this mistake had turned into a viable product. Rated for Launch on AtomicTech Inc. and Yuanzi Jishu Co. rockets and even capable of crash landing in cases of energency."

dreamy escarp
#

thats KSP1's localization?

#

ti should be easly convertable to ksp2 if so

surreal loom
#

energency or emergency?

dreamy escarp
#

energency

#

obviously

#

kerbals dont have emergencies

#

everything always goes as planned

surreal loom
#

alright, lets check this out

#

THEN im gonna go to bed

#

(thats like the 5th time ive said that)

dreamy escarp
#

i feel like the bands are too dark

#

other than that it looks amazing

surreal loom
#

this is perfect

#

its gorgeous.

#

alright off to bed i go

#

tonight i finalize atomictechs textures and spacepeacocks

#

then i make 5 more fuel tanks by friday

quartz dagger
#

Night CVUSMO!

manic trail
manic trail
surreal loom
#

i couldn't sleep..

surreal loom
#

@quartz dagger hows that base look to you?

quartz dagger
#

Looking good!

surreal loom
#

hows that?

#

wanted to make it fit in a bit more with ksp2 so its like a giant baguette

#

without

surreal loom
sick dagger
#

Change the name and make a ion engine

surreal loom
#

engines will take a bit longer. right now getting a library of new fuel tanks made

sick dagger
#

Alr

surreal loom
#

made these paintable

#
-2x hydrogen tanks
-3x methalox tanks```
quartz dagger
#

Dang that looks good

quartz dagger
surreal loom
#

CV-421

surreal loom
sick dagger
#

Wow cool

surreal loom
#

Thank you. I wanted a small tank ball thing but different looking

#

think this worked out good

surreal loom
surreal loom
#

gotta fix the metallic map again but its in game

surreal loom
surreal loom
#

alright time to watch a movie and take a break.

-2x methalox tanks
-2x hydrogen tanks```
surreal loom
#

hm need to figure out a way to make these creases go away. i changed the UV map to something neater as spheres are really awkward to add anything resembling a square to

#

gonna need a different UV map

#

hmm

dreamy escarp
#

or better

surreal loom
#

ill show you what i did in just a second

#

its amazing

dreamy escarp
#

these lines being the seams

surreal loom
#

remapped it and make it as flat as i could make a sphere

dreamy escarp
#

well that can work, the problem is warping

surreal loom
#

yeah

#

fortunately the bottom is where it attaches

dreamy escarp
#

you should make a seam where you know theres gonna be texture changes in the texture

surreal loom
dreamy escarp
#

make a seam here

surreal loom
#

interesting idea

dreamy escarp
#

so you have more detail on the top part

#

since thats the PoI

surreal loom
#

that way it's split into two sections and you can tell which is which, also reduces warping

#

the warping is what im trying to fix

dreamy escarp
#

see?

surreal loom
#

so in the 3d view it looks fine, in game it was warped and i was confused. THEN i looked at the map and iwas like "son of a"

dreamy escarp
#

are u gonna add such details to the top portion?

surreal loom
#

no

#

top portion is just foil

#

bottom has the details

dreamy escarp
#

then its ok to leave the top portion warped

surreal loom
#

which is ironic

dreamy escarp
#

do that seam that i told you and it will work

surreal loom
#

good point

#

sweet

#

appreciate it

dreamy escarp
#

and unwrap it as a rectagle

#

so you migh want to also add a vertical seam on it

surreal loom
#

i was looking at maps of earth to figure out how to unwrap a sphere lol

dreamy escarp
#

lmao so the whole "which earth map is better"

surreal loom
#

for real lol

#

theres a lot of ways to unwrap a sphere lol

dreamy escarp
#

let me get how the game unwraps the sputnik a sec

#

but i guess it wont be much help because they have an uniform color, so its ok to have seams

surreal loom
#

hm

#

this is simply so it looks better as i noticed warping

#

otherwise this fuel tank woudl be done

#

hm

#

so now i just need to make the bottom a square

#

nailed it @dreamy escarp

dreamy escarp
#

that works

#

you can place them better tho

surreal loom
#

hm

#

as far as using the space better?

dreamy escarp
#

yeah, wait i'll draw

surreal loom
#

ok appreciate it

#

finally starting to understand why uv maps are so important and how to actually do them

dreamy escarp
surreal loom
#

ah

#

that is better nice

#

thanks lux!

dreamy escarp
#

you gotta think that, the bigger something is the mroe detail it will have

#

and im ghessing the big rectagle is the sphere, so you want loads of detail there

surreal loom
#

never thought of that

#

but thats true

dreamy escarp
#

also, it being small doesnt mean that it will be blurry, cuz you're working with 4k textures

#

so its a bit hard for things to get blurry xD

surreal loom
#

its just a game of getting the rectangle as close to the edges as possible now

#

thats true. this is 4096

dreamy escarp
surreal loom
dreamy escarp
#

edges sometimes can look wierd after compressed

#

heh i mean thats good, i'd maybe leave a bit more

#

not much

surreal loom
#

how sthat?

#

a bit more for the top one

#

so somewhere between this

dreamy escarp
#

thats good

surreal loom
#

think this is pretty solid

dreamy escarp
#

It is!

#

theres a bit more to it than just resizing and stuff

#

but thats a bit more complex, mostly textel density and uv direction

#

but if you're just texturing you shouldnt worry about that

surreal loom
#

it gets more complex than that??

#

good lawd lol

#

hm

#

well

#

its the material thats making it do that hm

dreamy escarp
#

its not!

surreal loom
#

f

dreamy escarp
#

i mean it is the material but its not the material's fault

surreal loom
#

its how its wrapping itself on it?

dreamy escarp
#

in these cases

surreal loom
#

usually changing this and tweaking things fixes stuff

dreamy escarp
#

you can tinker with that too

#

but its not guarateed

surreal loom
#

i could just detail those

dreamy escarp
#

there's still the seams see?

surreal loom
#

and make it look like its part of the design

dreamy escarp
#

what i'd advise is to add

#

weld lines

surreal loom
#

thats waht i was thinking of doing

dreamy escarp
#

onr something similar

#

theres really no way around that

surreal loom
#

nope

#

its all good

#

easy fix

dreamy escarp
#

unless you draw the normals and ocolor by hand

surreal loom
#

nope

#

haha

dreamy escarp
#

which is not impossible but AsukaDead

surreal loom
#

yeah maybe down the road

#

for now im good with it

#

best UV map ive made so far i appreciate the wisdom and the help

dreamy escarp
surreal loom
#

might need to make that weld darker

dreamy escarp
#

i like it

#

also

#

blend it better

surreal loom
#

or maybe a bit greenish/blusih

dreamy escarp
#

what ull do is

surreal loom
#

how would i blend it better?

dreamy escarp
#

add a whitemask to that lauer

#

click on the mask

surreal loom
#

thats the nails layer

dreamy escarp
#

to the layer that the foil is on

surreal loom
#

thi sis the layer that has the welds

dreamy escarp
#

the metal foil layer

surreal loom
dreamy escarp
#

right click on the layer and white mask

surreal loom
#

k

dreamy escarp
#

then you click on the mask

#

and paint black near the seam

#

basically this will say to the layer "Dont apply here"

#

you can use ie .5 on the brush to say "only apply 50% here"

surreal loom
#

so instead of all the way black just set it to .5

dreamy escarp
#

i mean you dont have to set to what i told!

#

you'll have to blend

surreal loom
dreamy escarp
#

so you'll probably have to create a gradient between black and white

#

black being on the seam

surreal loom
#

so im adding a gradient to the layer

dreamy escarp
#

no! dont add a gradient

#

im pretty sure it wont work

surreal loom
#

oh

#

no worries

dreamy escarp
#

you have to draw the gradient yourself

#

with the brush

#

what you can do is

#

change the brush opacity to .1 (or 10% i dont remember what the brush uses)

#

and set the brush color to black

#

and do several passes until it looks ok

surreal loom
#

hm ok

dreamy escarp
#

you can even hide the weld to see if it looks ok w/o it

surreal loom
dreamy escarp
#

it might even solve your issue

#

more like this a sec

#

what material are u using?

#

just so i can recreate in substance

surreal loom
#

ill send it to you

dreamy escarp
#

that works too

surreal loom
#

want the fbx as well

#

since the map is way different than what you had

dreamy escarp
#

i think i do need it

#

but let me see

#

yeah! pls

surreal loom
#

lemme know once you download it so i can delete that

dreamy escarp
#

downloaded!

surreal loom
#

sweet

dreamy escarp
# surreal loom

can't seem to import this, what material u used to make that foil look?

#

i can just drop it here, doesnt need to be exact

surreal loom
dreamy escarp
#

i dont seem to have that AsukaDead

#

i think you can export it

#

or better

#

rightclick, show in explorer

#

send me that

surreal loom
dreamy escarp
#

ok a sec i'll record it

surreal loom
#

k

#

dangit

#

i forgot to bake the mesh

#

im baking the msh right now

dreamy escarp
#

so, basically, by doing several passes above, with diffrent brush sizes, you can make a gradient

surreal loom
#

hm

#

which is really just blending?

dreamy escarp
#

pretty much,

#

i couldve used that word yeah AsukaDead

surreal loom
#

lol

#

i get it

#

doing it now

#

appreciate the quick tutorial

dreamy escarp
#

you can barelly see the seam

surreal loom
#

do you have any youtube people you'd suggest watching that cover substance painter?

dreamy escarp
#

only on the parts that i didnt blend obviously lmao

#

no AsukaDead

#

most of my substance painter knowledge comes from photoshop knowledge

#

photoshop and basic image editing knowledge

surreal loom
#

nice

#

again, thank you for all the help

dreamy escarp
#

np :D

#

also if you change to the height map

#

you can see what ur doing better

surreal loom
#

lol

dreamy escarp
#

ideally you want the seam to be at 0

surreal loom
dreamy escarp
#

yup!

#

ideally the seam should be completly transparent

surreal loom
#

thats without the "weld"

dreamy escarp
#

yeah, you should work on it w/o the weld

#

thats about .5 height i think

surreal loom
#

im only changing the stroke opacity right?>

dreamy escarp
surreal loom
#

i gotta finish watching the video

dreamy escarp
#

this is what 0 looks like

surreal loom
#

OHH

#

this makes sense

dreamy escarp
#

i used the same opacity throuout the video

surreal loom
#

its like making a layer transparent in photoshop

dreamy escarp
#

but you can change it

#

Yeah pretty much!

surreal loom
#

ahh i totally undrestand now what im trying to achieve

dreamy escarp
#

all your photoshop knowledge applies here!

#

hts the same thing, but in 3D

upper summit
#

Imagine knowing photoshop instead of having minimal knowledge in GIMP

surreal loom
#

very drastic but yeah

#

correction: i use gimp not photoshop

#

put that in your pipe and smoke it

dreamy escarp
#

xD

#

well now blend it

surreal loom
#

thats not what i expected

dreamy escarp
#

the wled is still on no?

surreal loom
#

no weld

dreamy escarp
#

Ah i see

#

thats from my smart material

surreal loom
dreamy escarp
#

you need ot hide

surreal loom
#

so turning off the metal foil thats what i see

dreamy escarp
#

the one above the height map

#

iirc

#

i cant recall the name

surreal loom
#

grunjge

#

i see

dreamy escarp
#

that!

surreal loom
dreamy escarp
#

it takes whats in the weld and adds roughness to the edges

surreal loom
dreamy escarp
#

now thats because of the other materials on your layers

#

they also change height and normal

surreal loom
dreamy escarp
#

which is what's making your part look diffrent in that region

surreal loom
#

this is the only layer on now

#

oh

#

do i need to change the color of this layer since it has a whitemap?

#

no

dreamy escarp
#

no!

surreal loom
#

its not even using the color thing

dreamy escarp
#

a sec

#

this is what i have on my metal foil

surreal loom
#

ah that expalins a lot then

dreamy escarp
#

it might not be your problem tho, lets see

surreal loom
dreamy escarp
#

you deffinetly sill have something altering your height

#

disable taht too

#

check if it will be awhite smooth ball

surreal loom
dreamy escarp
#

disable the metal foil layer

#

oh ok xD

#

yeah hmm wierd

#

do something

#

enable it

#

and paint with 100% opacity on the seam

#

with black

surreal loom
#

no more seam

#

nice

dreamy escarp
#

yeah

#

the problem is that it wasn't at 0 on the seam

#

what i'll advise you to do is

dreamy escarp
#

and paint with white

#

to blend

#

so basically you'll do the inverse

#

also you can enable the other layers (except the weld and grunge)

surreal loom
#

i see

#

i need to keep the seam zero'd out

#

and work around it

#

not on it

dreamy escarp
#

yes!!

#

thats the key

#

the seam has to be at 0

#

or close enought to where you dont see any height diffrence

surreal loom
#

so basically doing this until it looks nice

dreamy escarp
#

sure!

#

you can add some variation with smudge

surreal loom
dreamy escarp
#

so that it doenst look so uniform

#

with a bit of work i got to here

surreal loom
#

sheesh

dreamy escarp
#

didnt blend everything, just a small portion

#

this comes mostly to how much work ur willing to put on it

surreal loom
#

just shining balls

dreamy escarp
#

remember that these parts dont get looked at this close

#

lmao

#

so no need to be 100% perfect

surreal loom
#

i basically made the seam white and covered it with the weld

#

for now ill stick with the welds

#

but its good to udnrestand how to blend so i can do that with other fuel tanks

dreamy escarp
#

if you're gonna cover it with weld

#

you dont need it to be that perfect

#

the weld will hide it anyway

surreal loom
#

well this is kind of cool

#

i kinda like that the top isn't foil

dreamy escarp
#

yeah it looks cool

#

maybe change the color?

surreal loom
#

i thought about it but the bottom is bronze

#

hmm

surreal loom
#

yup. that thing where i mess up my layers KEKW

surreal loom
#

helps if you set the value of metallic to 1 LUL

dreamy escarp
#

i dont think that that part should have a top stack node

surreal loom
#

it doesnt

#

i added the new mesh to test things out before removing the working mesh

dreamy escarp
#

oh lmao

surreal loom
#

as a way to compare the two

#

i need to make it radially mounted though

#

thats for sure

#

still more to learn but proud of it

#

its not perfect and as i keep making more parts ill get better

#

i find it more fun to make parts and stuff than to play the game right now lol

#

itll change once we have science mode and other stuff

surreal loom
#

Halfway there!! Four tanks done, four to go!

#

to do:
-2x hydrogen tanks (small and medium)
-2x xenon tanks

#
Remote: Error: File FFT/addressables/StandaloneWindows64/defaultlocalgroup_assets_all_49877dee47fed53486878efcb00b0621.bundle is 356.86 MB; this exceeds GitHub's file size limit of 100.00 MB        
Remote: Error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.        
To https://github.com/cvusmo/FFT
Error: dev -> dev (pre-receive hook declined)
failed to push some refs to 'https://github.com/cvusmo/FFT'```

@upper summit do I need to use the Large FIle Storage thing?
upper summit
#

You can split up each part into its own bundle I think w/ addressables, but that isn't ideal

dreamy escarp
#

thus me not putting the addressable on github

surreal loom
#

ah

#

so you only add the addressables when you release and package it

#

good to konw

#

know

#

im making hydrogen tanks a small and medium that don't have shiny gold things.

#

thiknking of adding a nuclear symbol to them not sure

#

time for sleep

surreal loom
#

simple, the paint looks good hmmm

#

some more texturing to do and detailing but thinking of going with this for the small/medium hydrogen tanks

surreal loom
dreamy escarp
#

i like it

surreal loom
#

i thought it was be nice and subtle

#

not sure if i need to add anything in the primary paint area (red)

#

or keep it like that

dreamy escarp
#

do you make those in photoshop and then import?

surreal loom
#

nope

#

well here...

dreamy escarp
#

ah never used that

surreal loom
dreamy escarp
#

tbf never had to write anything on the parts

surreal loom
#

i wanted to add LH2 to the tank to signify that it's liquid hydrogen

#

so i did then i got the idea to add #leeks as a easter egg lol

#

two part: the tank leaks and obvs you know about the #leeks in ksp2

surreal loom
surreal loom
#

@dreamy escarp how did i screw up my paintmap?

dreamy escarp
#

it is not suposed ot be red

#

only 3/4 colors

#

blue, cyan, white and yellow

surreal loom
#

son of a beee

#

those are the two layers i was using to be painted

#

where did i screw up in my texture bake?

dreamy escarp
#

wait

#

ur using

#

detail+ to paint the paintmaps?

#

theres dedicated layers

#

on the group below that

#

you should paint on those

#

those layers are meant for height details

#

like the text u put

#

or any other extra detail that is not a nail or a metal edge

surreal loom
#

ohh

#

that explains that

#

so basically just use the paintmap Accent to paint the areas i want to paint

#

i keep forgetting little things

#

I know its simple. Thank you!

dreamy escarp
#

xD yeah its all labeled and ready

surreal loom
#

yup!

#

its super convenient

dreamy escarp
#

So that you dont have to change pretty much anyhting

surreal loom
#

i just overthink things and forget the little details

#

but learning so maybe one day ill know waht im doing lol

#

ta da. thanks. super easy i just forgot to use the paintmap correctly LUL

#

well its invisible. weird

#

weird. something in my addressables is broken af

surreal loom
#

I didn't setup the Module_Drag properly which is why it went invisible.

#

feel like the outer texture is off

#

the inside tank looks amazing

surreal loom
#

figured out what ill do

#

section it off into quadrants. add 2 deep lines, 1 top and 1 bottom. then add some hexagon bolts

surreal loom
surreal loom
#

got a lot done! feeling good

#

3x Methalox Fuel Tanks
1x Xenon Fuel Tank
3x Hydrogen Fuel Tanks

to do:
2x monopropellant
1x xenon

surreal loom
#

two smalls and one medium hydrogen tank

surreal loom
#

looks like this in Unity

#

but like this in game

dreamy escarp
#

check
Paint override metallic

#

on unity

surreal loom
#

ohh

#

this one?

dreamy escarp
#

should do it

#

you should almost always have that checked btw

surreal loom
#

done

#

double checking things to make sure then testing again

dreamy escarp
#

but now that i thnkni about

#

that shouldnt be the issue

#

hmm wierd

#

can you show me the textures?

#

also ahve u baked the maps?

surreal loom
#

yup give me a sec

dreamy escarp
#

hmm wierd it looks right

#

oh i see

#

i think

#

your uv unwrap is not optimal

#

yeah its most probably that

#

a sec i'll draw

#

look at the diffrence in porportions

#

in unity the engine doesnt have to compress your image so it looks ok

#

but once you export it via addressables it has to compress

#

you can mitigate that by removing the compression

#

let me just open unity to show how

surreal loom
#

it looks pretty decent?

dreamy escarp
#

if you paint the other areas?

#

the base paint i meant

surreal loom
#

thats all i have to do really is clean up the base paint

#

theres some areas that aren't painted fully that make it look weird. i may just add a weld to it

#

to add contrast between the top and bottom

dreamy escarp
#

oh

#

that

#

probably double check on substance painter

#

if they are fully painted

#

i thought the problem was another lmao

#

mb

surreal loom
#

just a few minoir touchups and its good to go

#

obviously as i keep doing this ill get better

#

but for now im happy with how it looks. i also need to get my attach nodes fine tuned

dreamy escarp
#

huh for those

#

i have to talk w cheese on a way to automate this

#

but just add points on blender

#

they'll export to unity

#

then you just have to copy their positions

#

how to remove compression

#

if you ever need

upper summit
surreal loom
#

Preparing for release!

surreal loom
#

'

quartz dagger
#

You’re a legend for finishing this in what, only a week? Respect💪

surreal loom
#

More tanks will come. I want to make 2 models for each fuel type with custom sizes and standard sizes

#

but in a week learned a lot and i think they're decent looking. i will need help identifying any issues. ie. how do they look in space, in the dark, any weird texture stuff you see, and how do they attach? (do they clip, hows the radially attach etc)

#

that way I can release 0.2.0 next Friday and fix those issues

#

Fancy Fuel Tanks DEVBLOG

quartz dagger
surreal loom
#

@dreamy escarp any advice? i was going to ask in CKAN but not sure how responsive they are

#

ohhh... this sob hasn't uploaded and i get

#

im working on getting it on spacedock and ckan but spacedock being weird

#

zero idea why its being dumb but well see

#

never uploaded a parts mod before so not sure if it works the same way

quartz dagger
surreal loom
#

Figured it out

#

now i just wait for 0.5 GB to upload

#

gonna lose my mind

#

I super compressed it

dreamy escarp
#

i dont know if it will look good in game

#

have u tested it?

#

that amount of compression will probably screw your textures

surreal loom
#

it worked

#

oh

#

hm

#

it worked but i didnt pay attention to textures

#

well f

#

are you able to download it off spacedock and export the file?

dreamy escarp
#

let me check

surreal loom
#

normal compressed file

#

f

#

so you said my textures are too big. theyre 4096x4096 in unity

#

do i need to make them 2048x2048?

dreamy escarp
#

you actually should lower the texture's resolution

#

I mean you dont need to

#

but the parts are small, they dont really need 4k textures i think

surreal loom
#

i get that

#

ill keep the 4k textures for my fun

dreamy escarp
#

you should look at their textel density

surreal loom
#

but i cant even upload the files right now

#

how do i check textile density?

dreamy escarp
surreal loom
#

oh lawd

dreamy escarp
#
Gumroad

with Texel Density Checker you can: Calculate Texel Density for model for different texture size (512px - 4096px) or with custom size and aspect ratioRescale UV for getting texel density what you wantUse Interactive Checker MaterialCopy TD from Active to Selected objectsVizualize Texel Density with Vertex ColorsVisualize UV Islands with Random V...

#

i dont recall what the KSP2 parts have but i think its somewhere around 300-500

#

small parts having about 350

surreal loom
#

so thats not polys?

dreamy escarp
#

basically its like

#

how many pixels are in each face of your mesh

#

if the face is small you dont need 1000 pixels on it

surreal loom
#

k

#

another question, it shouldnt have any issues uploading .5 GB to spacedock should it?

dreamy escarp
#

heh spacedock is a bit buggy with big files

#

i had to try about 6 times before i could upload the latest SORRY update

#

wich is 200mb

surreal loom
#

oh

#

thats gonna be a problem

#

for later mods

#

but by then we should hopefully have official support

dreamy escarp
#

tbf i dont know if its file size or what it is shrug

surreal loom
#

but imagining uploading KERN when its complete

dreamy escarp
#

gotta brief with Hebaru about it

surreal loom
#

no worries

#

damn

#

first im going to downsize these textures

#

do i want compression at None or High?

dreamy escarp
#

none means that it wont compress

#

so set it to high

surreal loom
#

GPU Instancing on/off?

dreamy escarp
#

dont worry about those

surreal loom
#

I have some set on and some set off

#

so ill turn them all off

#

ah that was it

#

490 MB with 4k textures

#

19.5MB with 512x512 textures

dreamy escarp
#

dont do 512

#

thats too low

surreal loom
#

no worries

#

1024?

dreamy escarp
#

2k

surreal loom
#

2k

#

k

dreamy escarp
#

your mod should go to about 150mb

#

or maybe a bit more

#

or maybe less? im not sure which one it will be

surreal loom
#

at lesat i can keep 4k on my pc lol

dreamy escarp
#

yeah lmao

surreal loom
#

even though its quite unnoticeable

dreamy escarp
#

later we're gonna add a way for you to distribute diffrent resolutions

surreal loom
#

but in my head it matters

dreamy escarp
#

for those who want

surreal loom
#

thats cool

#

again, i dont mind testing things out and helping make sure things work

#

i havent used the new KSP2 unity tools cheese gave me

#

i wanted to get this released first

#

then mess with it

#

whats nice is i make these textures at 4k so when they downsize they still keep a lot of their quality. if i make them in 2048x2048 and upscaled them it would be a bit weird looking

#

i guess majority of players play at 1080p or 1440p though

dreamy escarp
#

yeah thats what im saying

#

4k is really not needed

#

even in 4k monitors you barely see a diffrence

surreal loom
#

"not" needed

#

4k is always needed with my monster setup

#

LOL

#

again, this is just things in my head that make me feel better

dreamy escarp
#

sir

#

even 4k can show all the texture pixels

surreal loom
#

mixed with a very very horrible understanding of how textures work

#

so this week ive learned a lot about texturing

dreamy escarp
#

imagine this
You have a 4k monitor, The part occupies at most 500x500 pixels on the screen

#

xD

surreal loom
#

oh

dreamy escarp
#

if you zoom in sure

surreal loom
#

thats sad

dreamy escarp
#

but i dont think that ksp2 has such a zoom xD

surreal loom
#

ive got 3x 4k monitors 💚

dreamy escarp
#

😭

#

GIVE ME ONE

surreal loom
#

time to make a zoom mod

dreamy escarp
#

do u play racing games on it?

surreal loom
#

bro you deserve my setup the things you could make with it would be insane

#

i play a lot of sim games but mainly like microsoft flight sim, star citizen more flying than driving

dreamy escarp
#

well damn sure is worth it!

surreal loom
#

it is 100%

dreamy escarp
#

you cam probably see like 140º on the game right?

#

for those games it must be pretty helpful

surreal loom
#

but im also retired and wanting to learn how to do all of this so hopefuly modding leads to something part time down the road o rsomething idk im just happy and enjoying things

#

probably could if i wanted to

#

and if the game supported it

dreamy escarp
#

well, ur learning 3d modelling and programming so for sure you can have a part time with those

surreal loom
#

that would be cool but no rush. just wanna make dope mods for ksp2 for now and have fun learning all of this

#

down the road ill ask you for advic eon part time stuff but thats down the road

#

not bad at 2048x2048

dreamy escarp
#

see

#

on sorry, quite a couple of my textures are 2k

surreal loom
#

its insane the difference between 2048 and 4096

#

but i get it its literally 2x larger

dreamy escarp
#

if all of them were at 4k, with 11 parts, it would be like 800mb

#

Well

#

not 2x larger

surreal loom
#

roughly speaking

#

not sure what the exact scale is, what is it?

dreamy escarp
#

and you gotta remember that each pixel stores 4bytes of information

#

so its 4x more pixels

#

and i think 16x more information?

upper summit
#

Incorrect

dreamy escarp
#

please correct me cuz i dont know much about this lmao

#

OH WHAT THE FUCK

#

i just noticed

#

that what i searched

#

is not correct

surreal loom
#

lol

#

google is wrong

upper summit
#

4x more pixels because 4096x4096 is double in both directions and 4x more info because pixels directly correlate to info

surreal loom
#

ohh

#

so its actually 4x larger? makes sense because @ 2048 the file is .1GB and at 4095 file was .5GB

dreamy escarp
#

thx for the knowledge ma'am MisatoPray

surreal loom
#

cheese is a genius

dreamy escarp
#

she is indeed

surreal loom
#

wanting a script that will check the fuel level/change in mass to kick off the particle vfx to show it cooling and then turn it off

#
public class CoolingVFX_Module : MonoBehaviour
{
    public float Mass = 5.0f;  // maximum particle effect to trigger.
    public Transform Target;    // target object 

    public bool IsInRange()
    {
        if (Target == null) return false;
        // Compare the fuel to the target with the Mass of the rocket? How do I do that I've only found Vector3.Distance?
        return Vector3.Distance(transform.position, Target.position) <= Mass;
    }
}
#
public class ParticleController : MonoBehaviour
{
    public CoolingVFX_Module Module; // Reference to the module script.
    public ParticleSystem ParticleEffect; // Reference to the particle system.

    void Update()
    {
        if (Module == null || ParticleEffect == null) return;

        if (Module.IsInRange())
        {
            if (!ParticleEffect.isPlaying)
            {
                ParticleEffect.Play();
            }
        }
        else
        {
            if (ParticleEffect.isPlaying)
            {
                ParticleEffect.Stop();
            }
        }
    }
}```
upper summit
#

Why do a null check, in what cases can it be null?

surreal loom
#

I've just got in the habit to null check things because of Toggle Notifications

#

but the nullcheck would be pointless then? just wondinerg how i could make it check the fuel level as it changes

#

cause the point of it was to say "Hey check the mass and as it changes lets start the particle effect at 1 and scale it to 0. start at 1 when its 99% full and then when it reaches 80% full it reaches a value of 0."

#
using UnityEngine;
using KSP.Modules;

public class CoolingVFX_Module : MonoBehaviour
{
    {
    public float MassThreshold = 1000.0f;
    public Module_ResourceCapacities ModuleResource;

    public bool IsOverMassThreshold()
    {
        float currentMass = ModuleResource.GetMass(); 
        return currentMass >= MassThreshold;
    }
}
}

I get it. I need to access the actual module and then use it to check things. Now to figure out how the game tracks mass. Is it from the Resource Capacities Module or Core Parts Data? hm

surreal loom
#

@lunar peak have you found anything in the code that calculates the deltaV of components?

Specifically:

dV capacity
current dV
remaining dV
dV requirements

#

Basically, what is calculating the dV in the game?

#

I think it's obvious but not 100% SURE. I'm looing at the class DeltaVCalc

surreal loom
#

this is what i've come up with:

using UnityEngine;
using KSP.Sim;
using KSP.Game;
using KSP.Module;
using KSP.Sim.DeltaV;
using KSP.Sim.VesselDeltaVComponent;
using KSP.Sim.DeltaVPropellantInfo;
using KSP.Sim.DeltaVPartInfo;

public class CoolingVFX_Module : PartModule
{
    public const string COOLANT_NAME = "LiquidOxygen"; // Updated to actual coolant name

    private VesselDeltaVComponent vesselDeltaVComponent;
    private const float VFX_OFF_THRESHOLD = 0.8f; // VFX is turned off
    private float VFXIntensity = 1f; // Initialize VFXIntensity at full

    public override void OnStart(StartState state)
    {
        base.OnStart(state);

        if(state == StartState.Editor) return; 

        // find the VesselDeltaVComponent vessel.
        vesselDeltaVComponent = this.vessel.GetComponent<VesselDeltaVComponent>();
    }

    public void FixedUpdate()
    {
        if(vesselDeltaVComponent == null) return;

        // total mass of the vessel from the VesselDeltaVComponent
        double totalVesselMass = vesselDeltaVComponent.EngineStageSet.StartMass;

        // total amount of the coolant in the vessel
        double totalCoolantAmount = part.Resources.Get(PartResourceLibrary.Instance.GetDefinition(COOLANT_NAME).id).amount;

        //current fuel level
        float fuelLevel = (float) (totalCoolantAmount / totalVesselMass);

        // Update VFX intensity based on fuel level
        VFXIntensity = fuelLevel > VFX_OFF_THRESHOLD ? 1f : 0f;

        // totalVesselMass and totalCoolantAmount = update cooling VFX
        UpdateCoolantVFX(totalVesselMass, totalCoolantAmount, VFXIntensity);
    }

    void UpdateCoolantVFX(double mass, double coolantAmount, float vfxIntensity)
    {
        // Replace with actual logic to update the visual effects.
        Debug.Log("Updating cooling VFX with mass: " + mass + ", coolantAmount: " + coolantAmount + ", VFX intensity: " + vfxIntensity);
    }
}
surreal loom
#

hot damn i think i figured it out

#
public class ParticleController : MonoBehaviour
{
    public CoolingVFX_Module Module; 
    public PA.ParticleField.Samples.ParticleSystemToggler ParticleToggler; 

    void Update()
    {
        ParticleToggler.SetSystemOff(!Module.ActivateVFX());
    }
}
#
using UnityEngine;
using KSP.Sim;
using KSP.Game;
using KSP.Module;
using KSP.Sim.DeltaV;
using KSP.Sim.VesselDeltaVComponent;
using KSP.Sim.DeltaVPropellantInfo;
using KSP.Sim.DeltaVPartInfo;

public class CoolingVFX_Module : PartModule
{
    public const string FUEL_NAME = "LiquidOxygen"; 

    private VesselDeltaVComponent vesselDeltaVComponent;
    private const float VFX_OFF_THRESHOLD = 0.8f;
    private float VFXIntensity = 1f;

    public override void OnStart(StartState state)
    {
        base.OnStart(state);

        if(state == StartState.Editor) return;

        vesselDeltaVComponent = this.vessel.GetComponent<VesselDeltaVComponent>();
    }

    public void FixedUpdate()
    {
        if(vesselDeltaVComponent == null) return;

        double totalVesselMass = vesselDeltaVComponent.EngineStageSet.StartMass;
        double totalFuelAmount = part.Resources.Get(PartResourceLibrary.Instance.GetDefinition(FUEL_NAME).id).amount;

        float fuelLevel = (float) (totalFuelAmount / totalVesselMass);

        VFXIntensity = fuelLevel > VFX_OFF_THRESHOLD ? 1f : 0f;

        UpdateCoolingVFX(totalVesselMass, totalFuelAmount, VFXIntensity);
    }

    void UpdateCoolingVFX(double mass, double fuelAmount, float vfxIntensity)
    {
        Debug.Log("Updating cooling VFX with mass: " + mass + ", fuelAmount: " + fuelAmount + ", VFX intensity: " + vfxIntensity);
    }

    public bool ActivateVFX()
    {
        return VFXIntensity == 1f;
    }
}
surreal loom
#

@lunar peak I'm looking at manuever node controller to get an understanding of how to modify dV.

    Label NodeMaxIndexValue;
    Label TotalDvValue;
    Label DvRemainingValue;
    Label StartTimeValue;
    Label DurationValue;
    Label ProgradeDvValue;
    Label NormalDvValue;
    Label RadialDvValue;
    Label NodeTimeValue;
    Label OrbitsLabel;
    Label PreviousApValue;
    Label PreviousPeValue;
    Label PreviousIncValue;
    Label PreviousEccValue;
    Label PreviousLANValue;
    Label PreviousEncounterBody;
    Label PreviousEncounterLevel;
    Label PreviousTransitionStart;
    Label PreviousTransitionEnd;
    Label NextApValue;
    Label NextPeValue;
    Label NextIncValue;
    Label NextEccValue;
    Label NextLANValue;
    Label NextEncounterBody;
    Label NextEncounterLevel;
    Label NextTransitionStart;
    Label NextTransitionEnd;```

anything in here that would help me calculate the totalvesselmass?

 ```cs
private double GetTotalVesselMass()
    {
        double totalMass = 0;
        foreach (Part p in this.vessel.parts)
        {
            totalMass += p.mass;
        }
        return totalMass;
    }```
surreal loom
#

StageStartFuelMass(int stage) and StageEndFuelMass(int stage, double endMass = -1.0): These two methods calculate the start and end mass of the fuel in a given stage.

GetCurrentFuelMass(int stage): This function returns the current fuel mass for a given stage.

ResetStageFuelMass(int stage): This method resets the fuel mass for a given stage.

GetStageFuelMassItem(int stage, out DeltaVPartInfo.PartStageFuelMass partStageFuelMass): This function gets the fuel mass item for a particular stage and returns it as out.

CalculateMassValues(): This function calculates mass values for the vessel part.

CalculateStagingValues(): This method calculates the activation and decouple stages for the vessel part.

FindParentStageRecursive(IDeltaVPart PartRef): This function finds the parent stage recursively for a given part reference.

FindDecouplerParent(IDeltaVPart inPart, out IDeltaVPart decouplerParent): This function finds the decoupler parent of a given part reference.

JettisonInStage(int stage): This method checks if the part will be jettisoned in a given stage.

GetStageStartMass(int stage) and GetStageEndMass(int stage): These two methods return the start and end mass for a given stage.

The PartStageFuelMass class is a nested class which holds information about the fuel mass and resources of a particular stage for a vessel part.

The PartResources class is another nested class within PartStageFuelMass, which deals with managing and tracking the resources consumed at a particular stage.```
dreamy escarp
#

ohhh

#

nice

surreal loom
#

yeah sort of

#

CalculateMassValues is already calculated with VesselDeltaVComponent apparently

#
 private double GetTotalVesselMass()
    {
        VesselDeltaVComponent vesselDeltaVComponent = this.vessel.GetComponent<VesselDeltaVComponent>();

        if (vesselDeltaVComponent == null) return 0;

        double totalDryMass = 0;
        double totalPropellantMass = 0;

        foreach (var partInfoKeyValuePair in vesselDeltaVComponent.PartInfo)
        {
            DeltaVPartInfo partInfo = partInfoKeyValuePair.Value;

            totalDryMass += partInfo.DryMass;

            //  current stage of the part
            int currentStage = partInfo.ActivationStage;

            // current fuel mass for the stage
            DeltaVPartInfo.PartStageFuelMass partStageFuelMass;
            if (partInfo.GetStageFuelMassItem(currentStage, out partStageFuelMass))
            {
                totalPropellantMass += partStageFuelMass.StartMass; // or EndMass, depending on the context
            }
        }

        double totalMass = totalDryMass + totalPropellantMass;
        return totalMass;
    }```

I can't seem to calculate the mass as it changes during fligth though
surreal loom
#
using KSP.Iteration.UI.Binding;
using KSP.Modules;
using KSP.Sim;
using KSP.Sim.DeltaV;
using UnityEngine;

public class CoolingVFX_Module : Module_ResourceCapacities
{
    public const string FUEL_NAME = "LiquidOxygen";

    private const float VFX_OFF_THRESHOLD = 0.8f;
    private float VFXIntensity = 1f;

    [SerializeField]
    private ParticleSystem _coolingFX;

    public void FixedUpdate()
    {
        if (this.vessel == null) return;

        double totalVesselMass = GetTotalVesselMass();
        double fuelMass = GetFuelMass(FUEL_NAME);

        Debug.Log($"Total vessel mass: {totalVesselMass}");
        Debug.Log($"Fuel mass: {fuelMass}");

        float fuelLevel = (float)(fuelMass / totalVesselMass);

        VFXIntensity = fuelLevel > VFX_OFF_THRESHOLD ? 1f : 0f;

        UpdateCoolingVFX(VFXIntensity);
    }

    private double GetTotalVesselMass()
    {
        return this.vessel.GetTotalMass();
    }

    private double GetFuelMass(string fuelName)
    {
        double totalFuelMass = 0;

        foreach (Part part in this.vessel.Parts)
        {
            foreach (PartResource resource in part.Resources)
            {
                if (resource.resourceName == fuelName)
                {
                    totalFuelMass += resource.amount * resource.info.density;
                }
            }
        }

        return totalFuelMass;
    }

    private void UpdateCoolingVFX(float VFXIntensity)
    {
        if (VFXIntensity > 0 && !_coolingFX.isPlaying)
        {
            _coolingFX.Play();
        }
        else if (VFXIntensity <= 0 && _coolingFX.isPlaying)
        {
            _coolingFX.Stop();
        }
    }
}
#

Not sure if I'm doing it correctly. Two questions:

  1. Does it need to be an addressable in my Scripts?
  2. Anyone know how to get the current value of the vessels mass?

The goal is VERY simple:

private const float VFX_OFF_THRESHOLD = 0.8f;
private float VFXIntensity = 1f;

Then all it does is say "hey when the wetmass reaches 0.8 we turn the VFXIntensity off and it scales from 1 to 0 as the mass changes from 1 to 0.8

#

But I need sleep my brain is all foggy. I'll get back to working on this tonight

#

Any feedback would be appreciate ❤️

surreal loom
#

AYYY I think i have something very close to working. BUt i also may be doing this wrong.

lunar peak
surreal loom
#

I appreciate the response and FP and MNC are looking dope!

lunar peak
#

I don't think you need to calculate it, I think you need to find what to call where the game calulates it for you. Surely the game does need it, so surely it's there and that will be the right way to get it.

surreal loom
#

That's true. It's probably very simple and I'm going way too in depth on it

lunar peak
#

Have you taken a look at the ActiveVessel?

#

It has thigns like fuelCapacity and FuelPercentage, and totalMass.

surreal loom
#

I'll take a look at it after Leagues Cup and WWC

#

Also taking a break from looking at all the code. Weird going from unity back into an IDE to write C#

lunar peak
#

You can get the activeVessel with activeVessel = GameManager.Instance?.Game?.ViewController?.GetActiveVehicle(true)?.GetSimVessel(true); or possibly just activeVessel = Game.ViewController?.GetActiveVehicle(true)?.GetSimVessel(true);

#

These return an object that's type VesselComponent.

#

VesselComponent is defined in KSP.Sim.impl in the VesselComponent.cs file

surreal loom
#

That's what I was trying to use qas the VesselComonent 🤣

#

Overcomplicated it. But it makes sense. I'll mess around with it tonight and get it working. Thanks for the help!

surreal loom
#

@dreamy escarp what modules did you use when making LFO? I think its going to be very similar to that since I'm adding a particle effect to a part.

surreal loom
dreamy escarp
#

Bu try particle data or smth

surreal loom
dreamy escarp
#

i dont think they have a controller for amount of fuel

#

i'll deffinetly add one for LFO tho since the tank frost shader will need it

surreal loom
#

If yoy figure out how to do that before me please let me know 🙏 I've got a basic controller wrote to just make sure the particle effect stops after its duration reaches 0

surreal loom
#

In the VFXContextVariable, the context variables available are:

camera_distance
camera_view_direction
derived_effect_tint
derived_normalized_thrust
derived_normalized_thrustdistance
derived_raycast_distance
derived_situation
derived_total_explosion_potential
derived_vertical_deviation
env_atm_density
env_atm_temperature
env_biome
env_celestial_body
env_gravity
part_attachnode_position
part_attachnode_size
part_explosion_potential
part_fuel_quantity
part_relative_velocity
part_surface_area
part_surface_distance
part_temperature
vessel_distance_from_spawn
vessel_throttle
vessel_thrust_magnitude

For the VFXParameter, the parameters that can be modified are:

collision
color_over_lifetime
emission_burst
emission_rate_over_distance
emission_rate_over_time
gravity_modifier
limit_velocity_over_lifetime
shape_scale
size_over_lifetime
start_color
start_lifetime
start_size
start_speed
subemitters
trails
triggers```
#

^^^^--- this is VERY useful. I was able to create a decreasing exponential function to track the fuel quantity. we'll see if it works

surreal loom
#

hm. gotta tweak some stuff

#

good news is it does stop the particle effect from playing

surreal loom
quartz dagger
#

What category should the tanks be in? I cant seem to find them, even after reinstalling the mod about 5 times😅

dreamy escarp
#

check the mod status on SpaceWarp's mod list

quartz dagger
#

Alrighty

surreal loom
#

Is there something wrong with FFT?

haughty bough
#

I couldent find them either @quartz dagger

#

@surreal loom can't seem to find your parts

#

Not showing up

surreal loom
#

Somehow v0.1.1 only had the addressables. Basically half the mod was missing in 0.1.1

#

now they're all present

haughty bough
#

Cool will try again

dreamy escarp
#

thats

#

not right sir AsukaDead

surreal loom
#

wait one

#

yeah i just noticed it

#

sorry i havent slept

dreamy escarp
#

lmao all good

#

also dont ship your pdb with the mod

#

i mean you can but its of no use to the player

marsh cape
surreal loom
#

yeah i saaw

surreal loom
marsh cape
#

these tags

surreal loom
marsh cape
#

on ckan I approved the mod without the tags.

surreal loom
#

ohh

#

im prepping v0.1.2

#

pushing it to spacedock now

#

sorry for screwing that up

haughty bough
#

No problem look forward to useing these ty for the mod

surreal loom
#

Happy to be making it. I'll be adding a lot more to the mod. Friday 0.2.0 will come out which will add a cooling VFX to the fuel tanks

#

its uploading on spacedock now but you can go to git and just download the .zip file

#

That's what I get for going a few days with 4 hours of sleep lol

sick dagger
#

File Explorer no likey windows

surreal loom
#

what do you mean?

sick dagger
#

My task bar broke and file explorer is killing itself

surreal loom
#

weird

sick dagger
#

IT STARTED

#

ive never missed this thing more

surreal loom
#

@haughty bough & @quartz dagger when you install the mod, please take a screenshot in the OAB and post it here so I have peace of mind that its actually working

#

i appreciate it and thank you for letting me know

#

In the VFXContextVariable, the context variables available are:

camera_distance
camera_view_direction
derived_effect_tint
derived_normalized_thrust
derived_normalized_thrustdistance
derived_raycast_distance
derived_situation
derived_total_explosion_potential
derived_vertical_deviation
env_atm_density
env_atm_temperature
env_biome
env_celestial_body
env_gravity
part_attachnode_position
part_attachnode_size
part_explosion_potential
part_fuel_quantity
part_relative_velocity
part_surface_area
part_surface_distance
part_temperature
vessel_distance_from_spawn
vessel_throttle
vessel_thrust_magnitude

For the VFXParameter, the parameters that can be modified are:

collision
color_over_lifetime
emission_burst
emission_rate_over_distance
emission_rate_over_time
gravity_modifier
limit_velocity_over_lifetime
shape_scale
size_over_lifetime
start_color
start_lifetime
start_size
start_speed
subemitters
trails
triggers```
haughty bough
#

@surreal loom yup all good

surreal loom
#

Awesome!

#

enjoy! let me know any weird things you find as i know there's probably some issues with the attach nodes or something

haughty bough
#

Will do

quartz dagger
surreal loom
#

That's my secret. I'ma lways home

#

i was going to sleep but here i am working on the particle system kekw

dreamy escarp
#

Cvusmo can you later give me some insight on what controllers you want?

#

ie
Total Fuel amount
Total Mass
Fuel Type

#

for the particle system

surreal loom
#

yup brain is thinking

#

ive got a creative way thats working

#

here

#

it's not perfect but it does scale it down via time

#

but instead of time i want to scale it to stop the particle effect when the fuel reaches 0.8 out of 1

dreamy escarp
#

look you can do that with ur current setup

surreal loom
#

so the scale for the Cooling VFX is 1 to 0. 1 when Fuel is at 1 and 0 when Fuel is at 0.8

#

thats what i was thinking i could do

#

just learning how these all work in unity

dreamy escarp
#

the curve should be 1,1 0.8,0

surreal loom
#

and ive looked at module_cooling but hard to tell how itll work. i assume itll use radiators primarily

#

ohh

#

so i need to make that curve match what im wanting

dreamy escarp
#

exactly

surreal loom
#

is emission_rate_over_time correct?

dreamy escarp
#

tue curve says
at 100% of fuel i want 100% of opacity

#

tbf idk

#

then at 80% fuel
i want 0% opacity

#

1,1
0.8, 0

surreal loom
#

In the VFXContextVariable, the context variables available are:

camera_distance
camera_view_direction
derived_effect_tint
derived_normalized_thrust
derived_normalized_thrustdistance
derived_raycast_distance
derived_situation
derived_total_explosion_potential
derived_vertical_deviation
env_atm_density
env_atm_temperature
env_biome
env_celestial_body
env_gravity
part_attachnode_position
part_attachnode_size
part_explosion_potential
part_fuel_quantity
part_relative_velocity
part_surface_area
part_surface_distance
part_temperature
vessel_distance_from_spawn
vessel_throttle
vessel_thrust_magnitude

For the VFXParameter, the parameters that can be modified are:

collision
color_over_lifetime
emission_burst
emission_rate_over_distance
emission_rate_over_time
gravity_modifier
limit_velocity_over_lifetime
shape_scale
size_over_lifetime
start_color
start_lifetime
start_size
start_speed
subemitters
trails
triggers```

thats everything i could use
#

can i add a second curve intot he function?

dreamy escarp
#

huh

#

depends

#

you probably cant

#

´but idk how the vfxparameter system works

surreal loom
#

or like this?

dreamy escarp
#

that means that

#

at 0.8 it will show 0.8 opacity

surreal loom
#

i really like the ksp.vfx stuff, very convenient

#

oh so this is adjusting the opacity of the vfx

dreamy escarp
#

i mean i think it is

#

i havent messed with that

#

im talking from experience with the curve system

surreal loom
#

i trust you always

#

how my brain is looking at this is that i need to decrease the curve downward to decrease the fuel level

#

so it scales and says "okay when the fuel is here."

#

so now i know what the coordinates are for, time and the value of fuel quantity

dreamy escarp
#

or the other way around, but i think its the way you said

#

but yeah, the coordinates dont necessarely mean what it says there xD

surreal loom
#

so value is the x axis, and time is the y

dreamy escarp
#

yup!

#

its like any other function

#

but unity calls it time and value cuz its mostly used for animations

surreal loom
#

i went with time = 10

#

should i just set t = 1?

dreamy escarp
#

probably

#

usually things are from time 0 to 1

#

aka normalized time

surreal loom
#

obviously dont want a linear function

dreamy escarp
#

move these handles

surreal loom
#

f(x) = x(1/2)... i think thast the function i was thinking of

#

its not saving the curve

#

oh i see

#

okay this is cleaner

surreal loom
#

now to setup a trigger

#

hm

#

In the VFXContextVariable, the context variables available are:

camera_distance
camera_view_direction
derived_effect_tint
derived_normalized_thrust
derived_normalized_thrustdistance
derived_raycast_distance
derived_situation
derived_total_explosion_potential
derived_vertical_deviation
env_atm_density
env_atm_temperature
env_biome
env_celestial_body
env_gravity
part_attachnode_position
part_attachnode_size
part_explosion_potential
part_fuel_quantity
part_relative_velocity
part_surface_area
part_surface_distance
part_temperature
vessel_distance_from_spawn
vessel_throttle
vessel_thrust_magnitude

For the VFXParameter, the parameters that can be modified are:

collision
color_over_lifetime
emission_burst
emission_rate_over_distance
emission_rate_over_time
gravity_modifier
limit_velocity_over_lifetime
shape_scale
size_over_lifetime
start_color
start_lifetime
start_size
start_speed
subemitters
trails
triggers```
surreal loom
#

prepping a hotfix. 0.1.4 >>> making fuel crossfeed an option on all fuel tanks instead of setting it so it's not an option to crossfeed.

surreal loom
# upper summit

Is the shader the same shader that lux made, just now part of KSP2 unity tools?

upper summit
#

Idk atm, ask lux

surreal loom
#

It looked like it I just wanted to make sure. Uhhh as far as this script to autogenerate attach nodes, when I use it my core part data looks like this:

surreal loom
#

@upper summit / @dreamy escarp

upper summit
#

Ohh yeah, luxstice ran into that yesterday

surreal loom
#

ahh okay. i was like "its missing the gizmo thing. weird"

upper summit
#

Wait ... yeah the assembly definition is messed up somehow

surreal loom
#

after i auto generate, nothing is actually generated for attach nodes:

upper summit
#

I tested both of these on my machine lol

surreal loom
#

lol

#

i trust you i just wanna make sure i understand how it works and if im doing something wrong because 99% sure its user error

#

but in the odd chance that something is amiss, i wanted to let you be aware

upper summit
#

I think I know the issue

dreamy escarp
upper summit
#

Its the attachnode script being under the same thing as all the editor tools, as thats meant to be an editor assembly

#

Dont know why it didnt yell at me though

surreal loom
#

its just in the KSP2UnityTools in hierarchy

upper summit
#

Alright gimme a few mins to do something

surreal loom
#

appreciate it cheese!

upper summit
#

@surreal loom can you click the game asmdef and screenshot the inspector for it?

surreal loom
upper summit
#

That seems correct

dreamy escarp
#

might be the script not being in the editor folder

dreamy escarp
surreal loom
#

i can move it and see

upper summit
surreal loom
#

thats from when i just moved it. testing the one you just sent cheese

upper summit
#

When do you get this error by the way?

surreal loom
#

when i go to build BUT now its working. its buillding

#

when id go here to do a new build it threw the error but the one you just sent me worked and built it

upper summit
#

I literally just made a new assembly definition thats it

dreamy escarp
#

what was it ma'am?

#

oh wtf?

surreal loom
dreamy escarp
#

new asmdef references ig?

upper summit
#

Yeah, I made an editor specific one in the editor folder

dreamy escarp
#

ah, fair

upper summit
surreal loom
#

i dont even know what an asmdef ref is

upper summit
#

@surreal loom does it generate the attach nodes as well?

surreal loom
#

no thats whats weird

upper summit
#

wait, how does your part hierarchy look?

surreal loom
upper summit
#

Alright and which one of those has the AttachmentNode script on them

surreal loom
#

all of the models have the AttachmentNode script on them (i think) i havent put the actual script ON them. so i may be doing that wrong

#

all i did is import the package, and then click auto generate attachnodes

#

save the new json etc

upper summit
#

Wait...

#

Did you not add any components to the gameobjects that represent the attachment nodes?

surreal loom
#

thats what ive always had on the models (well adding the VFX stuff now)

#

and the gameobject that had teh attachment nodes was the collider

upper summit
#

Cuz my testing looks like this, with top and bottom being empty game objects with the script on them

surreal loom
#

ohh

upper summit
#

example

surreal loom
#

well, the parent of the parts CV401 is what had the attachment nodes

#

so the top/bottom/srfAttach were part of that gameobject

#

in the core part data

upper summit
#

you need to have empty transforms/gameobjects for the attachment nodes

surreal loom
#

thats pretty cool

#

as a child of CV-401?

#

or child of model?

upper summit
#

either works

#

it can recursively search

surreal loom
#

thats cool

upper summit
#

so yeah, user error

#

I didn't explain well enough though

surreal loom
#

all good. i had feeling i wasnt doing it correct but in the odd chance something was wrong wanted you to be aware

#

appreciate the help. this is pretty cool

dreamy escarp
#

cheese

#

idk if you know enought from blender

#

but i think we can make it so that it exports from blender the nodes

#

idk how to do it either

#

but it would be way easier for artists as well

#

i can look into it

upper summit
#

there is way too much information that goes into a node for that

dreamy escarp
#

i say this cuz its easier to get it pixel perfect on blender since you can get the median point of various vertexs

surreal loom
#

so the corect steps looks like this:

  1. add the gameobjects for the attach nodes
  2. click autogenerate
dreamy escarp
upper summit
upper summit
dreamy escarp
#

you only need the Node ID, Node Symmetry group, and thats pretty much it

dreamy escarp
#

its just an extra helper tho

#

just food for though, cuz i am thinking of making a blender addon

#

liek what KSP1 has for .mu files

upper summit
#

#1090450560114761749 btw

dreamy escarp
#

mb AsukaDead

upper summit
#

And @surreal loom when you add the script, if you have attach node gizmos turned on, you should see the attach node while selecting the gameobject

surreal loom
#

neat

#

only comment i have for future features for this is to add the Module_ToggleCrossfeed so instead of Crossfeed being automatic for a fuel tank, it can be switched on/off by players

dreamy escarp
#

well

#

thats beyound KSP2UT

surreal loom
#

not sure how that would look or work, but i have to uncheck the Crossfeed and then add the module. thats what ive figured out, though there may be a way to do it better idk

#

im gonna double check the attach node and where it auto generated them lol

#

i must have done something wrong again. hm

#

ill get working on this later on today