[Closed] advanced visualization for custom helper meshes
I need to easy visualize different custom helper objects in my scenes.
They are game related objects with a flat mesh.
I desire to implement those 3 main features:
[ol]
[li]billboard (always face view/camera)
[/li][li]draw on top of other objects(low priority)
[/li][li]draw at fixed size even when zoomed in/out.
[/li][/ol]
I guess if there is an optimal solution to achieve this.
An old implementation of mine makes changes to object transformations but it isn’t acceptable as i need to link other objects to those helpers.
I need just the visualization mesh to transform not the node.
I need it to show properly in all the views at the same time.
Can someone give me some maxscript(better) or sdk hints to do that?
I’m using helper for semplicity i can just derive from other class if required.
you can use your old solution but apply the transformation to a xForm modifier, just don’t forget that xForm operates in local space, so you need to multiply the transform by the inverse of the object’s transform.
thanks a lot.
I have tryed but unluckly this doesn’t make my old implementation any better as it woks facing the camera but i really need it to facing every viewport at same time ( as some reactor tools do es. rigid body).
Actually some icons are unrecognizable in other views especially in default main camera angle.
The draw on top can be a bit tricky, you could move the object very close to the camera and scale it down proportionally to get the illusion.
I think you will have a problem with this part if you are implementing as a node based solution. You might want to look into viewport redraw callbacks instead.
I’m reading the manual about Viewport Drawing Methods this seem to be the right way.
even if in some spots doesn’t sound too good. es. it seems to draw on the active view only.
However this could be a minor issue.
I have seen that point helper have this feature now i’m trying to derive from it.
I have rechecked reactor icons and they perfectly fit for my needs but I have no idea how they works.
Another option, though usually at the cost of lower frame rate in viewport, and somewhat longer to implement, is transparent dotnet forms.
see http://www.paulneale.com/tutorials/dotNet/form/index.htm for an example
seem to be the faster vs the slower method.
In those last days I have tryed maxdotnet from ephere too probably a better solution to use .net forms than maxscript.
Unluckly for me some classes i need from sdk seem to be broken and on forum i have got no answer for a while.
my experience with transparent dotnet form overlays is that while they offer more options and are easier to control, the viewport frame rate is halved, painted twice instead of once for every paint cycle, which is usually not acceptable for something which is displayed on screen 100% of the time.
In the end i have put box mesh with different color for all the objects and with an ui when i select a specific type of object it renders on top of everything a color text with object name with viewport drawing.
It works for me as it render really fast is easy to setup face always the screen with fixed size on top of all and i can also recognize specific objects.
Thank you all for the valuable help!