Cycles for Softimage

Plugins linking to this thread: (hide)

Sycles 2.1.3Author: Shekn @si-community
V 2.1.3 released August 2023 —

This is a full integration of the Blender Cycles renderer into XSI. This update is a complete rewrite for the latest Cycles version from 2023 and has support for the following Softimage features (quoted from the download page):

Polygon meshes and hair geometry Texture coordinates Vertex colors Shaderball preview. For materials, shader nodes and texture nodes Basic limited support of the following buil-in Softimage shader nodes: Phong, Lambert, Hair Shading, Image, converters between vector, color and scalar Ambience global environment light Limited support of built-in Softimage light sources Model instances ICE strands geometry ICE poitcloud instances ICE geometry attributes (vector, color and scalar) with context per-point and per-object Volume rendering. In particular supports emFluid, Explosia FX and openVDB for Softimage volumes Special VDB Primitive for rendering vdbs without ICE Output multilayered exr file with all rendered passe Rendermaps

The following features from Cycles itself are supported: CPU and GPU rendering. In particular multidevices are supported. This allows to use cpu and gpu simultaneously. Note: This distribution does not contains libraries for gpu rendering. You can download it from here. Unpack the archive and place lib folder to the /Sycles_2_1_2/Application/Plugins/ folder near the file config.ini All Cycles shader nodes OSL shaders OpenColorIO profiles (Blender profile included) All Cycles output passes (Combined, Depth, Normal and so on) Color and value shader AOVs Lightgroups Cycles camera properties, in particular all panorama modes Cycles light sources Denoising by using Open Image Denoise and OptiX denoiser

For more information, full documentation and a list of the available Cycles nodes see the download page linked below. There is no local backup because the addon is still frequently updated - the plugin can be downloaded on Shekn's github releases. The source code is available on github there well.

News concerning 3D DCC business
Shekn
Posts: 215
Joined: 30 Dec 2016, 20:18

Re: Cycles for Softimage

Post by Shekn » 06 Oct 2023, 18:08

It's a strange bug, I failed to reproduce it. When I call to render the whole pass, it renders 5 frames with correct camera fov. I attach the animated gif under the spoiler.
Hidden content: [ Show ]
Image

User avatar
avalon_70
Posts: 41
Joined: 09 Jan 2021, 14:59
Contact:

Re: Cycles for Softimage

Post by avalon_70 » 07 Oct 2023, 03:19

Shekn wrote: 06 Oct 2023, 18:08 It's a strange bug, I failed to reproduce it. When I call to render the whole pass, it renders 5 frames with correct camera fov. I attach the animated gif under the spoiler.
Hi Shekn,
since the bug didn't occur to you, I had a doubt..
I preferably use 2014 for various reasons, and the bug appeared there.
I tried opening the 2015 and it works fine.

User avatar
avalon_70
Posts: 41
Joined: 09 Jan 2021, 14:59
Contact:

Re: Cycles for Softimage

Post by avalon_70 » 11 Oct 2023, 13:44

I investigated further, given that I had also had anomalous behavior in 2015.
I understood where the problem is generated, I don't know if it is a feature or a bug.
When there is no correspondence between the preferences in "output format" and the "Play control" there is a shift in the camera animation.
Image
Image
Image

Shekn
Posts: 215
Joined: 30 Dec 2016, 20:18

Re: Cycles for Softimage

Post by Shekn » 12 Oct 2023, 10:06

Ok, I am able to reproduce this bug. It looks like the Sycles should more carefully select proper time for animated objects and parameters.

Now it selects the time of the rendered frame by

Code: Select all

eval_time = render_context.GetTime();
And then use it like

Code: Select all

XSI::MATH::CMatrix4 camera_tfm_matrix = xsi_camera.GetKinematics().GetGlobal().GetTransform(eval_time).GetMatrix4();
When Frame Rate for Play Control is not 30 fps, then it return different frame with respect to Softimage viewport. It needs more investigations for fixing this behavior.

User avatar
avalon_70
Posts: 41
Joined: 09 Jan 2021, 14:59
Contact:

Re: Cycles for Softimage

Post by avalon_70 » 12 Oct 2023, 14:47

