PDA

View Full Version : Muscle Bone questions ?


Facial Deluxe
09-12-2003, 12:41 PM
I'm having fun with MuscleBone Lscript from LWHub.

My question is, does this usualy works with IK driven bones ?
Because here it doesn't work, works well on FK bone though...

Is there anything I should do ???

Suricate
09-12-2003, 01:02 PM
At the author's website there's a newer version that works with IK, check out:

www.nemesis-cgi-ltd.biz/ (http://www.nemesis-cgi-ltd.biz/)

Facial Deluxe
09-12-2003, 01:14 PM
THANX A TON !!!
My arms never bend so well :beer:

timsvw
09-12-2003, 03:02 PM
Facial,

Could you show us what you have been working on with this plug. I would be interested in seeing the results it can give.

-Tim
http://www.dinoadventures.com

Facial Deluxe
09-12-2003, 07:24 PM
Actually, I just tryed today with some old model, and not so good rig. I put Muscle bones in the torso area (Abdominal + pecs/colarbones) and on the arms (biceps).
See HERE (http://mapage.noos.fr/facial3/Prev.avi) 1.3Mb, avi cinepak

For good convincing sample, I suggest you do a search on Muscle bones from Mike RB (right on this forum).

Mike can you post your link please ?

Castius
09-12-2003, 07:45 PM
http://www.steelronin.com/profiles/mov/mtest.mpg

muscle bones and some other stuff.

Facial Deluxe
09-12-2003, 07:49 PM
Did you plan to displace some skin with these muscles ??

timsvw
09-12-2003, 08:22 PM
Wow, Facial and Castius you both have some really good works started. I have not played with anything quite like this myself but it looks very interesting. I will have to take a look at it more.

-Tim
http://www.dinoadventures.com

Castius
09-12-2003, 09:38 PM
Ya i planed on it. I did some test and had some pretty good results. MD worked alot faster than i exspected it to. But i think once everything is all rigged i'll proble need to rethink how it will all work. But this is all on hold for now so nothing new will be happening any time soon. 8(

Facial Deluxe
09-12-2003, 11:14 PM
Feel free to post some of your tests :) very interesting !

I've red on NT Forum, you made some rigs without using "Unafected by IK descendant", I think. Could you tell me more about your technique? I don't get the point of this...

Mike Pauza
09-12-2003, 11:29 PM
Cool Castius. That's one of the many projects I wish I had time to do! :)

Castius
09-13-2003, 12:21 AM
Hay Mike how you doing?

Facial leaving off "UIKD" allows IK information to pass though to any of the bones up the hierarchy. So say you have an IK goal on the hand. Normally you would turn on “UIKD” at the shoulder so you get a simple limited IK chain. But LW IK doesn’t have to be left simple since IK information is passed along the hierarchy instead of a separate IK controller. “Cough” Maya “Cough”. So if I leave “UIKD” off on the shoulder and turn it on the chest the shoulder is not part of the arm IK. If I turn off “UIKD” on the chest and turn it on the hips now the whole upper body if one big IK chain. So now If you place all the rest your goals in the body set up all the proper IK channels, stiffness and limits. You can get the IK to behave almost like the human body would naturally want to do.

kretin
09-13-2003, 05:01 AM
Hey Facial,

Try using this expression, in Motion Modifiers expression type with "After IK" turned on

mapRange( ( vmag( Base.wpos(Time)- Target.wpos(Time)) ), 0, "BoneRestLength", 0, 1 )

The trouble with using the LScript is that it records the absolute path to the script in the scene file, making it quite annoying if you're creating anything that is likely to be used by other people, creating a character rig for a number of animators for example.

Using the expression does the same job, but doesn't have the associated hassles.

Jonathan
09-13-2003, 05:25 AM
That's exactly what I was thinking Kretin. Why not simply use an expression. That's how I used to do it and had very little problems with it.

SplineGod
09-13-2003, 06:10 AM
Ive been playing with using Shift Spline Transform in place of muslce bones with some very good results. :)

Facial Deluxe
09-13-2003, 08:15 AM
@ Castius :
I think I get it. That's how I used to rig when I began with LW, the problem was as soon I moved something, every thing was moving a bit (hand/feet), then I discovered UBIKD.
I'd love to go deep in one of your rig, the movies are looking excellent.

@ Kretin :
Thanx mate, but I'm a complete ass at expression :annoyed:
Could you explain a bit more ? I don't understand where's my bone, is it "Bone rest lengh" or is i the null ?
And the path thing, you mean the disc path to the pluggins directory ?
See I'm dumbass....

@ Jonathan :
So yo did have problem...

@ Splinegod :
Believe it or not, I had this idea too :) Could even work on some lips. Could you post a sample anim, I'd love to see !


