question

Darren Hing avatar image
Darren Hing asked ·

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

rendershaderhairoperatorcurve
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

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

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Darren Hing avatar image
Darren Hing answered ·

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

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Stephen Blair avatar image
Stephen Blair answered ·

Radius applies to both ribbon and thick

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Darren Hing avatar image
Darren Hing answered ·

awesome thank you

1 comment Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

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

0 Likes 0 · ·
Wisaal Abbas avatar image
Wisaal Abbas answered ·

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




2 comments Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

@

Please ask a new question

0 Likes 0 · ·
Wisaal Abbas avatar image Wisaal Abbas Stephen Blair ♦♦ ·

@

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

0 Likes 0 · ·
Stephen Blair avatar image
Stephen Blair answered ·

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


1 comment Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Thanks

Will try again with the above information

0 Likes 0 · ·
Wisaal Abbas avatar image
Wisaal Abbas answered ·

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

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.