Curve
继承: Resource < RefCounted < Object
数学曲线。
描述
该资源通过定义一组点和每个点的切线来描述数学曲线。默认情况下,它在 Y 轴上的范围在 0
到 1
之间,并且位置点相对于 0.5
Y 位置。
另请参阅为颜色插值设计的 Gradient。另请参阅 Curve2D 和 Curve3D。
属性
| ||
| ||
| ||
|
方法
add_point ( Vector2 position, float left_tangent=0, float right_tangent=0, TangentMode left_mode=0, TangentMode right_mode=0 ) | |
void | bake ( ) |
void | clean_dupes ( ) |
void | clear_points ( ) |
get_point_left_mode ( int index ) const | |
get_point_left_tangent ( int index ) const | |
get_point_position ( int index ) const | |
get_point_right_mode ( int index ) const | |
get_point_right_tangent ( int index ) const | |
void | remove_point ( int index ) |
sample_baked ( float offset ) const | |
void | set_point_left_mode ( int index, TangentMode mode ) |
void | set_point_left_tangent ( int index, float tangent ) |
set_point_offset ( int index, float offset ) | |
void | set_point_right_mode ( int index, TangentMode mode ) |
void | set_point_right_tangent ( int index, float tangent ) |
void | set_point_value ( int index, float y ) |
信号
range_changed ( )
枚举
enum TangentMode:
TangentMode TANGENT_FREE = 0
点这边的切线是用户自定义的。
TangentMode TANGENT_LINEAR = 1
曲线计算点的这一侧的切线,作为向相邻点的一半的斜率。
TangentMode TANGENT_MODE_COUNT = 2
可用切线模式的总数。
属性说明
int bake_resolution = 100
烘焙(即缓存)曲线数据中包含的点的数量。
float max_value = 1.0
曲线能达到的最大值。
float min_value = 0.0
曲线能达到的最小值。
int point_count = 0
描述该曲线的点的数量。
方法说明
int add_point ( Vector2 position, float left_tangent=0, float right_tangent=0, TangentMode left_mode=0, TangentMode right_mode=0 )
在曲线上添加一个点。对于每一侧,如果 *_mode
为 TANGENT_LINEAR,则 *_tangent
角度(以度为单位)将使用曲线到邻近点的一半的斜率。如果 *_mode
设置为 TANGENT_FREE,则允许自定义分配给 *_tangent
的角度。
void bake ( )
重新计算曲线的烘焙点缓存。
void clean_dupes ( )
移除重复点,即与曲线上相邻点的距离小于 0.00001 个单位(引擎中的 epsilon 值)的点。
void clear_points ( )
从曲线中移除所有点。
TangentMode get_point_left_mode ( int index ) const
返回索引为 index
的点的左侧切线模式 TangentMode。
float get_point_left_tangent ( int index ) const
返回索引为 index
的点的左侧切线夹角(单位为度)。
Vector2 get_point_position ( int index ) const
返回索引为 index
的点的曲线坐标。
TangentMode get_point_right_mode ( int index ) const
返回索引为 index
的点的右侧切线模式 TangentMode。
float get_point_right_tangent ( int index ) const
返回索引为 index
的点的右侧切线夹角(单位为度)。
void remove_point ( int index )
移除曲线中索引为 index
的点。
float sample ( float offset ) const
返回沿曲线的 X 位置 offset
处将存在的点的 Y 值。
float sample_baked ( float offset ) const
使用烘焙的缓存返回沿曲线的 X 位置 offset
处将存在的点的 Y 值。烘焙尚未烘焙的曲线的点。
void set_point_left_mode ( int index, TangentMode mode )
将索引为 index
的点的左侧 TangentMode 设置为 mode
。
void set_point_left_tangent ( int index, float tangent )
将索引为 index
的点的左侧切线角度设置为 tangent
。
int set_point_offset ( int index, float offset )
设置相对于 0.5
的偏移量。
void set_point_right_mode ( int index, TangentMode mode )
将索引为 index
的点的右侧 TangentMode 设置为 mode
。
void set_point_right_tangent ( int index, float tangent )
将索引为 index
的点的右侧切线角度设置为 tangent
。
void set_point_value ( int index, float y )
将索引为 index
的点的垂直位置设置为 y
。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.