Community
Arnold for 3ds Max
Rendering with Arnold in 3ds Max using the MaxtoA plug-in.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can I use aiRenderCurve and aiCurveWidth with operators on standins?

11 REPLIES 11
SOLVED
Reply
Message 1 of 12
darren.hing
739 Views, 11 Replies

Can I use aiRenderCurve and aiCurveWidth with operators on standins?

Can I use aiRenderCurve and aiCurveWidth with operators on standins? I tried but ti didn;t seem to work. I currently have groups on curves listed as 1 curve shape in the standin hierarchy

Labels (5)
11 REPLIES 11
Message 2 of 12
Stephen.Blair
in reply to: darren.hing

aiRenderCurve is not an Arnold parameter. It's a flag that tells MtoA whether or not to export the curves.

If you don't want to render the curves, set the curves.visibility parameter.

aiCurveWidth is curves.radius

but unless your curve width is constant, you have to write out an array of radius values, one for each point on the curve



// Stephen Blair
// Arnold Renderer Support
Message 3 of 12
darren.hing
in reply to: darren.hing

awesome thanks so much. Does radius apply to both tube and ribbon?

Message 4 of 12
Stephen.Blair
in reply to: darren.hing

Radius applies to both ribbon and thick



// Stephen Blair
// Arnold Renderer Support
Message 5 of 12
darren.hing
in reply to: darren.hing

awesome thank you

Message 6 of 12
darren.hing
in reply to: darren.hing

when setting the radius to an array to I create a custom operator? because selecting it from assignment menu creates a single flaot for radius

Message 7 of 12
wisaal.abbas
in reply to: darren.hing

Hi

Sorry to hijack this thread but with regards to the Operator Assignment Expression for aiCurveWidth, curves.radius doesn't seem to work for me.

I have a SetParameter Operator linked to a StandIn Fur system that has been exported from Houdini and assigned a local override in which I would like to change the thickness of the fur via the override. I don't want to change the radius. Only the curve width/thickness.

The Operator is assigned as followed:

it's assigned to - /obj/ChrFur/Chr_Fur_Body/curves:3
the assignment[1] is - int curves.radius = 1

I've tried different values other than 1 and it doesn't do anything.

Also, can you elaborate on the process of adding various radius values for each point of the curve please?

Any help would be appreciated.

Thanks




Message 8 of 12

@

Please ask a new question



// Stephen Blair
// Arnold Renderer Support
Message 9 of 12

@

Darren is my colleague and I've taken over the problem he originally asked about, which is still not giving the required result when using the solution you gave earlier, so my question is a continuation of the original question.

Please advise if you still need me to make a new thread even if my question is related to the same thing and I will gladly do so.

Thanks

Message 10 of 12
Stephen.Blair
in reply to: darren.hing

There is no width, just radius.

A curve node has these parameters:

kick -info curves
node:         curves
type:         shape
output:       (null)
parameters:   29
filename:     <built-in>
version:      6.0.1.0

Type          Name                              Default
------------  --------------------------------  --------------------
BYTE          visibility                        255
BYTE          sidedness                         255
BOOL          receive_shadows                   true
BOOL          self_shadows                      true
BOOL          invert_normals                    false
FLOAT         ray_bias                          1e-06
MATRIX[]      matrix                            (empty)
ENUM          transform_type                    rotate_about_center
NODE[]        shader                            (empty)
BOOL          opaque                            true
BOOL          matte                             false
BOOL          use_light_group                   false
NODE[]        light_group                       (empty)
BOOL          use_shadow_group                  false
NODE[]        shadow_group                      (empty)
STRING[]      trace_sets                        (empty)
FLOAT         motion_start                      0
FLOAT         motion_end                        1
UINT          id                                0
UINT[]        num_points                        (empty)
VECTOR[]      points                            (empty)
FLOAT[]       radius                            (empty)
VECTOR[]      orientations                      (empty)
ENUM          basis                             bezier
ENUM          mode                              ribbon
FLOAT         min_pixel_width                   0
BYTE[]        shidxs                            (empty)
VECTOR2[]     uvs                               (empty)
STRING        name

radius is an array of values, but you can set all values to the same thing, so radius = 1.0 will work

The selection expression must select the curves node.

The assignment is radius = 1.0




// Stephen Blair
// Arnold Renderer Support
Message 11 of 12

Thanks

Will try again with the above information

Message 12 of 12
wisaal.abbas
in reply to: darren.hing

Hi @Stephen Blair

We managed to sort out the radius issue by using extremely small values.

The one thing I am curious about is that in Houdini, we're applying a width node which drives the tapering of the fur towards the tips of the fur. Is this perhaps controllable as a separate Operator as well or will the radius assignment control this as well or is it only controllable in Houdini before export for Maya?

Thanks

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report