View Full Version : Simple Grass for Messiah 3

 rush12302 February 2008, 07:15 PMThis is a simple ‘grass shader’ using the new hair module , hopefully it will help users get up to speed on some of the possibility of the hair module. http://img261.imageshack.us/img261/6924/simplegrassrc2.th.jpg (http://img261.imageshack.us/my.php?image=simplegrassrc2.jpg) www.usefulslug.com/files/simplegrass.mpj (file hosted by Ulven) R
dobermunk
02 February 2008, 09:59 AM
Wow.... great!!!
Thanks!

rush123
02 February 2008, 08:06 PM
no problem, attached is a very simple anim, using a couple of null as discussed in other threads.

Suricate
02 February 2008, 10:35 PM
rush, thanks for posting!

One question: Could you elaborate a bit more how to use the nulls to comb e.g. a character ? I saw Ulven's video about the cat fur and the way he was posing the cat to have the hair all aligned along the Y axis. Is this the recomended way to comb a character or can this more effectively done with nulls ?

As far as I understand, you can:
- select of an object in the 'Comb Dir Obj Group' popup menu
- then use the direct children of this object to define the comb direction of the hair, inversely proportional to their distance.

But this seems to be rather difficult if you want e.g. comb a character in a T-pose, because there is always some cross influence between the nulls.

rush123
02 February 2008, 07:38 PM
The combing methods available in this release so far are:

Nulls
Nulls are a blend between what NULL is closer to the base of the hair on the surface. The closer a hair base point is to a NULL, the stronger that NULL directional influence is on the hair. Z scale of NULL scales it's strength.

Meta effectors
Meta effector, work with the Meta effectors normal mode of influence is. A base point of the hair is passed to the effector and if it's within it bounds or range then it returns a strength value back to the hair, between 0.0 and 1.0 for whatever parameter it's controlling.

Note: ensure that ‘Lay’ option has a value and the methods pull in the opposite direction.

Morph Blender
The third method and more applicable to your requirements are via ‘MorphBlender’ where an example was given in ‘CatFur.fxs’, when the cat was ‘hung noise up’ and fur fibers applied.

I know Fori is working on expanding the option available.

R

stooch
02 February 2008, 09:33 PM
I was wondering at first why i was looking at cat porn when watching that tutorial.

IMO thats a really half assed way to comb hair. The results are also not very convincing, the hair just doesnt lay naturally along the cats body.

So far the tool looks pretty awkward, why such weird workflow? i thought that the point of messiah is to create artist friendly tools... relying on morph targets seems idiotic in a program that cant modify geometry natively. requiring constant bouncing between two separate applications. Can we put the weight painting tools on the next to do list? There are so many ways this could benefit messiah, rigging, SBDs, hair attributes, etc. If fori is smart enough to code a fur solution, i would imagine that a simple weight painting or at least weight importing functionality shouldnt be out of reach, right?

Suricate
02 February 2008, 09:52 PM

The setup with nulls and metaeffectors opens some very interesting possibilities for dynamic interaction between hair and other objects. I can think of methods for e.g. faking collisions that way. However, I think that stooch is right in saying that the workflow for combing a character is not very intuitive. I'm looking forward to the enhancement that Fori is working on.

Wegg
02 February 2008, 10:02 PM
stooch, the morph version of brushing the fur is something Fori and I came up with. The idea being that if most creatures, when hung by their nose and relaxed are in a position that coensides with their fur all pointing down. So all you have to do to "comb" your fur is create a pose for your character, save out the morph and use that as a guide. Once Fori got it implemented it took me about 15 minutes to have the main character in Andy's Airplanes fully combed. Awesome stuff.

No its not conventional. But it sure is an elegant way of thinking about "fur" on a creature. Less is more in this case. I'd call that pretty damn smart.

stooch
02 February 2008, 10:51 PM
stooch, the morph version of brushing the fur is something Fori and I came up with. The idea being that if most creatures, when hung by their nose and relaxed are in a position that coensides with their fur all pointing down. So all you have to do to "comb" your fur is create a pose for your character, save out the morph and use that as a guide. Once Fori got it implemented it took me about 15 minutes to have the main character in Andy's Airplanes fully combed. Awesome stuff.

