It tells Softimage that the shader wants data from ICE graph. Or
something like that.
On 28/01/2013 3:15 PM, Steven Caron wrote:
aah yes! i didn't have it instanced in the scene yet. this is
interesting too, ICEAttributes property on a shader node?
from siutils import si
si = si()# win32com.client.Dispatch('XSI.Application')
from siutils import log# LogMessage
from siutils import disp# win32com.client.Dispatch
from siutils import C# win32com.client.constants
for shaderdef in si.ShaderDefinitions:
if shaderdef.Name == "Softimage.BA_particle_density3.1.0":
for shader in shaderdef.ShaderInstances:
for attr in shader.ICEAttributes:
log(attr.Name)
On Mon, Jan 28, 2013 at 12:07 PM, Stephen Blair
<stephenrbl...@gmail.com <mailto:stephenrbl...@gmail.com>> wrote:
I found I could get the ICEattribute for Particle Density if the
shader exists in the scene (in 2013sp1). But that's not true for
the other shaders that have ICEattribute.
In 2013 SP1, in Python:
sdef = Application.GetShaderDef(
"Softimage.BA_particle_density3.1.0" )
for i in range( len(sdef.Attributes.Names) ):
print "%s=%s" % ( sdef.Attributes.Names[i],
sdef.Attributes.Values[i] )
If you run that snippet in a blank scene, you get:
// INFO : Softimage.BA_particle_density3.1.0
// INFO : Softimage.BA_particle_density3.1.0 has 2 attribute
name(s) and 2 value(s):
// INFO : - shaderlocation == 3
// INFO : - thumbnail == particle.bmp
If you run this script first:
CreatePrim("Grid", "MeshSurface", null, null);
ICEFlow_CreateParticles(null, null, null);
ApplyShader("ICEParticleVolumeShader", "",
"ICEParticleVolumeShader", "", siLetLocalMaterialsOverlap);
then you get this:
# shaderlocation=3
# thumbnail=particle.bmp
# {C535FA4D-E44A-45EB-AEE0-9F9AAEA91745}=None
#
{20ECB4F8-A4A1-44FE-956A-0F6E98D541A8}=Color,Id,PointVelocity,Orientation,Size,PointPosition,Age,AgeLimit,StrandPosition,StrandVelocity,StrandSize,StrandOrientation,StrandColor
On 28/01/2013 3:01 PM, Steven Caron wrote:
i thought this might be it but i tried it in scripting and didn't
get anything related to iceattributes...
http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_cpp/classXSI_1_1ShaderDef.html#a558539353bd99263d936703078f01369
no other ideas from me
On Mon, Jan 28, 2013 at 11:46 AM, Stefano Jannuzzo
<stefano.jannu...@gmail.com <mailto:stefano.jannu...@gmail.com>>
wrote:
Hi folks.
There are a few shaders that declare the list of ICE
attributes they require to work, by listing their names in
the output parameter section of their spdl.
For instance, if you edit particle_Density, you can read
ICEattribute =
"Color,Id,PointVelocity,Orientation,Size,PointPosition,Age,AgeLimit,StrandPosition,StrandVelocity,StrandSize,StrandOrientation,StrandColor";
I need to retrieve this list in a cpp command (2011 and
above), with no success yet. Any idea?
Stefano