I have this weirdness now, I reloaded my scene, everything is perfect, except when I hit Motion Option on my muscle bone :
Instead of having "Muscle AfterIK" in my pluggin stack, It's written "Select Favorite MC" . If I double clic it (plug properties) everything is fine, it is "Muscle AfterIK" panel !
So to make it short, right plug with another plug's name :surprised
Any ideas ?

Jonathan
09-13-2003, 09:07 AM
Hey SplineGod. I never heard of the shift-spline method, could you xplain more please?:lightbulb


Hey facial, I haven't done it in a couple years. After a while I just started using endomorphs. Xpressions are very easily broken down.

EDIT:
well, I had alot stuff written here, but I think it best Kretin answer his own responses. :thumbsup:

....don't want to step on any toes out there.:drool:

SplineGod
09-13-2003, 09:21 AM
Shift spline transform is a weird name for a cool free plugin. You can apply multiple deformation splines onto an object. They can effect the overall object or only a weight map. The nodes can be parented or effected with expressions and motion modifiers.
There are some other tools within the plugin that can scale or shift the geomtry effected by the spline and this can be enveloped. The result is that you can do some pretty amazing stuff with it.

kretin
09-13-2003, 10:53 AM
Nah Jonathon, feel free dude :)

Facial,

1) Select the bone you want to scale
2) open "Motion Options"
3) Add "Expression" to Motion Modifiers
4) In the "Expression" Properties select the Scale.Z channel
5) Type "A" into the Expression input area
6) Add the following to A input area-

mapRange( ( vmag( "BaseItem".wpos(Time)- "TargetItem".wpos(Time)) ), 0, "BoneRestLength, 0, 1 )

replacing
a) "BaseItem" with your Object.Bone name,
b) "TargetItem" with your targets name (same target you're using in Muscler script
c) "BoneRestLength" with your bone's rest length in meters
7) check "After IK" turning it on

you're done :)

Use "Target Item" in Motion Options to have the bone rotate to point to the target item

You can adjust the last number in the expression higher or lower for more or less "Extra Pull"

For X & Y Bulge you have various options:

You can add the following expression to Scale.X and/or Scale.Y -

clamp (A * (-1) + 2, 0.5, 2)

This is saying follow the Z Scale in reverse, but don't go below 0.5 or above 2. You can play with the numbers to tweak your results.

Another way is to add "Follower" following the bone itself, with only X Scale and Y Scale active, both following Z Scale x -1 + 2, playing with those numbers till you have the amount of bulge you want.

I know it might seem complex, but if you keep these 2 expressions written down somewhere handy, you can just use them over and over, and it really takes no time to do all this once you've done it a couple of times and have figured out what it's all doing...

Just uploaded this scene as an example:
http://www.zerogravity.com.au/lw/MuscleBoneExpression.zip

kretin
09-13-2003, 11:00 AM
Oh yeah...

The path thing... is the disc path to your plugins directory and the lscript name. That's the problem with using lscript motion modifiers, they include the full path name :(

Facial Deluxe
09-13-2003, 01:23 PM
Thanx a lot for taking time to explain :) :beer:
That's just great and soooooo usefullll !
Kretin you're da Man :thumbsup:

HowardM
09-14-2003, 10:40 PM
You FREAKING rule Kretin!
:applause:

Im one of those guys that can learn alot faster once Ive seen how something works...thanks!

hehe even though at the moment I have no idea being a total expression noob...but I think I can hack it!
:)

quick Q - there is a thread on the NT forum asking about controlling image maps through expressions...is there any syntax/cmds to control image maps like this? so lets say a vein bump map can increase with the muscle flex?
:)

SplineGod
09-14-2003, 11:07 PM
All you have to do is link the bump layer opacity to the rotation of a bone and then add the appropriate scale factor into the expression. Tying channels to each other is what expressions excel at and usually dont require much math.

HowardM
09-14-2003, 11:14 PM
sweeet!
:)
what about changing from one image map to another??
for instance Ive got a videowall that I need to easily switch between textures on each screen.....not an easy task eh?

SplineGod
09-14-2003, 11:30 PM
You can give each imagemap in each layer a falloff so that then you use the position controls (or a null as a reference object) you can use expressions to move the texture position (or the reference null) closer to your surface or further away using a simple expression.
You should be able to do the same with the layer opacity envelope on each layer but theres some funkiness with expressions on those layers and their opacity settings. :)

HowardM
09-14-2003, 11:35 PM
As always thanks Larry!
:)

kretin
09-15-2003, 01:23 AM
Also keep in mind the Surface Mixer shader, which you can also use expressions or textures to control. This lets you change entire surface settings, not just individual layers, quickly and easily. It's a very cool tool...

HowardM
09-15-2003, 03:58 AM
hmm cant seem to find it?!

