2nd Generation ICE, Custom ICE Node GetSceneMaterials

Plugins linking to this thread: (hide)

Get Scene MaterialsAuthor: Stephen Blair
2013+ only. Performs a substring search in the current material library and returns a string array with the matching materials. This string array can be connected to the ICE »Materials« attribute of a polygon mesh object - that way a material can be dynamically selected per polygon using the »MaterialID« attribute.

Install by putting the dll file into any Softimage Plugins folder. By permission shared by si-community user Nolan. See the thread linked below for a discussion of this addon and a screenshot expaining its usage.

local backup: ICESceneMaterials.zip

Discussions about SOFTIMAGEs© Interactive Creative Environment©
Post Reply
User avatar
Nolan
Posts: 54
Joined: 11 Apr 2011, 23:47

2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by Nolan » 22 Apr 2012, 06:59

Here is a plug-in custom ICE node that can get the material based on a wild card type match of its name. What I was attempting to do was see if Softimage could apply materials dynamically. This way you could use a combination of the objects name substring , group and some randomness perhaps even a custom parameter string you used for tags to dynamically add different materials based on substrings for example with a large scene like a city that has a lot of repeating elements but you want some easy to produce variation. Just the materials aspect would make Softimage compete with The Foundries Katana as Softimage as we know has a second to none partition, pass and channel system.

Unfortunately the way ICE is designed, it has to know in advance as part of the tree, what objects it Sets Data on. At present ICE can’t Set Data dynamically http://xsisupport.wordpress.com/2010/08 ... ting-data/ .
This limits it to the sort of, known object, materials application as shown in the image.

Of course this wildcard GetData and dynamic dispatch could be used on elements besides just materials.

So I’m suggesting a 2nd generation ICE where you can Set Data dynamically on elements the ICE tree doesn’t know about in advance.

I believe I have to email the ICE node.dll so this type of file can be attached.

In few other ways have I hit architectural limitations of ICE and Softimage. Great job developers old and new.

Moderator edit: I've placed both dll and scn in a separate zip file and added them to this post as attachments. Please note: unsupported file types can "always" be attached as zip files, file size being the only limitation. I haven't got time at the moment to test them myself, that's why I haven't placed the files on "our" server yet. Oh and please use the URL tags - HB
Attachments
ICE_GetSceneMaterials.scn.zip
(84.11 KiB) Downloaded 225 times
ICESceneMaterials.dll.zip
(7.54 KiB) Downloaded 213 times
ICEGetSceneMaterials1280.jpg
Last edited by Nolan on 22 Apr 2012, 23:42, edited 1 time in total.
Nolan
Second Nature Ltd
www.2ndNature.co.nz

iamVFX
Posts: 697
Joined: 24 Sep 2010, 18:28

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by iamVFX » 22 Apr 2012, 12:53

Autodesk Softimage Winchester Beta2.... Sounds interesting :D

If this one called winchester there must be a cloud one...

Oh, and yes, ICE is not perfect in many ways, but this limitation as old as the XSI is. The famous rabbit rig is impossible to reproduce without the use of scripts for setting data to a group members.

I more like new build array from set of locations feature, indices of which is not matched with an array of vertex indices. And you can't sort array of locations. But who cares?

User avatar
Nolan
Posts: 54
Joined: 11 Apr 2011, 23:47

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by Nolan » 22 Apr 2012, 17:56

Softimage Winchester Beta2. That image, and Softimage titlebar, and the developed dll come from Softimage support as prompted by the mere suggestion of what I was trying to do. Wasn’t expecting that level of support! As to what’s in that app and what’s next, I have no inside information.

How do you get from Winchester to Cloud. I tried googling “Winchester, Cloud” and it came to naught. I see a cloud implementation as a “Data Centre as, dongle” :-) Not a bad thing. But nice if they can surprise me, in a good way. They could add a little collective intelligence, hive mind, through having multiple users doing similar things. At least one company, name misplaced, are already doing that in the rigging/animation space which is one place where I can see it being useful.

Luceric once asked what would be Softimage next generation. For him and Chun Pong and Softimage developers what is your next generation ICE and or Softimage idea? I’m not sure if you can mute overrides. Which the correct metaphor I recommend would be to hide them so you get to see, feedback, the H icon in the explorer.
Nolan
Second Nature Ltd
www.2ndNature.co.nz