Ok, thank you ^:)^ :)
Shekn wrote: 12 Oct 2023, 10:06 Ok, I am able to reproduce this bug. It looks like the Sycles should more carefully select proper time for animated objects and parameters.

Now it selects the time of the rendered frame by

Code: Select all

eval_time = render_context.GetTime();
And then use it like

Code: Select all

XSI::MATH::CMatrix4 camera_tfm_matrix = xsi_camera.GetKinematics().GetGlobal().GetTransform(eval_time).GetMatrix4();
When Frame Rate for Play Control is not 30 fps, then it return different frame with respect to Softimage viewport. It needs more investigations for fixing this behavior.

User avatar
matevil
Posts: 38
Joined: 23 Mar 2023, 18:49
Location: Italy
Contact:

Re: Cycles for Softimage

Post by matevil » 17 Oct 2023, 12:09

simple question

does it work also on Softimage 2014?

thanks

User avatar
avalon_70
Posts: 41
Joined: 09 Jan 2021, 14:59
Contact:

Re: Cycles for Softimage

Post by avalon_70 » 17 Oct 2023, 15:14

No, in 2014 it's worse... the FOV, when animated, is read badly, and setting the playback to 25 frames doesn't solve the problem.
matevil wrote: 17 Oct 2023, 12:09 simple question

does it work also on Softimage 2014?

thanks

User avatar
matevil
Posts: 38
Joined: 23 Mar 2023, 18:49
Location: Italy
Contact:

Re: Cycles for Softimage

Post by matevil » 17 Oct 2023, 15:35

avalon_70 wrote: 17 Oct 2023, 15:14 No, in 2014 it's worse... the FOV, when animated, is read badly, and setting the playback to 25 frames doesn't solve the problem.
matevil wrote: 17 Oct 2023, 12:09 simple question

does it work also on Softimage 2014?

thanks
ok, thanks a lot

opoppopopp
Posts: 169
Joined: 16 Jun 2009, 06:23

Re: Cycles for Softimage

Post by opoppopopp » 12 Nov 2023, 02:58

Is there any updated doc for Rendering emFluid ?

Follow that 03_2022.pdf, I successfully get "Waste" and "Color" by setting up "Set Volume Float" , "Set Volume Color". But not "Heat" for combustion simulation.

Something must be wrong here.
e.g. What is the correct way to use cycVolumeInfo ? ("cycVolumeInfo" is shown when double click this node, what is this string referenced to ?)

Shekn
Posts: 215
Joined: 30 Dec 2016, 20:18

Re: Cycles for Softimage

Post by Shekn » 12 Nov 2023, 08:29

cycVolumeInfo shader node allows to get some default volume attributes: color, density, flame and temperature. It's possible to get the same attribute by using general cycAttribute node. Simply set the same name and you get the same attribute.

To obtain heat grid from emFluid simulation, you should make the same as for color or waste. Get it by using "f5t Post Get Grid Data" ICE node, and then store inside internal ICE attribute by using "Set Volume Float" (because this attribute is float). You should use names "heat_min", "heat_max", "heat_size" and "heat". It's general rule: to store inside attribute with the name "xxx" use other names "xxx_min", "xxx_max", "xxx_size". Then you will be able to obtain this attribute in the shader tree by using cycAttribute node with attribute name "heat".

Here is a screen with example:
Image

opoppopopp
Posts: 169
Joined: 16 Jun 2009, 06:23

Re: Cycles for Softimage

Post by opoppopopp » 12 Nov 2023, 23:57