No its not conventional. But it sure is an elegant way of thinking about "fur" on a creature. Less is more in this case. I'd call that pretty damn smart.

well i guess "damn smart" is relative, i KNOW that fur doesnt hang down like that on animals, fur is actually several layers of specific hair types and they sure as hell dont all "lay". my cat for example is a shorthair, if i were to strung him up by his nose, first he would probably damage my hand and second his fur wouldnt hang down at all. In fact, shmiggle (my cats name) exhibits very distinct fur directions, often they coincide with the way he grooms himself, but more often they are affected by external forces, for example after sleeping on the couch all day, you can cleary see a distinct pattern in his coat. the only consisten directionality on the cat is the tail really (unless he is pissed, then you can see the hairs stand on end). Everywhere else the hair has distinct patterns. I think that the ferret you guys made looks OK, its fur doesnt convince me though so i wouldnt use it as the ultimate example of perfect results, because its not. I think that its a nice trick to START the combing process, but in no way is it an adequate solution by itself. Id rather paint the direction of the fur via weight map, using vectors embedded in color values the same way reelsmart motion blur stores vectors for motion blur.

we need real combing tools, ie actually COMB the hair in arbitrary directions.
its a nice idea wegg but for me its obvious that the "beauty" of your idea is that its easier to implement rather then being the best tool for the job. Sort of like its EASIER to just not use weight maps, but actually harder to get your model to do what you want when you have points close to the center axis. Forcing a stupid HACK of making morph targets for the bind pose. its not that its "unconventional" its just not the best way

btw PMG, can you guys explain to me the exact reasoning behind being so stubbornly against weight maps? is it just too hard to implement? i dont get it, it cripples messiah on so many levels, forget about using it for game animation, using surface names for SBDs is really bad IMO because it makes very obvious transitions between static and dynamic mesh. It also doesnt give us a way to vary the dynamic attributes along the surface. Its also not intuitive to go into a separate program just to do a morph tweak, there are so many bad things about not using paint weights that it just boggles my mind that its still not addressed. Anyway im super happy that you guys are listening and adding a much needed feature like FUR, and i really hope that weights is the next feature in line, because it would help out on many features in messiah.

p.s. Now that we have a fur solution, i think that the next step is to make it respond to dynamic forces, the best way forward IMO is to improve the SBD solver for messiah and use the SBDs to drive the hair (with stable collisions, maybe based on the AGEIA sdk?). That way two birds will be killed, more useable cloth solution and a right step in the direction of a complete hair solution. Anyway im not bitching here, obviously i believe in messiah since i bought the upgrade, just pointing out my thoughts on the current progress based on the current hair combing tutorials.

Wegg
02 February 2008, 12:19 AM
It has the ability to adjust everything with texture maps that you paint yourself. If you want an area to have longer/shorter hair you can paint it in your map. Volume, thickness, taper, kink, curl, lay. . . AND those map's invfluence are all dynamically adjustable with effectors. . . you get REALTIME OpenGL guides, to show you the way, the choice of 3 different shader methods, forces. . . and this is VERSION 1!!!

Its awesome! <--Fanboy talking.

I think once you get in there and start working with it yourself you will be surprised at its power. If there is a specific effect you think you can't do with the tools that are there, post an example and one of us who has already put it through its paces would be very happy to show you the "technique".

stooch
02 February 2008, 12:21 AM
ok, can i go into messiah and paint attributes ALA maya and see my painted attributes change in real time? (ANY attribute)

if so then i rest my case, otherwise id rather use maya for anything that requires hair...

maybe im spoiled but if you are implying that i should paint my attributes blindly and then move effectors around to adjust, then for me thats not an "artist friendly" way to style hair.

also my points about painting weights arent just about hair its about rigging, SBDs etc. many many useful things come out of painting weights, but if you are implying that 3.0 already does this then its indeed the best release of messiah to date.

