#Texture Morph w States?
4 messages in this thread
To morph from one object, with no textures applied (say, a red plastic ball) to
one with textures applied (say, a yellow gas giant planet) you're gonna have to
fake it, with two objects. Here's one suggestion, assuming you have IM3.1:
Object 1: Color 240 0 0 Specularity 200 200 200 hardness 220
Filter 0 0 0
Create a State, OPQ, checking Object Props (and whatever else ya need)
Change the filter value to 255 255 255 — leave Index of refr. at 1.0
Create a State, TRN, checking Object Props as before.
Object 2: Color 250 230 0 Specularity 0 0 0 hardness 0 Filter 0 0 0
Create state OPQ as above
Change filter to 255 255 255, and create state TRN as before
Now it's important that these objects be pretty much identical in shape and
especially axis size, otherwise the "morph" will look funny.
Now, in your stage editor, import object1 and move it around or whatever you
want it to do. Then, in the action editor, add object 2, and use the Associate
bar to make it mimic object 1's movements.
Now you can "morph" between objects; object1 goes from state OPQ to state TRN,
and at the same time object2 goes from state TRN to state OPQ. In effect,
object 1 is fading away as object2 is fading into view. Since the shapes are
the same, and they're moving the same, it looks like one object, with
attributes changing.
This is easiest with IM3.1. It's possible with other versions, 2.0 or 2.9 or
3.0. But I'd recommend you get 3.1 anyway, 'cuz it's lots easier to deal with.
Jim Shields
Regal Rodent Development
Jim,
I see a possible problem with morphing from one object to the next by
fading two states in and out. Halfway through the morph, object1 will be
50% transparent, and so will object 2. The result will indeed be a
half-and-half composite of both attributes, but the result will still be
25% transparent!
A better solution is to enclose object2, fully opaque, with a "shell" made
up of object 1, scaled to 1.01. You can then morph object1 from opaque to
transparent, and the composite result is always fully opaque, since the
inner object is opaque. If your object is complex, e.g. it has holes which
don't scale in the right direction when you scale the entire object, you
may have to pick groups of points using the lasso or drag box, and drag
the points one pixel away from the surface. This would need to be done for
each group of surfaces which needs to be moved in a different way.
For example, if your object is an extruded "O", facing you in the Front
view, select Drag box, Pick points. Select all front points and move them
-.001 in Y. Select the back points and move them .001 in Y. Then select
all points on the edges of the object's hole, and scale them in X and Z by
.999. Select the points on the outer rim of the object, and scale them in
X and Z by 1.001. The result is an object which looks practically the
same, but encloses the original version on all sides.
Blaq!
Blaq,
Here's a repost of my message to Trevor from the Imagine UG in the Graphics
Developers forum. It's another approach at morphing textures without using
transparent duplicate objects as shells. The best part is that it can be done
using Imagine 3.0, or 3.1. Imagine 3.0 users will need to set up two seperate
objects rather than two seperate states. In Imagine 3.0 State1 & State2 would
be Object1 & Object2.
Thought I'd share it here as well.
________________________________
>>
I have never been able to save an object with states with each their own
texture. Any texture I add always gets applied to all states for the object.
<<
Trevor,
It's not possible to do it yet. You can only morph different settings of the
same texture. A true warp & morph of textures would probably be out of the
scope of morphing textures. How would you define the warping mesh? A FADE
type of morph should be possible though, where one texture fades out, while the
other fades in. Actually, this can be done now:
Lets say we want to fade from DinoSkin to Frogskin
Apply Dinoskin, set it up to look as we want it. Apply Frogskin, set it up to
look as we want it. Create two states, each with the textures in these defined
settings. Now we edit each state as described below, then update it
accordingly.
State 1: Keep Dinoskin the way we want it to look. In Frogskin, enter -1 in
the Red components of color, filter, reflective, set bump value to Zero.
State 2: In Dinokin, enter -1 in the Red components of color, filter,
reflective, set bump value to Zero. Keep Frogskin the way we want it to look.
Now when we morph from State1 to State2, we will see the object only with the
Dinoskin texture. As the states morph, the Dinoskin will fade out as the
frogskin fades in. At the end of the morph, we will see only Frogskin.
Hope this gives you some food or thought.
-GreG
Ya know, after you pointed it out, I realized that it wasn't the way I did it,
for just the reason you mentioned.
I haven't done it in a while, and so I needed my memory jogged.
Now I remember: I copied the project, after I got the animation right. In the
second copy of the project, I changed the "morphing" object to my second
version. I then rendered the transition frames in both projects, and used
ADPro to do a cross-dissolve. No opacity problems.
Jim Shields