Mod articles
-
hi, another article.
i just added disable bone for someone using it.
name = "bone name"
note)
if you want some armor bone disable, you should check your armor bone name.
like this.
the armor bone name maybe different what you want disable.
dont care about "hdtSSEPhysic_~~"
you need only "r 6", "l 7" things
note*-----------------
if you using "smp wind_reload" and apply disable.
Re-equip your gear.
... -
hi, another article.
this time i added rotation things.
I made it a bit nasty but it doesn't seem to work as well as I thought.
also, you need thinking about like another function :)
Mathematically, you can think of the product as the product of the cross product and apply the force to the rotation.
for those who are not familiar with mathematics, this picture may be helpful.
umm...... i not much say... seems better to know what the vector cross product is.
google is your friend :)
max , min is max/min.
rotation-inc is rotation vector change interval per each frame +/-.
start at {0,0,0} -> 1 frame after -> {1,1,1}
if hitting max it going to (-).
if hitting min it... -
hi, i added some console command for make the wind easier to setting.
opem console( ` (~) )
Command list
smp wind_reload -> reload wind configs
smp wind_bone_list -> the bone affect wind list (apply list / not apply list both print)
smp weather_formid -> print current weather formid
smp weather_class -> print current weather classification
bKBW2uh4RZI... -
hi, another article.(1.005)
this one is easy, i hope
if you using wave function, you know what's problem.
perfectly on the line of x, y, z, the same wind force apply.
it will fix this problem with tag tag tag tag tag tag ....
if you correctly understand wave function, this one maybe not problem.
simply, i added a hidden property that can be configurable
but its not 3D its 2D, so i added z.
you can easily imagine the wave is just transform to box shape.
I thought a lot about how to act on the z-axis, but in the end I decided to make something similar to height acc for consistent functions.
you can ignore Z-axis if you want.
for someone want use z-axis, this picture may help
don't mind m... -
hi, another article.
just added wave padding.
guess most people need this.
base form is same.
copy - paste - rename head.
also, i added this.
if wave-only is On(1), skip the pre-calculation and only wave apply.
also, nomally process is mul -> padding
if On, padding is first, mul is second
Xm476ghLAGU... -
hi, this article is just chat.
I just returned home and opened the code window and i really excited.
the perfectly lazy code just show up, and i want share this thing.
code is really lazy but viewing this is looks amazing.
the reality of wind code :))
the wind class has ONE DATA UNION SET.
this is the real.
the wind_data when start at first, its very low size.
and i dont want to something additional task.
so, i just make this idiotic lazy dat-set.
i very excited when look wind_data union.
start of wind_data is just 10~20 member, maybe 60~160 byte.
now i got 1200 byte guys.
dont worry about array, it can usable if you ignore array index warning.
if someone look this code, maybe laugh and ... -
wind stting is using HDT SMP configs.xml ( SKSE\Plugins\hdtSkinnedMeshConfigs\configs.xml )
(i recommend notepad++)
i will only explain "wind stuff".
Others can be found on other sites or mod pages.
also about syntax, i recommend see the example xml and open - copy paste.
cause syntax error is common error and wind's tag is a lot.
also this is basic, The parts that need math stuff or uptated function are available in the article. (also i linked description)
<wind> tag have special tag
<weather-wind-enable>
<weather-classification-wind-enable>
<weather-check-interval>
these 3 tag is only show up in <wind></wind> tag, others same.
�... -
hi, another article.
this one is easy
i added height acelerator.
this is base form
looks weird but its correct form
dont mind x/100000, it just example.
i checked as i can the Z height of world.
and i get somethings crazy number.
40000 is the highest place as you know.
-15000 is the lowest place i can checked.
so, function should crazly long-long.
so, i used e.
(float)
tip)
20,000 is whiterun if i correctly remember.... -
hi, another article.
this is base form of wave
as you can see, the tag is many many in wind.
but this function tag is 12*3, not to much just 36, dont worry i will explain.
wave function simply do send wave each Axis(x,y,z).
it actually multiplication wind power.
but why is this wave ?
now you need some power of math thinking.
this function argument is bone's Axis, this mean it location base wind multiplicaiton.
maybe at this timming some Smart Skyrim users will realize.
this is world wave and it apply each bone Axis
thinking wave in no resist space.
how look like ?
it constantly some kind like sin function look.
like fluid it wave wave wave over over again.
that's the this fu... -
hi, another article
untill 1.002. wind base behave is fixed and i know some people maybe hate this form.
this is base form of wind behave
for someone want change base wind behave, i added aditional tag.
before show you, base wind behave math function is changed.
to this....
total 6 tag added :)
to chagned this mean, you should setup base wind behave.
if not behave is 1.002 base form.
and you should know this
how you setup apply-wind-time, the function use this as 0~1.
so, dont care about other value.
you need only function output.
(float)... -
i added irregular accelerator things... the name may not be obvious.
this things post random accelerator(mul) with random argument things, it use math fuction.
(note*) -----------------------------------------------------------------------------------------------
it generate every each bone, so "bone1 ia =/= bone2 ia".
this mean the function do make wind directional irregular multiplication.
-----------------------------------------------------------------------------------------------------------
(base form of the function)
you can easily imagine what argument is what value using.
example )
ia-sin-mul = 2
ia-cos-mul = 5.8
ia-mul = 0.3
ia-plus = 1
if you need draw s... -
16MdvpFzODA
random padding option is padding wind force to each bone.
maybe it's look weird but its what i want.
... -
in wind, i added random class.
since make this first time the plan is constexpr random and save data about random and pick up when need it.
but random cost is very low.
each random generate is 41 asm , it's very low cost if know you random generate number things.
also other random generate code also not much high cost, but thinking about single core it very important.
collide and force is should processing 1/60 each time.
if random generate or other processing is high cost, it will be problem.
so, what's the point this post ?
idk, just you should know about random things if your processing problem(lag or something).
41 opcode every 1/60 time * your bone number maybe slow down your computer.
but (41 * 60 * x) is very low, if ...