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. Move 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. Move whatever trouble you're having to another post here or on the forum; with problem code.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
For troubleshooting common problems with Unity 5.x Editor (including Win 10).
To help users post good questions and use the site effectively we have posted a user guide. Please check it out.
Answers and Comments
No one has followed this question yet.
The name 'Joystick' does not denote a valid type ('not found')
How to make a sine wave with a transform
How to import the object from server to unity
Material doesn't have a color property '_Color'