curve
</> ursina.curve
Functions
linear()
linear(t=None)
in_sine()
in_sine(t=None)
out_sine()
out_sine(t=None)
in_out_sine()
in_out_sine(t=None)
in_quad()
in_quad(t=None)
out_quad()
out_quad(t=None)
in_out_quad()
in_out_quad(t=None)
in_cubic()
in_cubic(t=None)
out_cubic()
out_cubic(t=None)
in_out_cubic()
in_out_cubic(t=None)
in_quart()
in_quart(t=None)
out_quart()
out_quart(t=None)
in_out_quart()
in_out_quart(t=None)
in_quint()
in_quint(t=None)
out_quint()
out_quint(t=None)
in_out_quint()
in_out_quint(t=None)
in_expo()
in_expo(t=None)
out_expo()
out_expo(t=None)
in_out_expo()
in_out_expo(t=None)
in_circ()
in_circ(t=None)
out_circ()
out_circ(t=None)
in_out_circ()
in_out_circ(t=None)
in_back()
in_back(t=None, magnitude=1.70158)
out_back()
out_back(t=None, magnitude=1.70158)
in_out_back()
in_out_back(t=None, magnitude=1.70158)
in_elastic()
in_elastic(t=None, magnitude=0.7)
out_elastic()
out_elastic(t=None, magnitude=0.7)
in_out_elastic()
in_out_elastic(t=None, magnitude=0.65)
out_bounce()
out_bounce(t=None)
in_bounce()
in_bounce(t=None)
in_out_bounce()
in_out_bounce(t=None)
zero()
zero(t=None)
one()
one(t=None)
combine()
combine(curve_a=None, curve_b=None, split_at=None)
reverse()
reverse(curve_function=None)
Examples
'''Draws a sheet with every curve and its name'''
from ursina import *
from ursina import Ursina, camera, window, curve, Entity, Mesh, Text, color
app = Ursina()
camera.orthographic = True
camera.fov = 16
camera.position = (9, 6)
window.color = color.black
def render_curve(curve_function, name):
curve_renderer = Entity(model=Mesh(vertices=[Vec3(i / 31, curve_function(i / 31), 0) for i in range(32)], mode='line', thickness=2), color=color.light_gray)
label = Text(parent=curve_renderer, text=name, scale=8, color=color.gray, y=-.1)
return curve_renderer
j = 0
for e in dir(curve):
try:
item = getattr(curve, e)
print(item.__name__, ':', item(.75))
curve_renderer = render_curve(item, item.__name__)
row = floor(j / 8)
curve_renderer.x = (j % 8) * 2.5
curve_renderer.y = row * 1.75
label = Text(parent=curve_renderer, text=item.__name__, scale=8, color=color.gray, y=-.1)
j += 1
except:
pass
c = CubicBezier(0, .5, 1, .5)
print('-----------', c.calculate(.23))
window.exit_button.visible = False
window.fps_counter.enabled = False
custom_curve = combine(linear, reverse(in_expo), .25)
render_curve(custom_curve, 'custom_curve')
EditorCamera()
app.run()
'''
These are used by Entity when animating, like this:
e = Entity()
e.animate_y(1, curve=curve.in_expo)
e2 = Entity(x=1.5)
e2.animate_y(1, curve=curve.CubicBezier(0,.7,1,.3))
'''