Not sure how this is supposed to work, it’s just returning zeros for me. 3ds max 2012 sp2, default scanline renderer. Just have a standard material, put Ember Texmap into diffuse color, picked SIM Ember with position set to color.
How do you specify the channel to be used? Like are we expecting Color->Color? What would be Mono and NormalPerturb? Density and Normal?
For coordinates, are we assuming the Ember domain box is the 0-1 coordinates for the map?
Is the map discretized and cached? Or is the Ember evaluated for each sample?
Nitpicking because I can’t get the useful bits to work so I can’t come up with better feedback… the “tex” in texmap seems a bit redundant in the context of how it is used. Heck, even the whole word could be removed, right? In a list of maps, Ember should stand out well enough, right? Discuss.
Current bug/limitation is that the node transforms are ignored.
So your objects MUST be at the origin, with any mesh animation performed in object space as opposed to world space.
For example, if you create a Teapot at 0,0,0 inside a grid that is at 0,0,0, you will get the right results.
If you clone that Teapot to the side, it will shade as if it were at 0,0,0.
If you add an XForm to the clone and move the mesh within the stack, it will shade correctly.
In other words, right now it works best with Particle Flow where the mesh is in world space anyway.
We will be looking into handling the transforms correctly in the future.
[attachment=0]Ember_Texmap_example_v001.png[/attachment]
I am under the impression that it works correctly with meshes in either XYZ (where [X,Y,Z] in the “target” object’s local space maps to [X,Y,Z] in the Ember object’s local space) or World XYZ (where the target object’s world space transform is applied, but the transform from world space to the Ember object’s object sapce is not applied so your Ember object should have an identity transform).
The “Color” float32[3] channel is hard-coded to be used at the moment. Mono maps evaluate the average of the color, and NormalPerturb doesn’t work. We plan to support mono channels and normal perturb in the future, as well as allowing an arbitrary channel to be selected.
That’s an interesting idea, but not how it works currently. The UVW (or XYZ) passed to the map is currently interpreted as ObjectSpace coordinates in the Ember object. In the future we would like to apply the reverse node transform of the ember object but that isn’t currently done.
This depends on the settings of the object pointed at. If you have “discretize” checked on the target SimEmber then a grid is automatically created. Otherwise you could always add your own Grid node in the expression if you wanted that behavior. Without those conditions met, the entire expression is evaluated for each map sample.
Makes sense. Ember Voxmap sounds a lot weirder than Ember Texmap but it was another alternative.