Re: [Algorithms] Normal map blending for creases in geometry
Brought to you by:
vexxed72
From: Alex W. <Ale...@im...> - 2006-07-07 15:40:32
|
=0D=0A=09-----Original Message-----=0D=0A=09From: gdalgorithms-list-bounces= @lists.sourceforge.net=0D=0A[mailto:gda...@li...urcef= orge.net] On Behalf Of=0D=0ADaniel Yeung=0D=0A=09Sent: 07 July 2006 15:51=0D= =0A=09To: Game Development Algorithms=0D=0A=09Subject: Re: [Algorithms] Nor= mal map blending for creases in=0D=0Ageometry=0D=0A=0D=0A=09Firstly, sorry = if I made myself unclear... linear interpolation=0D=0Abetween=0D=0A=092 nor= mal maps is what I will be doing, the question was actually=0D=0Aabout meth= ods of automatically driving the blending system...=0D=0A=0D=0A=0D=0A=09Ale= x Walters wrote=0D=0A=09"If your 'eyebrow raising' is an interpolation betw= een 2=0D=0Aanimations then you can use the t you are already using for blen= ding=0D=0Abetween the two keyframes to drive the texture blend, this would = work=0D=0Aover the whole texture, not just the local area of the eye"=0D=0A=0D= =0A=0D=0A=09Unfortunately you cant really do this, because "t", your=0D=0Ai= nterpolation=0D=0A=09between animation keyframes doesn't necessarily corres= pond to=0D=0Athe amount=0D=0A=09of movement that is being applied to a bone= =2E=0D=0A=09For example, you could have an animation raising the eyebrow al= l=0D=0Athe way=0D=0A=09up, and an animation raising the eyebrow only half-w= ay. In both=0D=0A=09animations, "t" is still just a linear interpolation be= tween 0.0=0D=0A-> 1.0.=0D=0A=09Whereas we only want to blend the normal map= based on how far=0D=0Athe bone=0D=0A=09has moved as opposed to how far we = are through the animation...=0D=0A=0D=0A=0D=0AI meant that in this case you= would need an 'amount of desired=0D=0Acreasyness' associated with the key = frame or spline.=0D=0A=0D=0ATo calculate an interpolation value you need to= know both extents, if=0D=0Athe eyebrow can move at most 2cm upwards then y= ou know that distance=0D=0Amoved / 2cm is the correct value of t. If you ha= ve no explicit way of=0D=0Adetermining how far from the extent the movement= is then you need some=0D=0Aother upper bound quantifier. If designing the = animation for a slight=0D=0Agrimace, a small amount of wrinkling would occu= r on the forehead, there=0D=0Afor by attaching some kind of info, such as a= spline or keys to the=0D=0Aanimation to indicate the ammount of wrinkle th= en you can use this=0D=0Ainconjunction with your normal inter key frame int= erpolation controller.=0D=0AIt also becomes artist tunable.=0D=0A=0D=0AIn a= ll honesty I didn't really answer your question as I assume you were=0D=0Ai= ntending to come up with a way of determining the desired wrinkle=0D=0Apure= ly from what is already in your pipeline. Namely something along the=0D=0Al= ines of this set of data.=0D=0A=0D=0A1. vertex positions, start, current, p= ossibly destination,=0D=0A2. t value of interpolation controller,=0D=0A3. b= one weights if present,=0D=0A4. bone degree of freedom, if present.=0D=0A=0D= =0ABasicly you need to identify something that will give you an upper bound=0D= =0Aon the ammount of possible movement so you can identify that as the=0D=0A= point of maximum wrinklyness. Then from the start and that upper bound=0D=0A= working out t.=0D=0A=0D=0A=0D=0A=09One method I was considering was storing= information on two=0D=0Aposes....=0D=0A=09one with the character in the re= laxed position (legs/arms=0D=0Aoutstretched,=0D=0A=09face relaxed), and the= second with the character in the most=0D=0Acreased=0D=0A=09position (legs/= arms completely bent, face scrunched), and then=0D=0Alooking=0D=0A=09at eac= h bone to find out how far I am between these extremes...=0D=0Ahowever=0D=0A= =09this raises many many issues, such as bones that have many=0D=0Adegrees = of=0D=0A=09freedom like shoulders...=0D=0A=0D=0A=0D=0AThat would be an inte= resting idea, the complicated bone arrangements=0D=0Acould be a problem I a= gree. Do you maintain degree of freedom=0D=0Ainformation for your bones, so= you could use ik perhaps=3F Or are they=0D=0Acomepltely free and movement = is only controlled by animations=0D=0Aconstructed by the fair hands of our = lovely friends the artists=3F If you=0D=0Ahave the IK info couldn't you com= pare the bone to its maximum extents=0D=0Aand get your t from there=3F=20=0D= =0A=0D=0AI guess attaching creasyness info to the bone keys would be more d= ata=0D=0Aand would require artists to go back over work already done.=20=0D= =0A=0D=0AI've got to go, but ill have a think, its an interesting problem! = Just=0D=0Awaiting for Tom to do his usual, unless of course RAD havent thou= ght of=0D=0Ait yet ;)=0D=0A=0D=0AAlex=0D=0A=0D=0A******************=0D=0ATh= is e-mail has been sent from Imagination Technologies Limited.=0D=0APowerVR= , Metagence, Ensigma and PURE Digital are divisions=0D=0Aof Imagination Tec= hnologies Limited.=0D=0A=0D=0AThe information contained in this e-mail, inc= luding any attachment,=0D=0Ais confidential and may be legally privileged. = It is intended solely=0D=0Afor the addressee(s) and access to this e-mail = by anyone else is=0D=0Aunauthorised. If you are not the intended recipient= , any disclosure,=0D=0Acopying or distribution or use of the information co= ntained in this=20=0D=0Ae-mail, is prohibited and may be unlawful. If you = have received this=0D=0Ae-mail in error, please notify the sender by return= e-mail and then=0D=0Adelete it from your system.=0D=0A=0D=0AInternet commu= nications cannot be guaranteed to be secure,=0D=0Aerror or virus-free. The= sender does not accept liability for any errors=0D=0Aor omissions which ar= ise as a result.=0D=0A=0D=0AAny views expressed in this message are those o= f the author, except=0D=0Awhere the author specifies and, with authority, s= tates them to be the=0D=0Aviews of Imagination Technologies Limited.=0D=0A |