kretin
09-15-2003, 04:06 AM
Look for "Surf Mixer" in the "Add Shader" pulldown in the "Shaders" tab of Surface Editor... it was new to LW7.5, so you'll also need to be running that...

Ramon
09-16-2003, 12:05 AM
Larry:
I hope all is well for you. I wanted to say, as always thanks for your sharing of wisdom to the LW community. I enjoyed the lecture in S.D. at Siggraph.
I have copied a little of what I wrote in the LW discussion forum because it seems very appropriate to what is being discussed here:

{In the book "Stop Staring" by Jason Osipa, a Maya artist that outlined in detail, a method that I have often wondered about (off and on) for quite awhile now - Event driven image maps!
Ex: A character's neckbone rotated down towards his chest spawns a custum bumpmap (could be any map) of neck wrinkles or even go through a series of maps. Although he uses expressions, Maya's "Set Driven Key" can also be used (for those of us who are more visually inclined) to drive the image maps.}

This seems to be what you are talking about Larry through through expressions rather than SDK. However, you said: "You should be able to do the same with the layer opacity envelope on each layer but theres some funkiness with expressions on those layers and their opacity settings."

Funkiness? So then is it feesable in LW to do this without a lot of headaches? If it's funky, yet functional and not very unpredictable, can you send an expample expression of this setup for the "expressionless" people? That is, if it's not to much of a hasle. That would help so much! THX!
I also would love to know an expression setup that can go through several image maps - as a "drive object" goes through it's effecting motion, several image maps effected along diffenet ranges of the "drivers" envelope. Is this what you said was possible.

kretin:
Thanks for all your previous posts on this topic! I am very curious as to the Surface mixer which you had mentioned. Can Surface mixer do this (what I mentioned above)?
You wrote: "which you can also use expressions or textures to control. This lets you change entire surface settings, not just individual layers, quickly and easily."
I guess only through the expressions in SM that you can tie in (for example: layer opacity) to a morph object's envelope or a bone rotation? Is this true? There isn't a "visual" interface to do this inside of SM somewhere?
I know it might be easy for LW users who are great with writing expressions, but I am strictly a visual artist (from the traditional realm) and quite inept at expressions but, I would love to add this capability to my models. It would be awesome! Would this expression be different than the one you wrote, on sting, earlier?
I have a highly detailed dragon model that I have just finished creating and I would love to add the ability to have vains bulging and tendons moving to make it look like the skin is sliding over it. This would be great for that because obviously you would not have to model "crazy" geometry to accomodate these complex motions. Also, you have to worry about employing soft body dynamics to emulate the skin sliding over.
Anyways thanks tremendously for all the help in this! I promise, next time, I won't write so much! I'm just really interged by this add needed to elaborate in my inquery.

Ramon

kretin
09-16-2003, 02:48 AM
Ramon, the funkiness Larry is talking about is that Texture layers don't always keep their dependancies. If they're tied to a morph, or something else embedded within the same object, then they can, but if tied to an external item, they will most likely loose it upon reloading the scene.

Surf Mixer keeps dependancies alot better, although it's always best if you can tie anything surface related to something embedded in the same object. So tying a surface change to a morph works great.

As far as expressions, I used to be like you, I couldn't stand them, way too mathematical for my liking. I used to try any and every combination of modifiers to get the same results without using expressions. Earlier this year I forced myself to learn more about them, and truly it's opened so many doors for me. Having the option of expressions within my work, doesn't mean I always use them, but I now have the option of using them over other modifiers. I highly recommend going through the options in Expression Builder to see what kinds of things it has. To start with Expression Builder is a great way to learn the possibilities of expressions, and it makes creating them very artist friendly.

That said, to tie a surface change (or layer change) to a morph, you don't even need expressions, just Channel Follower. Click the Envelope, go to the Modifiers tab, and choose Channel Follower. Then find the morph in the list, which is just under the object listing, and double click it. Bam, you're done :)

Yeah, it's not quite as elegant as Set Driven Keys in Maya, but it's not a huge amount of work either...

chikega
09-16-2003, 04:08 AM
Since we're on the topic of expressions ... does anyone know what ever happened to Relativity 2? Last I heard, Prem was working on his 12th kid or somethin' like that ... I bought into his plugin many, many moons ago ...

Ramon
09-16-2003, 05:25 AM
kretin:
Thanks so much for elaborating an answer for my inqueries. I understand now. Thanks again.
I do have to learn expressions because I know they could enhance my workflow when animating. I have been mostly modeling and texturing in LW. That has been my primary focus. I do have a Trex animation that I completed back in the 5.6 days. I'll have to post it to see what you all think.

Anyways, thanks again! I am really looking foward to checking out channel follower to drive surface/layer changes. I used channel follower before in 6 but, I didn't think of it for these purposes. I have to say that thanks to the posts on this string, I am ecstatic about the possibilites.