User avatar
Nolan
Posts: 54
Joined: 11 Apr 2011, 23:47

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by Nolan » 22 Apr 2012, 20:58

I received this support in around 12/2011 and it was in late Beta so I suppose it’s probably 2013 Beta. Sorry to disappoint ;-)

Permission was received to distribute it. Remember that because of 1st gen ICE limitations it doesn’t do as required. It’s more of a way to segway into any discussion about ICE gen 2.

Pretty sure it’s the “64bit” custom ICE node I uploaded.
Nolan
Second Nature Ltd
www.2ndNature.co.nz

fabricio.chamon
Posts: 94
Joined: 09 Jun 2009, 23:47

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by fabricio.chamon » 23 Apr 2012, 04:17

this is super nice Nolan, thanks!

if you allow me to hijack the thread a little bit, here are some thoughts about a next generation of ICE:

a) dynamic pointers to scene objects (I know this is prohibitive and not allowed by design, but think how cool that would be!). A node like "String to Reference", of course it would accept wildcards or even regular expressions, resolving to a single object or arrays.

b) setting data on groups (skip whenever the attribute is not present on a group member).
Could be also true to the a) situation. Example: Set Data "null*.size" -> 10 (every null on the scene is now 10 units in size, ice takes precedence over keyframed animations)

c) upstream data, a la Houdini's "stamp" feature. Example: say I have a procedural rock and I want to scatter a bunch of instances onto a particle system. They can vary in size, position and orientation, but they'll always be the same rock. Now say you can use the "pointID" attribute upstreamed to the seed of the rock coumpound, that would generate a different rock type for each instance. This is major control and proceduralism at its best! hats off for houdini guys for implementing this btw.

d) transparent GPU process power utilization whenever possible.

sorry, couldn't resist! :)

User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands
Contact:

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by Rork » 23 Apr 2012, 10:31

Just to burst everybodies bubble before it get's out of hand:
The Winchester beta was the beta phase for Softimage 2013.

So, old screendumps here ;)

Also.... be aware that a lot of stuff changes during a beta cycle, so plugins/addons/ICE compounds etc. from that beta period might not always behave the same way in the retail version :-B

rob
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

User avatar
ace63
Posts: 176
Joined: 07 Jun 2009, 12:30

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by ace63 » 24 Apr 2012, 12:12

I'm with fabricio here - proper support for groups would be so uber-cool.

And while we are at it: Implement item rearranging in groups.

grahamef
Posts: 281
Joined: 23 Jun 2009, 21:01

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by grahamef » 24 Apr 2012, 18:54

ace63 wrote:And while we are at it: Implement item rearranging in groups.
You mean like this: http://download.autodesk.com/global/doc ... 116939A391?

User avatar
dwigfor
Posts: 395
Joined: 17 Nov 2009, 17:46

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by dwigfor » 24 Apr 2012, 20:54

grahamef wrote:
ace63 wrote:And while we are at it: Implement item rearranging in groups.
You mean like this: http://download.autodesk.com/global/doc ... 116939A391?
Oh cool. I'll have to try this out in ICE to see if it works (for instance shape->groups). If I were to sort it, and then change back view/GeneralSort/Type+Alphabetical, would it nullify the reorder?

-Dave

grahamef
Posts: 281
Joined: 23 Jun 2009, 21:01

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by grahamef » 24 Apr 2012, 21:18

dwigfor wrote: Oh cool. I'll have to try this out in ICE to see if it works (for instance shape->groups). If I were to sort it, and then change back view/GeneralSort/Type+Alphabetical, would it nullify the reorder?

-Dave
No, the only reason to switch the viewing order first is so that you can see underlying order as you change it (and so that Softimage can make sense of where you drop things). After that, the sort order is just a viewing thing.

I think you might need to reconnect the group in the ICE tree afterwards though.

User avatar
ace63
Posts: 176
Joined: 07 Jun 2009, 12:30

Re: 2nd Generation ICE, Custom ICE Node GetSceneMaterials

Post by ace63 » 24 Apr 2012, 21:56

grahamef wrote:
ace63 wrote:And while we are at it: Implement item rearranging in groups.
You mean like this: http://download.autodesk.com/global/doc ... 116939A391?
Humm that really already exists? That could have saved me some time -_-

Post Reply

Who is online

Users browsing this forum: No registered users and 35 guests