diff --git a/help/nodes/sop/labs--unreal_spline-1.0.txt b/help/nodes/sop/labs--unreal_spline-1.0.txt
index 85b14c1b..bf8397ed 100644
--- a/help/nodes/sop/labs--unreal_spline-1.0.txt
+++ b/help/nodes/sop/labs--unreal_spline-1.0.txt
@@ -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
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/INDEX__SECTION b/otls/unreal_spline.1.0.hda/INDEX__SECTION
similarity index 75%
rename from otls/sop_labs.unreal_spline.1.0.hda/INDEX__SECTION
rename to otls/unreal_spline.1.0.hda/INDEX__SECTION
index 463d65d3..c651db45 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/INDEX__SECTION
+++ b/otls/unreal_spline.1.0.hda/INDEX__SECTION
@@ -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
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/Sections.list b/otls/unreal_spline.1.0.hda/Sections.list
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/Sections.list
rename to otls/unreal_spline.1.0.hda/Sections.list
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/houdini.hdalibrary b/otls/unreal_spline.1.0.hda/houdini.hdalibrary
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/houdini.hdalibrary
rename to otls/unreal_spline.1.0.hda/houdini.hdalibrary
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes
similarity index 99%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes
index 10ff2a9d..dee0bcf4 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.createtimes
@@ -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,
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions
similarity index 99%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions
index c6073018..6315aef2 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.houdini_versions
@@ -1,5 +1,5 @@
{
- "values":["20.5.370","2"
+ "values":["20.5.408","2"
],
"indexes":{
"hdaroot/Control_Points/connectivity2.userdata":0,
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime
similarity index 99%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime
index e5f2028a..1a6bb324 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.mime
@@ -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
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes
similarity index 65%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes
index 887b999f..2d22f8c9 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Contents.modtimes
@@ -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,
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Sections.list b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Sections.list
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Sections.list
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Contents.dir/Sections.list
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/CreateScript b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/CreateScript
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/CreateScript
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/CreateScript
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript
similarity index 96%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript
index 6bae54d3..b924ef21 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/DialogScript
@@ -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" }
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions
similarity index 94%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions
index ad80e363..4ed3ac1a 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/ExtraFileOptions
@@ -1,7 +1,7 @@
{
"PythonModule/Cursor":{
"type":"intarray",
- "value":[90,1]
+ "value":[77,1]
},
"PythonModule/IsExpr":{
"type":"bool",
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Help b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Help
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Help
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Help
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/InternalFileOptions b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/InternalFileOptions
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/InternalFileOptions
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/InternalFileOptions
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule
similarity index 77%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule
index 640fadd8..f0b7127c 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/PythonModule
@@ -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,24 +45,15 @@ 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)
@@ -72,8 +61,6 @@ def export(kwargs):
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]
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Sections.list b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Sections.list
similarity index 100%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Sections.list
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Sections.list
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf
similarity index 87%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf
index 653a0fc0..ade9ef5b 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/Tools.shelf
@@ -12,7 +12,8 @@
$HDA_TABLE_AND_NAME
- Digital Assets
+ Labs/Game Engine
+ Labs/Pipeline/Export
diff --git a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions
similarity index 95%
rename from otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions
rename to otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions
index a6d52acf..68754587 100644
--- a/otls/sop_labs.unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions
+++ b/otls/unreal_spline.1.0.hda/labs_8_8Sop_1unreal__spline_8_81.0/TypePropertiesOptions
@@ -8,7 +8,7 @@ ParmsFromVfl := 0;
PrefixDroppedParmLabel := 0;
PrefixDroppedParmName := 0;
SaveCachedCode := 0;
-SaveIcon := 1;
+SaveIcon := 0;
SaveSpareParms := 0;
UnlockOnCreate := 0;
UseDSParms := 1;