South8028 Posted June 13, 2023 Share Posted June 13, 2023 Kziitd made some anims for me, and in our testing we found that scaling is well possible. Especially, scaling to 0 in 1 Frame was instant and the actor completely vanishes.The issue with that was however that the actor gets kind of locked at scale 0. Sometimes, moving them brings them back to 1, but I found that only disable/enable does so reliably.So we instead scaled to 0.001 in 1 Frame and that works. However, the scaling process is clearly observable with 0.001 (you can see the actor shrink or grow back), even though its just one Frame.Also, scaling and moving at the same time seems to confuse the absolute heck out of the engine: The actor just stays in place and kind of shrinks and tries to grow at the same time. It looks very funny. I was looking for furniture anims (idle/exit) that move an actor to +128 in x axis and scale it to 0.001 (idle anim), respectively scale it back to 1 and move it back to 0 on x axis (exit anim).The movement must be instant and scaling should be instant, but can be sequenced. ie: movement first, then scale / scale, then move. Was wondering if you could give it a try?If the scaling is stored in hkx, then there shouldn't be a problem. The problem you have with kziitd is most likely that in order to scale the root, you need to separately switch the Set Tangents plot to Stepped. First you need to do a normal animation with a line graph, then switch the graph to Stepped and animate the scale. Accordingly... 1 animation. Entry animation... From what coordinates does the actor start moving? 0,0,0? Next, the actor should turn to the X axis and take 2 steps (128) along the X axis? (Or does the rig have to be pre-oriented along the X axis?). After taking 2 steps in X, should the actor change the scale to 0,0,0, or values close to 0? Did I understand everything correctly? Link to comment Share on other sites More sharing options...
niston Posted June 13, 2023 Share Posted June 13, 2023 The goal is to make it appear as if actor opens a door and then vanishes, when it actually enters the furniture. When it exits the furniture, it shall reappear, just as if it had emerged from a door. I use the vanilla door open animation as entry anim.For idle animation, the actor starts at 0,0,0 in standing position, and should instantly zap to forward position (+128 units). then scale to 0.001.When idle gets played multiple times by engine, actor will probably move back to 0,0,0 and zap to +128 again. But it should not matter because its scale is 0.001 and it can't even be seen.For exit animation, actor scale shall return to 1 and zap back to standing at 0,0,0 position. then exit animation ends. By zapping I mean instantly, with no visible walking or anything. Link to comment Share on other sites More sharing options...
South8028 Posted June 13, 2023 Share Posted June 13, 2023 (edited) The goal is to make it appear as if actor opens a door and then vanishes, when it actually enters the furniture. When it exits the furniture, it shall reappear, just as if it had emerged from a door. I use the vanilla door open animation as entry anim.For idle animation, the actor starts at 0,0,0 in standing position, and should instantly zap to forward position (+128 units). then scale to 0.001.When idle gets played multiple times by engine, actor will probably move back to 0,0,0 and zap to +128 again. But it should not matter because its scale is 0.001 and it can't even be seen.For exit animation, actor scale shall return to 1 and zap back to standing at 0,0,0 position. then exit animation ends. By zapping I mean instantly, with no visible walking or anything.Okay, I'll try to do it. https://youtu.be/tXXOKe5HDG0Like this? Only without moving the root... LOLIn general, I don't yet know how the animation should always maintain a scale of 0,0,0 when returning to the first frame. As you can see, in the loop, the animation just flickers between scale=1 on the first frame and scale=0 on the second frame.Three options... 1. An actor enters a doorway and disappears (eg last 200-300 frames scale = 0). 2. The actor jumps to 0.128.0 in one jump and disappears in the same way for a couple of hundred frames. 3.The actor physically teleports "to the moon" but forgets to take his camera with him. Edited June 13, 2023 by South8028 Link to comment Share on other sites More sharing options...
niston Posted June 14, 2023 Share Posted June 14, 2023 Yep. I see. Can you import existing anims? Perhaps the entry animation should be a modified version of the door opening anim, where after the last existing frame the movement and some more frames later the scaling is added.Then the idle would simply do nothing, or just keep scale at 0.001.And the exit scales and moves back. Link to comment Share on other sites More sharing options...
South8028 Posted June 14, 2023 Share Posted June 14, 2023 (edited) Yep. I see. Can you import existing anims? Perhaps the entry animation should be a modified version of the door opening anim, where after the last existing frame the movement and some more frames later the scaling is added.Then the idle would simply do nothing, or just keep scale at 0.001.And the exit scales and moves back.It does not make sense. It doesn't matter if the animation is vanilla or custom. If it is looped, all frames with all operations (including scaling) are played indefinitely. Most likely, kziitd just had some random error, due to which the scaling did not work correctly. I don't know how to reproduce this error. Maybe it's worth making three animations? Entrance - the actor opens the door, moves into the doorway and disappears. Loop - the actor is invisible. Exit - the actor returns and appears. One piece of furniture - a door, one animation of 3 hkx. If you remember... What's the name of the vanilla door animation? I won't be importing hkx, it's a lot of work, but I can redo this animation with scaling. There will be an entry animation. Edited June 14, 2023 by South8028 Link to comment Share on other sites More sharing options...
niston Posted June 14, 2023 Share Posted June 14, 2023 Yes, 3 anims - good idea!The vanilla door open anim is Meshes\Actors\Character\Animations\MT\Neutral\DoorOpen.hkx Vanilla door open anim (was used as entry animation) is not looped I think. Im not sure if kziitd's idle was looped. Their custom exit anim wasn't. The actual furniture I am going to use this with, is an invisible marker furniture. So if the enter anim plays at 0,0,0 that is perfect.For clarity: There will be no actual door that opens. The character should just vanish (move forward and scale to 0.001) once the open door anim has played.Open door anim should more appropriately be called "push door handle" anim, btw )) So, entry anim: Actor pushes door handle, then vanishes into forward position, scale 0.001Idle anim: Actor is invisible.Exit anim: Actor scales back to 1 and returns to 0,0,0 position. Link to comment Share on other sites More sharing options...
South8028 Posted June 14, 2023 Share Posted June 14, 2023 (edited) Yes, 3 anims - good idea!The vanilla door open anim is Meshes\Actors\Character\Animations\MT\Neutral\DoorOpen.hkx Vanilla door open anim (was used as entry animation) is not looped I think. Im not sure if kziitd's idle was looped. Their custom exit anim wasn't. The actual furniture I am going to use this with, is an invisible marker furniture. So if the enter anim plays at 0,0,0 that is perfect.For clarity: There will be no actual door that opens. The character should just vanish (move forward and scale to 0.001) once the open door anim has played.Open door anim should more appropriately be called "push door handle" anim, btw )) So, entry anim: Actor pushes door handle, then vanishes into forward position, scale 0.001Idle anim: Actor is invisible.Exit anim: Actor scales back to 1 and returns to 0,0,0 position.I understand. https://disk.yandex.ru/d/--XVDGtLpmL9JATry it. Should work. Edited June 14, 2023 by South8028 Link to comment Share on other sites More sharing options...
niston Posted June 14, 2023 Share Posted June 14, 2023 Thank you! I am building anim info and testing in game now. Tests were mostly successful!Character can still be observed shrinking/growing, but other then that it works perfect. Thank you again South8028. Is it difficult to create a variant? where the character moves to +256 instead of 128. Link to comment Share on other sites More sharing options...
South8028 Posted June 14, 2023 Share Posted June 14, 2023 (edited) Thank you! I am building anim info and testing in game now. Tests were mostly successful!Character can still be observed shrinking/growing, but other then that it works perfect. Thank you again South8028. Is it difficult to create a variant? where the character moves to +256 instead of 128.https://disk.yandex.ru/d/c7mxzEvYL1yV3Qsame for 256. Edited June 15, 2023 by South8028 Link to comment Share on other sites More sharing options...
niston Posted June 16, 2023 Share Posted June 16, 2023 Excellent! Thank you so much! May I request two more anims, for simple idles? 1) scale actor to 0.001 (make actor invisible)2) scale actor to 1 (make actor visible) FInally, are you OK with me using and distributing these anims as part of F4MS? Link to comment Share on other sites More sharing options...
Recommended Posts