Third-party renderers, like Arnold or Maxwell, don’t support rendermap so you’ll get this error if you try to do a rendermap. In a recent case, the customer told us that he figured out that “the Maxwell render add-on was causing a conflict. Any old models I made with the add-on installed were affected, but new models created without the add on will bake textures just fine.”
Monthly Archives: July 2011
Python copy-and-paste gotchas
A quick look at some common syntax errors you’ll see if you copy and paste Python code into the script editor. Also, I get on my mini-soap box and tell you you got to know the language syntax if you want to script 😉
Getting Texture Map colors in ICE
I swear this didn’t work the first time I tried 😉 but you can use multiple texture maps.
Just don’t use the Explorer button in the Get Texture Map Color PPG.
Here’s how (hat tip to Letterbox):
- Drag a Get Texture Map Color into your ICE tree.
This node will get the color from the first Texure_Map property you created.
- Then just copy and paste that node, double-click it, and edit the name of the property (eg, change it to “Texture_Map1”).
The Explorer doesn’t want to let you use any other texture map:
Friday Flashback #29
2001 – The FX Tree would be introduced in the soon-to-be-announced XSI 2.0, and this softimage.com banner gave a sneak peak (on the left side, in the background very faintly, you can see a some FX Tree nodes, and on the right, you can see some FX tree scripting).
Click through the image above for a better view of what they’re talking about in this July 2001 thread from the XSI list:
-----Original Message----- From: Jean-Louis Sent: Tuesday, July 31, 2001 8:46 AM To: XSI@Softimage.COM Subject: Re: 2.0 Rumour+Speculation And it looks all scriptable too: on the right of that same red banner you can make out "FxTree.FileInput". If it all turns out to be true I'll be over the moon. -- Jean-Louis Billard Graphics Dept. - Imaj http://www.imajonline.com/ ----- Original Message ----- From: "Meils Dühnforth" To: Sent: Tuesday, July 31, 2001 2:18 PM Subject: RE: 2.0 Rumour+Speculation Look at the interface screenshot shining through the red background at their homepage top - definitely looks like a compositing tree! Guess this is XSI 2.0 and not DS 5.0... Meils Dühnforth nhb studios --- Unsubscribe? Mail Majordomo@Softimage.COM with the following text in body: unsubscribe xsi
Project Photofly 2.1 Now Available – It is Alive in the Lab
Project Photofly 2.1 Now Available
New features include FBX support.
via Project Photofly 2.1 Now Available – It is Alive in the Lab.
Creating keyboard shortcuts for scripts
You can quickly create a keyboard shortcut for a useful script.
All you have to do is drag the script to a toolbar to create a button.
If your button is a “Script Command (external file)”, then the command will be available in File > Keyboard Mapping, in in the Custom Script Command group.
Writing particle point positions to a CSV file
One of the nice things about Python is the convenience of modules like CSV.
A point cloud is an X3DObject, so you could just get the point positions the same way you would for a mesh. But the recommended way to do it is with ICEAttribute.GetDataArrayChunk or, for small point clouds, ICEAttribute.DataArray.
import csv from siutils import si # Application from siutils import sidict # Dictionary from siutils import log # LogMessage # Get a CSV writer object # http://docs.python.org/release/2.5.2/lib/module-csv.html csvWriter = csv.writer(open('cloud1.csv', 'wb'), delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL) # PointCloud is an X3DObject, so you can simply get points at current frame # For large point clouds, use the ICEAttribute object instead points = sidict.GetObject( "pointcloud" ).ActivePrimitive.Geometry.Points; for p in points: #print "(%s, %s, %s)" % ( p.Position.X, p.Position.Y, p.Position.Z ) csvWriter.writerow([p.Position.X, p.Position.Y, p.Position.Z]) # Use the ICEAttribute.DataArray for PointPositions # For large point clouds, use ICEAttribute.GetDataArrayChunk points = sidict.GetObject( "pointcloud" ).ActivePrimitive.Geometry.ICEAttributes("PointPosition").DataArray for p in points: log( "%s, %s, %s" % (p.X, p.Y, p.Z) ) csvWriter.writerow([p.X, p.Y, p.Z])
Update: The above script will write the CSV file in %XSI_BINDIR%. Changing the output location is an exercise left to the reader 😉 as is using GetDataArrayChunck (but for that you can copy the example in the docs).
Silly ICE tricks: randomizing the primitive particle shapes
The primitive shapes (Point, Segment, Disc, Rectangle, and so on) are controlled by the Shape parameter, which is an integer parameter with 10 possible values. So you could just plug a Random Value node into the Shape port, set the mean to Box, and the variance to 4 or 5. Note that if the random value goes out of range, you get a point.
If you don’t want points or segments (or some other shape), you could just use a Randomized Value node to drive a Select Case node:
Understanding locations in ICE
- In ICE, a location is a handle to a specific spot/point/location on a geometric object.
- A location is defined by the topology, so it’s a property that doesn’t change when the 3d object deforms.
- You use locations to “get data”. Given a location you read data, such as positions, normals, and weight maps, from the underlying geometry.
The other day I ran a report on the Softimage support cases since Dec 2010, and broke that down by Operating System:
Now this isn’t necessarily representative of the entire user base, because I’ve heard that typically only 5% of Subscription customers ever use support. This chart represents only the Softimage users who contact support, and relies on the user-selected values for the operating system.
Note the low number of Vista cases. It’s almost all XP or Windows 7, and the XP cases come mostly from Japan.