Skip to content

Commit

Permalink
[UPDATE] Fixed HDA parameters for *Labs Unreal Spline*.
Browse files Browse the repository at this point in the history
MoSideFX committed Dec 11, 2024
1 parent de4f61a commit e1d6fce
Showing 18 changed files with 106 additions and 116 deletions.
18 changes: 9 additions & 9 deletions help/nodes/sop/labs--unreal_spline-1.0.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
#type: node
#context: sop
#internal: labs::unreal_spline::1.0
#icon: SOP/labs::unreal_spline::1.0
#since: 20.0
#icon: /labs_icons/sidefxlabs_default.svg
#since: 20.5

= Unreal Spline (Beta) =

"""Takes a curve and turns it into an Unreal Spline, it can import and export multiple splines."""

This node exports curve data as a json file which you can use to create spline components inside a blueprint asset or through spawning multiple blueprint actors, each containing one spline component. Afterwards, you can export from Unreal any edits you made to your splines and import them back into Houdini. The json data contains: position, tangent, scale, roll and tags.
This node exports curve data as a JSON file which you can use to create spline components inside a blueprint asset or through spawning multiple blueprint actors, each containing one spline component. Afterwards, you can export from Unreal any edits you made to your splines and import them back into Houdini. The JSON data contains: position, tangent, scale, roll and tags.
Make sure the SideFX_Labs folder is in your Unreal project Plugins folder so you can use the scripted actions to import and export the splines. Create a blueprint, add one spline component and turn ON "Override Construction Script" on the spline so you can edit in the level. Now you can right click on the blueprint asset, go to scripted asset actions, "Import / Export Spline", specify the spline file path and hit Ok. You have extra options to write the spline data to the blueprint itself rather than spawning it multiple times in the level, and you can export the spline data from the blueprint. You can also select multiple blueprints in the level containing multiple spline components and right click in the outliner, scripted actor actions, export spline actors.


@@ -18,11 +18,11 @@ Make sure the SideFX_Labs folder is in your Unreal project Plugins folder so you

Export:
#id: export
Exports an Unreal spline json file.
Exports an Unreal spline JSON file.

Import:
#id: import_spline
Imports an Unreal spline from a json file.
Imports an Unreal spline from a JSON file.

File Path:
#id: file_export_spline
@@ -41,13 +41,13 @@ Make sure the SideFX_Labs folder is in your Unreal project Plugins folder so you
Mode:
#id: mode

arrow:
Arrow:

box:
Box:

sweep:
Sweep:

spline:
Spline:

