Changing creation/rendering/sorting order

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 02 February 2008   #1
Changing creation/rendering/sorting order

I'm doing lots of work with my realtime shaders in Max, and I'm having issues with alpha sorting. I know what you make in max first renders first, and if you have a multi-sub material, early materials on that object render before later materials. I was hoping/thinking there'd perhaps be a way to access or change this property on a node (like having a 'send to back, send to front, move backwards, move forwards' tool), so that I could change this myself.

In the likely case this is impossible, any other ideas? I've thought of copying all objects in selection to an array, and then deleting the originals, and then replacing with the copies... may try this if I can't get anything else to work.
 
Old 02 February 2008   #2
I've not seen any controls for dealing with the internal ordering... The copy and delete does work however... This inverts the order of all the objects in the $objects array.


(
local totObjs = Objects.count
for i = totObjs to 1 by -1 do
	(
	maxops.cloneNodes Objects[i] newNodes:tn
	Objects[Objects.count].name = Objects[i].name
	delete Objects[i]
	)
)


I'm sure a more controlled version of this would get you what you're looking for... maybe load the names into a listview, allow user reordering, and use the the list from the control for the copy order... delete the originals...

Good luck
__________________
Keith R Morrison
www.focus360.com

XP Pro x64, Win 7 - Max 2009, Max 2013 - Vray 2.30.01 - Backburner (uhg)
 
Old 02 February 2008   #3
Sorry for the delay, was at GDC... I will use those ideas and see if I can figure something out and post what I come up with here, thanks!
 
Old 02 February 2008   #4
Originally Posted by Kramsurfer: I've not seen any controls for dealing with the internal ordering... The copy and delete does work however... This inverts the order of all the objects in the $objects array.


This is really a brute force approach. Much easier (and documented in the MAXScript Reference - See "How To ... Sort TrackView Alphabetically") is to parent the object to a dummy and unlink it immediately (or link back to its original parent) - this will move it to the end of the object database, or to the end of the childrens list of the respective original parent.
__________________
Bobo
 
Old 02 February 2008   #5
Thread automatically closed

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.
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 02:58 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.