Wegg
02 February 2008, 12:28 AM
You paint your image map of the area that you want to be influenced in Maya or Modo or Photoshop or wherever. Export that out and then, import it into Messiah, apply it to the part of the hair that you want change. . . like say. . . kurl. . . then with an effector, move it around till the hair is curling the way you want it too. In real time. Its very cool to play with actually.

No its not painting directly on the surface of the model. Messiah doesn't do that. Thats left up to your modeling tool of choice. Modo, Zbrush, Maya etc. I'm quite happy with a Zbrush/Photoshop combo but others would like something else. This is a more open flexable solution and because of that it adds 1 extra step.

stooch
02 February 2008, 12:31 AM
cool thanks for the tips, ill give it a shot. id still liek to paint in messiah for things like this but ill give it a try regardless.

thanks.

02 February 2008, 12:39 AM
Messiah does not support vertex based weight maps so in that respect Messiah cannot have the kind of weight map painting other softwares offering. I am sure Fori can implement some form of "metaeffector" painting in Messiah. But whole point of Messiah is volume based approach and that is a whole different ball game than vertex based approch. Messiah is suggesting different ways of doing things if you understand well enough you will do whatever needs to be done. And because there is no weight painting does not mean you cannot do anything with it.

As far as weight goes my main wish is the ability to assign any texture map to weight tools, kind of like texture weights(with uv support like in hair). So for example I can paint my weights in Modo as image map and bring it in Messiah and use as weight tool. So this would be 4th kind of weight beside, metaeffectors,curves and volume primitives. We can use images with volume primitives but they do not support uv coordinates.

Anyways my point is that until Messiah has weight painting, those who cry for it should stay away from Messiah. And I do not understand why they spend their money on something that lacks the features they are looking for, beyond me.

stooch
02 February 2008, 12:47 AM
I understand messiah and have used it successfully fo character animation. My point is that i dont like the approach and suggesting a better way to do it. if you are implying that im incompetent or lazy then you are wrong. I just find that although messiah has lots of great features, it also has some deficiencies that interfere with my work, thats why i dont really use it as much as i would like to, I also believe thats why messiah isnt being regarded as seriously as it should be by the industry.

I clearly stated that a lack of weight map supports makes it impossible to use it in games. please do explain a way to get around this limitation? also, I am fully aware of the weight system approach of messiah. HELLO... i own it. lol. Im saying that for my needs, painting weights is a superior way to work. especially if i am to deliver my assets to a third party, who does NOT use messiahs approach to weight management. This usually means that i CANNOT use messiah for projects when working with clients who dont use messiah as well EVEN THOUGH I VERY MUCH WOULD LIKE TO. AGAIN this hurts messiah in the long run because it reduces the likelihood of people being ABLE to work with a messiah pipeline.

Messiah does not support vertex based weight maps so in that respect Messiah cannot have the kind of weight map painting other softwares offering. I am sure Fori can implement some form of "metaeffector" painting in Messiah. But whole point of Messiah is volume based approach and that is a whole different ball game than vertex based approch. Messiah is suggesting different ways of doing things if you understand well enough you will do whatever needs to be done. And because there is no weight painting does not mean you cannot do anything with it.

As far as weight goes my main wish is the ability to assign any texture map to weight tools, kind of like texture weights(with uv support like in hair). So for example I can paint my weights in Modo as image map and bring it in Messiah and use as weight tool. So this would be 4th kind of weight beside, metaeffectors,curves and volume primitives. We can use images with volume primitives but they do not support uv coordinates.

Anyways my point is that until Messiah has weight painting, those who cry for it should stay away from Messiah. And I do not understand why they spend their money on something that lacks the features they are looking for, beyond me.

Why do i spend on messiah when it lacks features? So that my money goes towards implementing features I want.... Obviously.

the better question is, does ANY program out there NOT lack features? I think that you need to keep your nose out of my business if you are satisfied with your product, instead of starting pointless arguments. I am not arguing with you whether or not the program satisfies YOU. Im stating my opinion on where the program could be improved, you are only hurting yourself by arguing about features that can benefit everyone.