Thank you for the quick explanation :-bd

  • WITHOUT those "Post Get Grid Data" in emFluid trees, both "cycVolumeInfo" and "cycAttribute" will NOT work, am I right?
  • Is "Cycles PC Property" relevant to all things? What does "Native Cycles PC" and "Overide PC Color" in "Cycle PC Property" means?
  • I type "density" in cycAttribute to get density, at this time, DO I NEED ALSO type "density" in "Density Attribute" of "cycPrincipledVolume" node? (seems I have to leave it blank, otherwise the result is different compare to a single "cycScatter Volume" node which don't allow to type in anything)

Shekn
Posts: 215
Joined: 30 Dec 2016, 20:18

Re: Cycles for Softimage

Post by Shekn » 14 Nov 2023, 08:26

If pointcloud object contains CyclesPointcloud property with activated "Native Cycles Pointcloud" then it always rendered as a set of balls. All attributes for shader are taken from ICE attributes of this pointcloud (Color, Size and so on). Even if the pointcloud contains strands, instances or volumetric data, all of them are ignored. Rendered object is a set of balls at pointcloud points. It renders much faster than ball instances.

For rendering poinclouds with volumetric data the engine creates internal volume object (on the Cycles side). This object required the array of volumetric data, dimensions and voxel cell size. That's why if we would like to render volume from emFluid we should define all these datas by using "Set Volume Float/Color" ICE node. By this node we get emFluid data from the node "Post Get Grid Data" and save into separate attribute, which will be used by the renderer to create volume object.

For rendering volumetric object we also should transfer data from ICE attribute into the shader. The node cycAttribute should be used for getting values of the ICE attribute by it name. In the ICE tree we store volume data inside attribute with the name "xxx", and then in the shader tree we can use this name "xxx" to load this attribute into shader. There are also some built-in presets for attribute names. The node cycVolumeInfo allows to get attributes with names "color", "denisty", "flame" and "temperature". These attributes also can be obtains by using cycAttribute. These are two equivalent ways. The node cycPrincipledVolume also contains some presets for loading attributes. Instead getting it by cycAttribute node it's possible to define names inside cycPrincipledVolume. These two approaches are also equivalent. So, use either name in the cycPrincipledVolume or name in cycAttribute. I made some test and it looks like if we use both cycAttribute and the name in the cycPrincipledVolume, then it multiply these values.

opoppopopp
Posts: 169
Joined: 16 Jun 2009, 06:23

Re: Cycles for Softimage

Post by opoppopopp » 14 Nov 2023, 20:33

Shekn wrote: 14 Nov 2023, 08:26 ...then it multiply these values.
Thank you for the comprehensive explanation! :ymparty: :ymparty: :ymparty:
Much better understanding now.

opoppopopp
Posts: 169
Joined: 16 Jun 2009, 06:23

Re: Cycles for Softimage

Post by opoppopopp » 14 Nov 2023, 22:48

another question...
how to: drive shader parameters (like strength of a cycEmission), through pure particle attribute (like particle's size)? without any instance things.


After lookup the manual, cycAttribute is intended for instance things right, So tested ... it won't work, and we no longer have "Use PC Attributes for Instances" in PC Property

Shekn
Posts: 215
Joined: 30 Dec 2016, 20:18

Re: Cycles for Softimage

Post by Shekn » 15 Nov 2023, 17:30

As I understand the situation is as follows. You have a master object and pointcloud with instances of this master object. And you would like to use pointlcoud attribute (size of the instance, for example) for shading this instance. The solution is to use colors. In the ICE tree for the pointcloud save required value in some channel of the Color attribute (only inside this attribute, other names will not work). Then in the shader of the master object (the renderer use master object material for instances) use cycObjectInfo node and Color output port. Split this color to RGB values and use channel with required data.

Here is an example. I store instance size in alpha channel of the Color attribute. Then in the shader tree extract it from Alpha output of the cycObjectInfo node. By the way, cycAttribute node with Color name contains colors of point of the master object, not pointcloud. But cycObjectInfo contains colors of the pointcloud points, not master object.
Image

Why only Color attribute should used? Because in the Cycles objects supports color value. All other values are stored in mesh attributes. Mesh is a component of the object in the scene. To create instances we create only one mesh and assign it to different objects. So, all instances use attributes from one mesh. Except color, because color is the property of an object, not a mesh.

opoppopopp
Posts: 169
Joined: 16 Jun 2009, 06:23

Re: Cycles for Softimage

Post by opoppopopp » 15 Nov 2023, 21:27

My fault of not explain question well... :(
How to use ICE Particle attribute on any arbitrary Sycles shader.(no instance and no volume shader things)

have a basic ICE Emission with random size, life, velocity etc. And I want to use, for example, that random per-particle size to drive an arbitrary Sycles node parameter, for example strength a cycEmmision

Like picture below
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 69 guests