- Home /
Animate a sine wave in Unity using bone rotation?
I have imported an .fbx of a long cylinder with 5 bones (which are now objects) positioned in a straight line.
Is it possible to simulate a sine wave by updating the rotation values of the bones in that mesh through script?
Answer by Jessy · Dec 29, 2010 at 01:27 AM
Yes. Bones are just Transforms, in Unity, so you can alter their rotations (although I think positions would be what you need for a sine wave, unless I'm misunderstanding the effect) as you like. Transform.Find will probably help you most, in acheiveing this, because unless you create the mesh procedurally in Unity, you won't know what is what, in the SkinnedMeshRenderer.bones array.
when trying to assign the Transform.Find to a variable, like the example in the link, I get an error "ArgumentException: You are not allowed to call get_transform when declaring a variable. $$anonymous$$ove it to the line after without a variable declaration."
I was able to use a sine wave to oscillate each bone. The result I was hoping to get is as if all the bones were following and facing a spline path that was shaped like a sine wave.
This question is answered. $$anonymous$$ove whatever trouble you're having to another post here or on the forum; with problem code.