Skip to content

Commit 75a66aa

Browse files
author
Roberto De Ioris
committed
added curve_generator script
1 parent a14a1ae commit 75a66aa

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

examples/curve_generator.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import unreal_engine as ue
2+
from unreal_engine.classes import CurveFloatFactory, CurveVectorFactory
3+
from unreal_engine.structs import RichCurve, RichCurveKey
4+
import time
5+
6+
factory = CurveFloatFactory()
7+
8+
curve = factory.factory_create_new('/Game/CustomFloatCurve' + str(int(time.time())))
9+
10+
keys = []
11+
12+
for i in range(0, 100):
13+
keys.append(RichCurveKey(Time=i, Value=i))
14+
15+
# use ref() to set struct values on-the-fly
16+
curve.FloatCurve.ref().Keys = keys
17+
18+
curve.post_edit_change()
19+
20+
ue.open_editor_for_asset(curve)
21+
22+
factory = CurveVectorFactory()
23+
24+
curve = factory.factory_create_new('/Game/CustomVectorCurve' + str(int(time.time())))
25+
26+
# one curve list for each axis
27+
keys_x = []
28+
keys_y = []
29+
keys_z = []
30+
31+
for i in range(0, 100):
32+
keys_x.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1))
33+
keys_y.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1))
34+
keys_z.append(RichCurveKey(Time=i * 0.1, Value=i * 0.1))
35+
36+
# FloatCurves is a native array, use property index (0=x, 1=y, 2=z)
37+
curve.set_property('FloatCurves', RichCurve(Keys=keys_x), 0)
38+
curve.set_property('FloatCurves', RichCurve(Keys=keys_y), 1)
39+
curve.set_property('FloatCurves', RichCurve(Keys=keys_z), 2)
40+
41+
curve.post_edit_change()
42+
43+
ue.open_editor_for_asset(curve)

0 commit comments

Comments
 (0)