Customizing ICE compound property pages (PPGs)


Q: Can I use groups and tabs to organize the exposed ports on my compound PPG? Can I add PPG logic (callbacks)?

A: Yes, you can add groups, but not tabs or PPG logic.

Most of what you can customize on a ICE compound PPG is available in the UI through the exposed port properties.

Unlike shader compounds, you’ll notice there’s no way to specify groups, tabs, or PPG logic.

To define groups, you’ll have to edit the .xsicompound file and manually add your groups in the layout element.

For example, here’s the layout for the Deform by Curve compound. This xml shows the full available syntax for the layout section. No other elements (like ) are supported: I checked the code that loads ICE .xsicompound files.

<layout>
	<item type="input" name="Mute"> </item>
	<item type="input" name="Curve_Name"> </item>
	<item type="input" name="Reference"> </item>
	<item type="input" name="Axis" min="0" max="0">
		<enum value="0"><![CDATA[X Axis]]></enum>
		<enum value="1"><![CDATA[Y Axis]]></enum>
		<enum value="2"><![CDATA[Z Axis]]></enum>
	</item>
	<group type="input" name="Scaling Along">
		<item type="input" name="Scale_Curve" min="-10" max="20"> </item>
		<item type="input" name="Scale_Normal" min="-10" max="20"> </item>
		<item type="input" name="Scale_BiNormal" min="-10" max="20"> </item>
	</group>
	<group type="input" name="Roll">
		<item type="input" name="Roll" min="-360" max="360"> </item>
	</group>
	<group type="input" name="Translate">
		<item type="input" name="Along_Curve" min="-20" max="20"> </item>
		<item type="input" name="Along_Normal" min="-2" max="2"> </item>
		<item type="input" name="Along_Binormal" min="-2" max="2"> </item>
	</group>
	<group type="input" name="Constraint">
		<item type="input" name="Constrain_To_Deformer"> </item>
		<item type="input" name="Constrain_To_Deformee"> </item>
	</group>
	<group type="input" name="Profiles">
		<item type="input" name="Use_Scale_Profile"> </item>
		<item type="input" name="Scale_Profile"> </item>
		<item type="input" name="Use_Roll_Profile"> </item>
		<item type="input" name="Roll_Profile"> </item>
	</group>
	<item type="output" name="result"> </item>
</layout>

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s