Handles:
#id: handles
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Operator: labs::unreal_spline::1.0
Label: Unreal Spline
Label: Labs Unreal Spline (Beta)
Path: oplib:/labs::Sop/unreal_spline::1.0?labs::Sop/unreal_spline::1.0
Icon: SOP_subnet
Icon: sidefxlabs_default.svg
Table: Sop
License:
Extra: inputcolors='1 "RGB 0.700195 0.700195 0.700195" ' outputcolors='1 "RGB 0.700195 0.700195 0.700195" '
@@ -10,5 +10,5 @@ Inputs: 0 to 1
Subnet: true
Python: false
Empty: false
Modified: Fri Nov 1 16:26:25 2024
Modified: Wed Dec 11 16:22:35 2024

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@
"hdaroot/__netbox7.netboxinit":1729023550,
"hdaroot/gnomon/red.def":1729518520,
"hdaroot/rot_gnomon/transform1.def":1729518224,
"hdaroot.def":1730481499,
"hdaroot.def":1733948666,
"hdaroot/__netbox10.netboxinit":1729549981,
"hdaroot/gnomon/copytopoints2.def":1729881657,
"hdaroot/tag_primitives.def":1729020804,
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"values":["20.5.370","2"
"values":["20.5.408","2"
],
"indexes":{
"hdaroot/Control_Points/connectivity2.userdata":0,
Original file line number Diff line number Diff line change
@@ -32,17 +32,19 @@ Content-Type: text/plain

sopflags sopflags =
comment ""
position 20.575 -4.87883
connectornextid 0
position -5.52871 -0.340539
connectornextid 1
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault on exposed on
outputsNamed3
{
}
inputsNamed3
{
0 curve1 0 1 "input1"
}
inputs
{
0 curve1 0 1
}
stat
{
@@ -79,7 +81,7 @@ Content-Type: text/plain
comment := "Convert to Spline";
height := 12.34088960569056;
minimized := 0;
width := 6.037262753756835;
width := 6.2317975654025695;
x_position := -1.0067162211727865;
y_position := -7.825794825872724;
}
@@ -2917,7 +2919,7 @@ sopflags sopflags =
comment ""
position 0.232161 -6.97794
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
1 "output1"
@@ -7788,44 +7790,44 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../orient_up1interp\") }
}
channel orient_up2pos {
channel ramp_scale1pos {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../orient_up2pos\") }
segment { length = 0 expr = ch(\"../ramp_scale1pos\") }
}
channel orient_up2value {
channel ramp_scale1value {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 expr = ch(\"../orient_up2value\") }
segment { length = 0 value = 1 1 expr = ch(\"../ramp_scale1value\") }
}
channel orient_up2interp {
channel ramp_scale1interp {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../orient_up2interp\") }
segment { length = 0 value = 1 1 expr = ch(\"../ramp_scale1interp\") }
}
channel ramp_scale1pos {
channel orient_up2pos {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../ramp_scale1pos\") }
segment { length = 0 expr = ch(\"../orient_up2pos\") }
}
channel ramp_scale1value {
channel orient_up2value {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../ramp_scale1value\") }
segment { length = 0 expr = ch(\"../orient_up2value\") }
}
channel ramp_scale1interp {
channel orient_up2interp {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../ramp_scale1interp\") }
segment { length = 0 value = 1 1 expr = ch(\"../orient_up2interp\") }
}
channel ramp_scale2pos {
lefttype = extend
@@ -7907,17 +7909,17 @@ orient_up [ 0 locks=0 ] ( [ orient_up 2 ] )
orient_up1pos [ 0 locks=0 ] ( [ orient_up1pos 0 ] )
orient_up1value [ 0 locks=0 ] ( [ orient_up1value 0 ] )
orient_up1interp [ 0 locks=0 ] ( [ orient_up1interp 1 ] )
orient_up2pos [ 0 locks=0 ] ( [ orient_up2pos 0 ] )
orient_up2value [ 0 locks=0 ] ( [ orient_up2value 0 ] )
orient_up2interp [ 0 locks=0 ] ( [ orient_up2interp 1 ] )
ramp_scale [ 0 locks=0 ] ( [ ramp_scale 2 ] )
ramp_scale1pos [ 0 locks=0 ] ( [ ramp_scale1pos 0 ] )
ramp_scale1value [ 0 locks=0 ] ( [ ramp_scale1value 0 ] )
ramp_scale1interp [ 0 locks=0 ] ( [ ramp_scale1interp 1 ] )
global_scale [ 0 locks=0 ] ( [ global_scale 0 ] )
orient_up2pos [ 0 locks=0 ] ( [ orient_up2pos 0 ] )
orient_up2value [ 0 locks=0 ] ( [ orient_up2value 0 ] )
orient_up2interp [ 0 locks=0 ] ( [ orient_up2interp 1 ] )
ramp_scale2pos [ 0 locks=0 ] ( [ ramp_scale2pos 0 ] )
ramp_scale2value [ 0 locks=0 ] ( [ ramp_scale2value 0 ] )
ramp_scale2interp [ 0 locks=0 ] ( [ ramp_scale2interp 1 ] )
global_scale [ 0 locks=0 ] ( [ global_scale 0 ] )
}

--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
@@ -8028,7 +8030,7 @@ sopflags sopflags =
comment ""
position 0.810964 -25.4531
connectornextid 2
flags = lock off model off template off footprint off xray off bypass off display on render on highlight off unload off savedata off compress on colordefault off exposed on
flags = lock off model off template off footprint off xray off bypass off display off render off highlight off unload off savedata off compress on colordefault off exposed on
outputsNamed3
{
1 "output1"
@@ -12306,43 +12308,43 @@ Content-Type: text/plain
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../orient_and_scale/orient_up1interp\") }
}
channel orient_up2pos {
channel ramp_scale1pos {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../orient_and_scale/orient_up2pos\") }
segment { length = 0 expr = ch(\"../orient_and_scale/ramp_scale1pos\") }
}
channel orient_up2value {
channel ramp_scale1value {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../orient_and_scale/orient_up2value\") }
segment { length = 0 expr = ch(\"../orient_and_scale/ramp_scale1value\") }
}
channel orient_up2interp {
channel ramp_scale1interp {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../orient_and_scale/orient_up2interp\") }
segment { length = 0 value = 1 1 expr = ch(\"../orient_and_scale/ramp_scale1interp\") }
}
channel ramp_scale1pos {
channel orient_up2pos {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../orient_and_scale/ramp_scale1pos\") }
segment { length = 0 expr = ch(\"../orient_and_scale/orient_up2pos\") }
}
channel ramp_scale1value {
channel orient_up2value {
lefttype = extend
righttype = extend
flags = 0
segment { length = 0 expr = ch(\"../orient_and_scale/ramp_scale1value\") }
segment { length = 0 expr = ch(\"../orient_and_scale/orient_up2value\") }
}
channel ramp_scale1interp {
channel orient_up2interp {
lefttype = extend
righttype = extend
default = 1
flags = 0
segment { length = 0 value = 1 1 expr = ch(\"../orient_and_scale/ramp_scale1interp\") }
segment { length = 0 value = 1 1 expr = ch(\"../orient_and_scale/orient_up2interp\") }
}
channel ramp_scale2pos {
lefttype = extend
@@ -12538,17 +12540,17 @@ orient_up [ 0 locks=0 ] ( [ orient_up 2 ] )
orient_up1pos [ 0 locks=0 ] ( [ orient_up1pos 0 ] )
orient_up1value [ 0 locks=0 ] ( [ orient_up1value 0 ] )
orient_up1interp [ 0 locks=0 ] ( [ orient_up1interp 1 ] )
orient_up2pos [ 0 locks=0 ] ( [ orient_up2pos 0 ] )
orient_up2value [ 0 locks=0 ] ( [ orient_up2value 0 ] )
orient_up2interp [ 0 locks=0 ] ( [ orient_up2interp 1 ] )
ramp_scale [ 0 locks=0 ] ( [ ramp_scale 2 ] )
ramp_scale1pos [ 0 locks=0 ] ( [ ramp_scale1pos 0 ] )
ramp_scale1value [ 0 locks=0 ] ( [ ramp_scale1value 0 ] )
ramp_scale1interp [ 0 locks=0 ] ( [ ramp_scale1interp 1 ] )
global_scale [ 0 locks=0 ] ( [ global_scale 0 ] )
orient_up2pos [ 0 locks=0 ] ( [ orient_up2pos 0 ] )
orient_up2value [ 0 locks=0 ] ( [ orient_up2value 0 ] )
orient_up2interp [ 0 locks=0 ] ( [ orient_up2interp 1 ] )
ramp_scale2pos [ 0 locks=0 ] ( [ ramp_scale2pos 0 ] )
ramp_scale2value [ 0 locks=0 ] ( [ ramp_scale2value 0 ] )
ramp_scale2interp [ 0 locks=0 ] ( [ ramp_scale2interp 1 ] )
global_scale [ 0 locks=0 ] ( [ global_scale 0 ] )
}

--HOUDINIMIMEBOUNDARY0xD3ADD339-0x00000F49-0x56B122C9-0x00000001HOUDINIMIMEBOUNDARY
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
{
"hdaroot/__netbox15.netboxinit":1730492780,
"hdaroot/__netbox15.netboxinit":1733948667,
"hdaroot/switch_export_import1.def":1730228291,
"hdaroot/gnomon/line2.def":1730224455,
"hdaroot/__netbox3.netboxinit":1730492779,
"hdaroot/__netbox3.netboxinit":1733948666,
"hdaroot/attribdelete_normal1.def":1730227325,
"hdaroot/Control_Points/add1.def":1730225583,
"hdaroot/Control_Points/foreach_end3.def":1730225549,
"hdaroot/handles.def":1730228303,
"hdaroot/__netbox8.netboxinit":1730492798,
"hdaroot/__netbox8.netboxinit":1733948685,
"hdaroot/gnomon/merge3.def":1729881996,
"hdaroot/orientalongcurve4.def":1730227479,
"hdaroot/rot_gnomon/color3.def":1729889892,
"hdaroot/Control_Points/output1.def":1730227689,
"hdaroot/__netbox14.netboxinit":1730492783,
"hdaroot/__netbox1.netboxinit":1730492789,
"hdaroot/switch_export_import.def":1730228301,
"hdaroot/__netbox14.netboxinit":1733948670,
"hdaroot/__netbox1.netboxinit":1733948676,
"hdaroot/switch_export_import.def":1733945308,
"hdaroot/rot_gnomon/merge3.def":1729889353,
"hdaroot/Control_Points/connectivity2.def":1730225425,
"hdaroot/copytopoints4.def":1730228303,
"hdaroot/rot_gnomon/color1.def":1729889892,
"hdaroot/Control_Points/foreach_begin3_metadata1.def":1729918971,
"hdaroot/gnomon/green.def":1729881964,
"hdaroot/out_export.def":1730228280,
"hdaroot/out_export.def":1733945394,
"hdaroot/roll_from_orient_and_N1.def":1730227345,
"hdaroot/switch_viz.def":1730229368,
"hdaroot/merge2.def":1730228303,
@@ -43,72 +43,72 @@
"hdaroot/gnomon/merge1.def":1729881996,
"hdaroot/attribdelete1.def":1730229408,
"hdaroot/gnomon/blue.def":1729881970,
"hdaroot/orient_and_scale1.def":1730228440,
"hdaroot/orient_and_scale1.def":1733934521,
"hdaroot/gnomon/line3.def":1730224462,
"hdaroot/Control_Points/control_points2.def":1730225229,
"hdaroot/__netbox7.netboxinit":1730492782,
"hdaroot/__netbox7.netboxinit":1733948669,
"hdaroot/gnomon/red.def":1729881966,
"hdaroot/rot_gnomon/transform1.def":1730224533,
"hdaroot.def":1730492793,
"hdaroot/__netbox10.netboxinit":1730492779,
"hdaroot.def":1733952153,
"hdaroot/__netbox10.netboxinit":1733948666,
"hdaroot/gnomon/copytopoints2.def":1729881930,
"hdaroot/tag_primitives.def":1730226017,
"hdaroot/tag_primitives.def":1733945401,
"hdaroot/rot_gnomon/output0.def":1730224805,
"hdaroot/gnomon.def":1730228303,
"hdaroot/__netbox5.netboxinit":1730492779,
"hdaroot/__netbox5.netboxinit":1733948666,
"hdaroot/Control_Points.def":1730228882,
"hdaroot/merge1.def":1730228303,
"hdaroot/make_sure_tangents_are_not_broken.def":1729883016,
"hdaroot/sort_prims_and_points.def":1730135961,
"hdaroot/__netbox12.netboxinit":1730492780,
"hdaroot/make_sure_tangents_are_not_broken.def":1733948504,
"hdaroot/sort_prims_and_points.def":1733934563,
"hdaroot/__netbox12.netboxinit":1733948667,
"hdaroot/Control_Points/foreach_end4.def":1730225594,
"hdaroot/box.def":1730228303,
"hdaroot/curve_from_json.def":1730229090,
"hdaroot/orientalongcurve3.def":1730227491,
"hdaroot/__netbox9.netboxinit":1730492782,
"hdaroot/curve_from_json.def":1733934558,
"hdaroot/orientalongcurve3.def":1733934566,
"hdaroot/__netbox9.netboxinit":1733948669,
"hdaroot/Control_Points/merge1.def":1730228881,
"hdaroot/Control_Points/sphere1.def":1730228189,
"hdaroot/__netbox4.netboxinit":1730492779,
"hdaroot/__netbox4.netboxinit":1733948666,
"hdaroot/box/color.def":1729882050,
"hdaroot/convert1.def":1730227302,
"hdaroot/__netbox2.netboxinit":1730492782,
"hdaroot/__netbox2.netboxinit":1733948669,
"hdaroot/gnomon/tube2.def":1729881948,
"hdaroot/box/output0.def":1729882050,
"hdaroot/__netbox13.netboxinit":1730492779,
"hdaroot/Control_Points/foreach_begin3.def":1730251095,
"hdaroot/__netbox13.netboxinit":1733948666,
"hdaroot/Control_Points/foreach_begin3.def":1733952150,
"hdaroot/gnomon/copytopoints1.def":1729881946,
"hdaroot/resample9.def":1730228321,
"hdaroot/orientalongcurve5.def":1730227630,
"hdaroot/orientalongcurve5.def":1733934565,
"hdaroot/rot_gnomon/color4.def":1729889892,
"hdaroot/default_scale.def":1729883016,
"hdaroot/sort_prims_according_to_tag.def":1730135960,
"hdaroot/sort3.def":1729883016,
"hdaroot/default_scale.def":1733945406,
"hdaroot/sort_prims_according_to_tag.def":1733934562,
"hdaroot/sort3.def":1733945403,
"hdaroot/spline_size.def":1730228303,
"hdaroot/gradient_color.def":1730228303,
"hdaroot/delete_pscale.def":1729883016,
"hdaroot/delete_pscale.def":1733945407,
"hdaroot/rot_gnomon/circle1.def":1729870803,
"hdaroot/__netbox11.netboxinit":1730492779,
"hdaroot/__netbox11.netboxinit":1733948666,
"hdaroot/rot_gnomon/transform2.def":1729889247,
"hdaroot/break_closed_loops.def":1730226295,
"hdaroot/break_closed_loops.def":1733945399,
"hdaroot/copytopoints3.def":1730228303,
"hdaroot/gnomon/merge2.def":1729881968,
"hdaroot/convert2.def":1730227496,
"hdaroot/rot_gnomon.def":1730228303,
"hdaroot/box/transform1.def":1729882088,
"hdaroot/rot_gnomon/color2.def":1729889892,
"hdaroot/foreach_begin1.def":1730255734,
"hdaroot/delete_prim_tag.def":1730135961,
"hdaroot/foreach_begin1.def":1733952150,
"hdaroot/delete_prim_tag.def":1733934564,
"hdaroot/attribdelete_normal.def":1730227292,
"hdaroot/orient_and_scale.def":1730228440,
"hdaroot/orient_and_scale.def":1733934521,
"hdaroot/rot_gnomon/tube2.def":1729889249,
"hdaroot/Convert_to_Hermite.def":1729883016,
"hdaroot/Convert_to_Hermite.def":1733945408,
"hdaroot/gnomon/merge4.def":1729881996,
"hdaroot/Control_Points/output0.def":1730227660,
"hdaroot/foreach_end1.def":1730225196,
"hdaroot/convert_to_bezier.def":1730228957,
"hdaroot/Control_Points/foreach_begin4.def":1730243382,
"hdaroot/sweep1.def":1730228303,
"hdaroot/force_bezier_point_count.def":1729883016,
"hdaroot/foreach_end1.def":1733945405,
"hdaroot/convert_to_bezier.def":1733948671,
"hdaroot/Control_Points/foreach_begin4.def":1733946426,
"hdaroot/sweep1.def":1733933846,
"hdaroot/force_bezier_point_count.def":1733945404,
"hdaroot/Control_Points/copytopoints1.def":1730228881,
"hdaroot/gnomon/copytopoints3.def":1729881970,
"hdaroot/gnomon/output0.def":1729881646,
Original file line number Diff line number Diff line change
@@ -3,17 +3,17 @@
{
name labs::unreal_spline::1.0
script labs::export_unreal_spline::1.0
label "Unreal Spline"
label "Labs Unreal Spline (Beta)"

help {
""
}

inputlabel 1 Curve
inputlabel 1 "Bezier Curve"
inputlabel 2 "Sub-Network Input #2"
inputlabel 3 "Sub-Network Input #3"
inputlabel 4 "Sub-Network Input #4"
outputlabel 1 Spline
outputlabel 1 "Unreal Spline"
outputlabel 2 Spline

groupsimple {
@@ -85,10 +85,10 @@
default { "0" }
disablewhen "{ visualize_geo == 0 }"
menu {
"a" "arrow"
"b" "box"
"c" "sweep"
"d" "spline"
"a" "Arrow"
"b" "Box"
"c" "Sweep"
"d" "Spline"
}
range { 0! 10 }
parmtag { "autoscope" "0000000000000000" }
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"PythonModule/Cursor":{
"type":"intarray",
"value":[90,1]
"value":[77,1]
},
"PythonModule/IsExpr":{
"type":"bool",
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ def export(kwargs):
import os

node = hou.pwd()
geo = node.node('out_export').geometry()
geo = node.geometry()
fname = node.parm('file_export_spline').evalAsString()
python_node = node.node('curve_from_json')

@@ -27,15 +27,13 @@ def export(kwargs):
spline_data['position'] = list()
spline_data['tangent'] = list()
spline_data['scale'] = list()
#spline_data['orient'] = list()
spline_data['roll'] = list()
spline_data['tags'] = list()

if curve.attribValue("tags"):
tags = curve.attribValue("tags")
for tag in tags:
spline_data['tags'].append(str(tag))

num_segments = (curve.numVertices() - 1) // (order - 1)
for seg_idx in range(num_segments):
offset = order - 1
@@ -47,33 +45,22 @@ def export(kwargs):
t0 = (t0[0]*100.0, t0[2]*100.0, t0[1]*100.0)
s = curve.vertex(seg_idx * offset + 0).point().attribValue('scale')
s = (s[0], s[2], s[1])
#rot = curve.vertex(seg_idx * offset + 0).point().attribValue('orient')
#rot = (rot[0], rot[2], rot[1], -rot[3])
rot = curve.vertex(seg_idx * offset + 0).point().attribValue('roll')
spline_data['position'].append(list(p0))
spline_data['tangent'].append(list(t0))
spline_data['scale'].append(list(s))
#spline_data['angle'].append(list(angle))
#spline_data['orient'].append(list(rot))
spline_data['roll'].append(rot)

# Append the last tangent and point
p2 = hou.Vector3(curve.vertex(seg_idx * offset + 2).point().attribValue('P'))
p3 = hou.Vector3(curve.vertex(seg_idx * offset + 3).point().attribValue('P'))
s = curve.vertex(seg_idx * offset + 3).point().attribValue('scale')
s = (s[0], s[2], s[1])
#rot = curve.vertex(seg_idx * offset + 3).point().attribValue('orient')
rot = curve.vertex(seg_idx * offset + 3).point().attribValue('roll')
#rot = (rot[0], rot[2], rot[1], -rot[3])
t1 = 3 * (p3 - p2)
p2 = (p2[0]*100.0, p2[2]*100.0, p2[1]*100.0)
p3 = (p3[0]*100.0, p3[2]*100.0, p3[1]*100.0)
t1 = (t1[0]*100.0, t1[2]*100.0, t1[1]*100.0)
spline_data['position'].append(list(p3))
spline_data['tangent'].append(list(t1))
spline_data['scale'].append(list(s))
#spline_data['orient'].append(list(rot))
spline_data['roll'].append(rot)

# Add spline to the dictionary
splines[f'spline_{curve_idx}'] = [spline_data]
Original file line number Diff line number Diff line change
@@ -12,7 +12,8 @@
<toolMenuContext name="network">
<contextOpType>$HDA_TABLE_AND_NAME</contextOpType>
</toolMenuContext>
<toolSubmenu>Digital Assets</toolSubmenu>
<toolSubmenu>Labs/Game Engine</toolSubmenu>
<toolSubmenu>Labs/Pipeline/Export</toolSubmenu>
<script scriptType="python"><![CDATA[import soptoolutils
soptoolutils.genericTool(kwargs, '$HDA_NAME')]]></script>
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
SaveCachedCode := 0;
SaveIcon := 1;
SaveIcon := 0;
SaveSpareParms := 0;
UnlockOnCreate := 0;
UseDSParms := 1;

0 comments on commit e1d6fce

Please sign in to comment.