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.
To help users navigate the site we have posted a site navigation guide.
If you are a new user to Unity Answers, check out our FAQ for more information.
Make sure to check out our Knowledge Base for commonly asked Unity questions.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
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
Setting Scroll View Width GUILayout
Material doesn't have a color property '_Color'