spaz8
02 February 2008, 02:57 AM
I don't own messiah but am seriously looking at it.. I agree with Stooch in that it is never a good thing workflow wise to have to jump to other applications.. the fur looks good in messiah.. but the workflow from what i've seen with nulls etc seemed very.. primitive an reminds me lots of sasquatch.. it is better in that u can see a representation of hair without rendering but.. lacks some controls of sasquatch too.

It would be great to see some sort of paint brush IN messiah to alter length, denisty, a magnet for styling.. i own bodypaint, modo, zbrush etc and am not wild about the idea of having to jump to those to blinding make adjustments.

Wegg
02 February 2008, 03:27 AM
Adjustments are made in Messiah itself. The masking off of different areas should in theory only need to be done once no?

stooch
02 February 2008, 03:40 AM
Adjustments are made in Messiah itself. The masking off of different areas should in theory only need to be done once no?

here is a pic of my cat. notice the fur around his eyes. how would you go creating that effect in messiah? currently based on the tutorial i saw, i can see that you can make the fur face down the cats head, but what about the fur in the ears? around the eyes? also note the hair on the shoulder, its not facing down at all. I know that in maya i can paint hair attributes what kind of steps would you take in order to comb the hair arbitrarily? Would i need an effector for every change in direction? because thats going to require ALOT of effectors no?

http://stooch.net/gallery/d/995-2/000_3335.jpg

notlongago
02 February 2008, 03:40 AM
I agree. Since they are image textures all you need is to reload them once you are done painting in other application. It is no different than calculating yuor diplacement in Zbrush and reloading your image in your renderer.

Spaz8 you already said you have 3 applications which means that you are jumping between applications. There is nothing wrong with using multiple applications to do different tasks as long as there are no compability problems.

Adjustments are made in Messiah itself. The masking off of different areas should in theory only need to be done once no?

Wegg
02 February 2008, 05:45 AM
here is a pic of my cat. notice the fur around his eyes. how would you go creating that effect in messiah? In your modeler you just take the geometry around the eyes that you want to have flow in a different direction and rotate it with a falloff so that the twist smootly gradiates out.

currently based on the tutorial i saw, i can see that you can make the fur face down the cats head, but what about the fur in the ears? I posted in the other thread about that but I'll do it again here. You just grab the ears and and twist them back in the target model so they are pointing backwards and down along the body like a very scared cat.
around the eyes? The eyes is where I spent the most time on the ferret in Andy's. I needed to have the hair flow around them just right. But again its just a matter of grabing the geometry and twisting it so that where you want the hair to go is "down" in the target model.

also note the hair on the shoulder, its not facing down at all. Actually it is. When you "hang" the cat by its nose you have to make everything limp. Shoulders, legs, tail everything. Like its dead. When you have done that. . . you will go "Ah-HA!" and realise that thats exactly the direction the fur lays. Try it.

I know that in maya i can paint hair attributes what kind of steps would you take in order to comb the hair arbitrarily? I doubt there would be more steps in Maya but I cannot say because I have not ever used it. This is where I would have to bow to yours and others experience. This technique SOUNDS odd. . . but its actually quite powerful and natural once you have played with it for a while. Oh and. . . it works in Lightwave/Sasquatch too odly enough. :-)

Would i need an effector for every change in direction? because thats going to require ALOT of effectors no? Nah. Less is more. Even in Sasquatch when you comb with null directions you don't ever need that many to get things laying just right. Ears, eyes, mouth, nose. . . then a few in and around the shoulders and fingers and your done. But I didn't need to do ANY for the ferret in Andy's. That feature wasn't in the version I had. So . . . you have even MORE control than we had!

Where you WILL spend most of your time is in shading the hair. Sasquatch's defaults are so intuitive and simple that getting the results you want are laughably easy. Getting that same feeling in Messiah takes more time. Root color, tip color. . . painting the color map over and over again to try and get that "pepper" randomness in there etc. Sasquatch is freakishly good at that stuff. But I'm sure if I were to do need to do it more than a few times I'd get a techniqe down. :shrug:

spaz8
02 February 2008, 01:56 PM
I agree. Since they are image textures all you need is to reload them once you are done painting in other application. It is no different than calculating yuor diplacement in Zbrush and reloading your image in your renderer.