Also... GREAT JOB on the animation of the aborigine and the LW box. Very, very nice!! The mannerisms and expressions on the aborigine was hilarious! - Not to mention the great texturing (all the pores and everything). Kudos man! Good on ya!

Ramon

HowardM
09-16-2003, 09:47 PM
very cool guys...Can these theories be applied to this idea? (http://vbulletin.newtek.com/showthread.php?s=&postid=77241#post77241)

Kretin - still cant find Surface Mixer in my Shader drop down...and cant find a ".p' for it on my HD...is there some obscure name for the actual plugin filename?

Thanks!

EDIT:I am using 7.5b! Cant find it on the MAC or PC...what is the actual plugin filename?

Facial Deluxe
09-16-2003, 10:05 PM
Howard, SM is a 7.5b or 7.5c plug.

Mike RB
09-16-2003, 11:07 PM
Simple muscle bone setup:
http://www3.telus.net/paratrooper/arm.gif

Complex muscle experiment:
http://www3.telus.net/paratrooper/demonM2.jpg

Thats using Shawn's Muscle bone IK plugin. The same as you're using Facial.

Mike

Castius
09-17-2003, 12:41 AM
I never get tired of seeing that arm Mike. great work
8)

Scott

kretin
09-17-2003, 01:15 AM
HowardM, yeah surfmixer would work well for that...

SurfMixer was introduced in 7.5b, so you should have it although it may be built into the surfed DLL rather than a plug...

Just checking, should be in... Surface Editor>Shaders>Add Shader

SplineGod
09-17-2003, 02:21 AM
Heres a quickie example of using Spline Transform as muscle deformers. The nice thing is that you can parent the nodes to the bones and the spline does the rest. In this case I have a weight map on the bicep and one on the tricep. Im using channel follower to get the nodes to rotate.
http://www.3dtrainingonline.com/anims/muscle_splines.gif

angus1965
09-17-2003, 03:37 AM
Originally posted by Mike RB
Simple muscle bone setup:
http://www3.telus.net/paratrooper/arm.gif

Complex muscle experiment:
http://www3.telus.net/paratrooper/demonM2.jpg

Thats using Shawn's Muscle bone IK plugin. The same as you're using Facial.

Mike

Damn Man. That arm ROCKS.

Write a tutorial!

Facial Deluxe
09-17-2003, 07:36 AM
Mike I dig your work ! Wish you post more often !

Larry, that's awesome !! New perspectives are open :beer:

SplineGod
09-18-2003, 12:00 AM
Thanks Facial,
Theres some cool things that can be done with this. Adding more nodes allows for some more control but Im still amazed what two nodes will do. :)

Facial Deluxe
09-18-2003, 07:57 AM
Defenetly, I find your 2 nulls per curve + folower to be a very elegant solution :)
Maybe the forearm bones could be set to inactive in combination with another curve, so that the wrist distortion would be completly smooth.... That's endless :applause:

NanoGator
09-19-2003, 11:14 AM
Originally posted by kretin
Nah Jonathon, feel free dude :)

Facial,

1) Select the bone you want to scale
2) open "Motion Options"
3) Add "Expression" to Motion Modifiers
4) In the "Expression" Properties select the Scale.Z channel
5) Type "A" into the Expression input area
6) Add the following to A input area-

mapRange( ( vmag( "BaseItem".wpos(Time)- "TargetItem".wpos(Time)) ), 0, "BoneRestLength, 0, 1 )

replacing
a) "BaseItem" with your Object.Bone name,
b) "TargetItem" with your targets name (same target you're using in Muscler script
c) "BoneRestLength" with your bone's rest length in meters
7) check "After IK" turning it on

you're done :)

Use "Target Item" in Motion Options to have the bone rotate to point to the target item

You can adjust the last number in the expression higher or lower for more or less "Extra Pull"

For X & Y Bulge you have various options:

You can add the following expression to Scale.X and/or Scale.Y -

clamp (A * (-1) + 2, 0.5, 2)

This is saying follow the Z Scale in reverse, but don't go below 0.5 or above 2. You can play with the numbers to tweak your results.

Another way is to add "Follower" following the bone itself, with only X Scale and Y Scale active, both following Z Scale x -1 + 2, playing with those numbers till you have the amount of bulge you want.

I know it might seem complex, but if you keep these 2 expressions written down somewhere handy, you can just use them over and over, and it really takes no time to do all this once you've done it a couple of times and have figured out what it's all doing...

Just uploaded this scene as an example:
http://www.zerogravity.com.au/lw/MuscleBoneExpression.zip

Just wanted to say that was damn cool of ya to help out like that. *Bookmarked*

:)

CGTalk Moderation
01-16-2006, 03:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.