Spaz8 you already said you have 3 applications which means that you are jumping between applications. There is nothing wrong with using multiple applications to do different tasks as long as there are no compability problems.

I guess I'll have to see. I'm just expecting hair to be a lot of tweaking from my experiences elsewhere. I own more apps than I listed but I DON'T jump around while i'm iterating on things.. I have bodypaint so I DONT have to jump back and forth bwteen say photoshop and lightwave to make texture adjustments.. I dont recall having to jump back and forth mid sculpt in zbrush.. they do certain things well and its all contained in that specific app.. my initial concern was i needed multiple apps to do ONE task effectively like make hair maps and that would be jumping around.

Suricate
02 February 2008, 02:39 PM
I was trying to apply fur to a character, but I would get bald parts on the character's surface. Now I think that the problem is if you are using a high 'Lay' value together with 'Curl'. Then the fur would actually curl inside the character, what is usually not what you want to do.

I've attached an example. To the left is a fur ball with a 'Lay' value of 1.0 and no 'Curl'. To the right is a fur ball again with a 'Lay' value of 1.0, but with 'Curl' of 0.3 . The fur in the lower half of the ball would curl inside, leaving ugly bald spots.

So my request to Fori would be to make 'Curl' work in such a way that even with a high value of 'Lay' the fur would curl consistently to the outside.

spaz8
02 February 2008, 03:02 PM
interesting.. yes in Sasquatch (3rd party LW hair plugin) there is a maximum sleekness setting to try and counter hair penetrating the object.

lanosrep1
02 February 2008, 06:45 PM
I remember the same things (hair penetration) happening in the old shave for LW.. Even with the collision spheres..

I would suggest people start to think in terms of the normals of the polygons being used to grow fur from.. The hair growth geometry does not have to be the same as the render geometry..

In other words. start thinking about using proxy objects to grow the hair from.. and using multilple proxies to get variations in the hair type\length.. etc.. .. you might get where you want faster that way.... something I picked up from the Shave days.. 2 Cnts..

I'll try to post an example soon.

G.

rush123
02 February 2008, 09:35 PM
Suricate,

I’ve seen your problem and have a ‘workaround’ that seems to work, I applied a meta effector to the sphere, but it only has a very slight weight, enough to manage ‘lay’ to give affective ‘curl’ I think? Tell me if you want a file?

http://img111.imageshack.us/img111/3527/suricate01be7.th.jpg (http://img111.imageshack.us/my.php?image=suricate01be7.jpg)

http://img111.imageshack.us/img111/655/suricate02sg8.th.jpg (http://img111.imageshack.us/my.php?image=suricate02sg8.jpg)

Sorry about the ‘quick & dirty’ fur render.

R

Suricate
02 February 2008, 09:46 PM
Hey, that's great, thanks! :)
Yes, a scene file would be very helpful.

MoodyB
03 March 2008, 01:43 AM
This is a simple ‘grass shader’ using the new hair module , hopefully it will help users get up to speed on some of the possibility of the hair module.

http://img261.imageshack.us/img261/6924/simplegrassrc2.th.jpg (http://img261.imageshack.us/my.php?image=simplegrassrc2.jpg)

www.usefulslug.com/files/simplegrass.mpj

(file hosted by Ulven)

R

Thanks for this Rush. Great starting point for the grass I need for the car anim :)

Not sure I'm right with this though, but in my quick tests so far it appears that lowering the hair subd level from 4 reduces the memory usage, but at the expense of taking longer to render :

Lvl4 takes 19secs here to render at 320x240 ( chunk set to Y-res )

Lvl2 takes 37secs

Lvl1 takes 59secs

Lvl0 takes 2min 3secs

Have you found this yourself while doing all your fur renders, or haven't you needed to lower the subd level to save on memory ?

rush123
03 March 2008, 10:09 PM
Good to see you back MoodyB,

I need to confirm those render times.

Suricate, I'll send you a pm with the file tomorrow, sorry I fogot

R

CGTalk Moderation
03 March 2008, 10:09 PM
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.

1