节点

操控场景中节点和一些节点类。

class BoundSphere

BoundSphere.clear()

清空包围球

BoundSphere.set(center: Type[vec3], radius: float)

设置包围球
参数
- center表示球心坐标
- radius表示半径

BoundSphere.set(bs: Type[BoundSphere])

设置包围球
参数
- bs表示包围球

BoundSphere.set(bs: Type[BoundSphere], transform: Type[mat4])

设置包围球
参数
- bs表示包围球
- transform表示变换矩阵

BoundSphere.set(bb: Type[BoundBox])

设置包围球
参数
- bb表示包围盒

BoundSphere.setTransform(transform: Type[mat4])

设置包围盒变换矩阵
参数
- transform表示变换矩阵

BoundSphere.compare(bs: Type[BoundSphere]) -> int

比较包围球
参数
- bs表示包围球
返回值
- 0表示不一样,1表示一样

BoundSphere.expand(point: Type[vec3])

扩展包围球
参数
- point表示要包围的点

BoundSphere.expand(points: Type[vec3], num: int)

扩展包围球
参数
- points表示顶点数组
- num表示顶点数量

BoundSphere.inside(point: Type[vec3]) -> int

判断点在不在包围球
参数
- point表示位置坐标
返回值
- 1表示在包围盒内,0表示不在包围盒内

class BoundBox

BoundBox.clear()

清空包围盒

BoundBox.set(min: Type[vec3], max: Type[vec3])

设置包围盒
参数
- min表示x,y,z方向下边界
- max表示x,y,z方向上边界

BoundBox.set(points: Type[vec3], num: int)

设置包围盒,包围提供的顶点
参数
- points表示顶点数组
- num表示顶点数量

BoundBox.set(bs: Type[BoundSphere])

设置包围盒包围包围球
参数
- bs表示包围求球

BoundBox.set(bb: Type[BoundBox])

设置包围盒
参数
- bb表示包围盒

BoundBox.set(bb: Type[BoundBox], transform: Type[mat4])

设置包围盒
参数
- bb表示包围盒
- transform表示包围盒变换矩阵

BoundBox.setTransform(transform: Type[mat4])

设置包围盒变换矩阵
参数
- transform表示变换矩阵

BoundBox.compare(bb: Type[BoundBox]) -> int

比较两个包围盒
参数
- bb表示包围盒
返回值
- 1表示相同,0表示不相同

BoundBox.inside(point: Type[vec3]) -> int

判断点在不在包围盒内
参数
- point表示点的位置
返回值
- 1表示在包围盒内,0表示不在

BoundBox.inside(point: Type[vec3], radius: float) -> int

判断球在不在包围盒内
参数
- point表示球心位置
- radius表示半径
返回值
- 1表示在包围盒内,0表示不在

BoundBox.inside(min: Type[vec3], max: Type[vec3]) -> int

判断包围盒在不在包围盒内
参数
- min表示包围盒下界
- max表示包围盒上界
返回值
- 1表示在包围盒内,0表示不在

class Node

Node.getID() -> int

获取节点ID
返回值
- int类型的节点ID

Node.getNumNodes() -> int

得到节点的总数量
返回值
- 节点总数

Node.getNode(id: int) -> Type[Node]

通过ID获取节点
参数
- id为要找的节点ID
返回值
- 返回指定ID的节点,如果不存在则返回None

Node.isNode(node: Type[Node]) -> int

通过Node判断是否为节点
参数
- 待判断的节点
返回值
- 如果是节点则返回1,不是则返回0

Node.isNode(id: int) -> int

通过ID来判断是否是节点
参数
- id为节点ID
返回值
- 如果是节点则返回1,不是则返回0

Node.getType() -> int

返回节点的类型
返回值
- 用int代表enum类型的值

Node.getTypeName() -> str

返回节点类型名称
返回值
- 返回节点类型名称的字符串

Node.isLight() -> int

判断是否是灯光节点类型
返回值
- 是灯光节点返回1,不是返回0

Node.isObject() -> int

判断是否是实体节点类型
返回值
- 是实体节点返回1,不是返回0

Node.isPlayer() -> int

判断是否是相机节点类型
返回值
- 是相机节点返回1,不是返回0

Node.isPhysical() -> int

判断是否是具有物理属性的节点类型
返回值
- 具有物理属性节点返回1,不是返回0

Node.isVideoGui() -> int

判断是否是视频节点类型
返回值
- 是视频节点返回1,不是返回0

Node.isPPT() -> int

判断是否是PPT节点类型
返回值
- 是PPT节点返回1,不是返回0

Node.isWorldTrigger() -> int

判断是否是触发器节点类型
返回值
- 是触发器节点返回1,不是返回0

Node.isObjectWidget() -> int

判断是否是UI节点类型
返回值
- 是UI节点返回1,不是返回0

Node.isExamination() -> int

判断是否是考试节点类型
返回值
- 是考试节点返回1,不是返回0

Node.isBillboard() -> int

判断是否是布告板节点类型
返回值
- 是布告板节点返回1,不是返回0

Node.isNodeReference() -> int

判断是否是节点引用类型
返回值
- 是节点引用返回1,不是返回0

Node.isObjectMesh() -> int

判断是否是mesh点类型
返回值
- 是mesh节点返回1,不是返回0

Node.isObjectSkinned() -> int

判断是否是骨骼动画节点类型
返回值
- 是骨骼动画节点返回1,不是返回0

Node.isObjectParticle() -> int

判断是否是粒子节点类型
返回值
- 是粒子节点返回1,不是返回0

Node.isWater() -> int

判断是否是水节点类型
返回值
- 是水节点返回1,不是返回0

Node.isGrass() -> int

判断是否是草节点类型
返回值
- 是草节点返回1,不是返回0

Node.setEnabled(enable: int)

设置节点显隐
参数
- enable为1表示显示,0表示隐藏

Node.isEnabled() -> int

获取到节点的显隐状态
返回值
- 1表示显示,0表示隐藏

Node.setImmovable(i: int)

设置节点不可移动
参数
- i为1表示不可移动

Node.isImmovable() -> int

获取该节点是否处于不可移动状态
返回值
- 1表示不可移动,0表示可移动

Node.setCollider(collider: int)

设置节点的碰撞
参数
- 1表示接受物体碰撞,0表示不接受物体碰撞

Node.isCollider() -> int

得到节点的碰撞状态
返回值
- 1表示该节点可碰撞,0表示不可碰撞

Node.setSpatial(s: int)

设置该数值表示该节点根据sectors和portals来决定是否渲染该节点
参数
- 1表示受sectors和portals的影响,0表示不受影响

Node.isSpatial() -> int

得到是否进行空间划分的状态
返回值
- 1表示受空间划分影响,0表示不受影响

Node.setName(name: str)

设置节点名称
参数
- name为节点名称

Node.getName() -> str

得到节点名称
返回值
- 名称为string类型

Node.setParent(node: Type[Node])

设置父节点,这可能会影响节点本身的World Transform
参数
- node为父节点

Node.setWorldParent(node: Type[Node])

设置父节点,这不会影响节点本身的World Transform
参数
- node为父节点

Node.getParent() -> Type[Node]

得到父节点
返回值
- 父节点为Node类型

Node.addChild(node: Type[Node])

添加子节点 ,这可能会影响子节点的world transform
参数
- node为将要添加的子节点

Node.removeChild(node: Type[Node])

移除子节点,这可能会影响子节点的world transform
参数
- node为将要被移除的子节点

Node.addWorldChild(node: Type[Node])

添加子节点,这不会影响子节点的world transform
参数
- node为将要添加的子节点

Node.removeWorldChild(node: Type[Node])

移除子节点,这不会影响子节点的world transform
参数
- node为将要移除的子节点

Node.isChild(node: Type[Node]) -> int

判断是否是该节点的子节点
参数
- node为待判断节点
返回值
- 返回1表示是子节点,0表示不是

Node.getNumChilds() -> int

返回子节点数量
返回值
- 返回的数值是子节点数量

Node.findChild(name: str) -> int

根据名字查找到子节点
参数
- name为string类型
返回值
- 返回1表示存在该节点,0表示不存在

Node.getChild(num: int) -> Type[Node]

通过索引找到节点
参数
- num为索引
返回值
- 根据索引返回子节点,不存在则返回NULL

Node.getChildNode(name: str) -> Type[Node]

通过节点名查找到子节点
参数
- name为节点名
返回值
- 返回子节点,如果找不到则返回NULL

Node.setProperty(name: str)

设置节点的属性
参数
- name属性的名称

Node.setTransform(transform: Type[mat4])

设置节点的相对矩阵
参数
- transform代表输入的矩阵

Node.getTransform() -> Type[mat4]

得到节点的相对矩阵
返回值
- 相对矩阵

Node.setWorldTransform(transform: Type[mat4])

设置节点的世界矩阵
参数
- transform代表输入的矩阵

Node.getWorldTransform() -> Type[mat4]

得到节点的世界矩阵
返回值
- 世界矩阵

Node.getIWorldTransform() -> Type[mat4]

得到节点世界矩阵的逆矩阵
返回值
- 世界矩阵的逆矩阵

Node.getBoundBox() -> Type[BoundBox]

获取节点自身包围盒
返回值
- 节点自身包围盒

Node.getBoundSphere() -> Type[BoundSphere]

获取节点自身包围球
返回值
- 节点自身包围球

Node.getWorldBoundBox() -> Type[WorldBoundBox]

获取节点在世界坐标下的包围盒
返回值
- 世界坐标下的包围盒

Node.getWorldBoundSphere() -> Type[WorldBoundSphere]

获取节点在世界坐标下的包围球
返回值
- 世界坐标下的包围球

Node.clone() -> Type[Node]

根据自身克隆节点
返回值
- 返回克隆的节点

Node.getPosition() -> Type[vec3]

得到当前节点的世界坐标
返回值
- 返回vec3类型

Node.setPosition(pos: Type[vec3])

设置当前节点的世界坐标
参数
- pos为世界坐标

Node.getLocalPosition() -> Type[vec3]

得到当前节点的相对坐标
返回值
- 返回vec3类型

Node.setLocalPosition(pos: Type[vec3])

设置当前节点的相对坐标
参数
- pos为相对坐标

Node.getRotation() -> Type[quat]

得到当前节点的旋转四元数
返回值
- 返回quat类型

Node.setRotation(rot: Type[quat])

设置当前节点的旋转四元数
参数
- rot为quat类型

Node.getLocalRotation() -> Type[quat]

得到当前节点的相对旋转四元数
返回值
- 返回quat类型

Node.setLocalRotation(rot: Type[quat])

设置当前节点的相对旋转四元数
参数
- rot为quat类型

Node.getScale() -> Type[vec3]

得到当前节点的缩放值
返回值
- 返回vec3类型

Node.setScale(scale: Type[vec3])

设置当前节点的缩放值
参数
- scale为世界缩放值

Node.getLocalScale() -> Type[vec3]

得到当前节点的相对缩放值
返回值
- 返回vec3类型

Node.setLocalScale(scale: Type[vec3])

设置当前节点的相对缩放值
参数
- scale为相对缩放值

Node.setRotateX(angle: float)

设置节点绕局部坐标x轴旋转
参数
- angle代表旋转的角度

Node.setRotateY(angle: float)

设置节点绕局部坐标y轴旋转
参数
- angle代表旋转的角度

Node.setRotateZ(angle: float)

设置节点绕局部坐标Z轴旋转
参数
- angle代表旋转的角度

Node.setWorldRotateX(angle: float)

设置节点绕世界坐标x轴旋转
参数
- angle代表旋转的角度

Node.setWorldRotateY(angle: float)

设置节点绕世界坐标y轴旋转
参数
- angle代表旋转的角度

Node.setWorldRotateZ(angle: float)

设置节点绕世界坐标Z轴旋转
参数
- angle代表旋转的角度

Node.getWorldRotation() -> Type[quat]

得到当前节点的世界旋转值
返回值
- 返回quat类型

Node.setWorldRotation(rotation: Type[quat])

设置节点绕世界空间任意轴旋转
参数
- rotation代表旋转的任意轴和角度

Node.lookAt(target: Type[vec3])

设置节点y轴朝向指定的世界空间的位置
参数
- target代表要指向的位置

Node.getXDirection() -> Type[vec3]

得到节点的自身X轴方向
返回值
- 返回vec3类型

Node.getYDirection() -> Type[vec3]

得到节点的自身Y轴方向
返回值
- 返回vec3类型

Node.getZDirection() -> Type[vec3]

得到节点的自身Z轴方向
返回值
- 返回vec3类型

class Object(Node)

Object.flushBodyTransform()

强制设置节点的旋转矩阵

Object.getNumSurfaces() -> int

获取节点的面数
返回值
- 节点的面数

Object.findSurface(name: str) -> int

获取节点的面对应的id
参数
- name表示要获取节点的面的名称
返回值
- 返回节点的id,-1表示没有找到相对应的面

Object.setEnabled(enable: int)

设置节点的显隐
参数
- enable是正数的话表示显示该节点,0的话表示隐藏

Object.isEnabled() -> int

获取节点的显隐状态
返回值
- 正数表示节点可见,0表示节点不可见

Object.setEnabled(enable: int, surface: int)

设置节点相对应的面的显隐状态
参数
- enable是正数的话表示显示该节点,0的话表示隐藏
- surface表示面的id

Object.isEnabled(surface: int) -> int

获取节点对应的面的显隐状态
参数
- surface表示对应的面
返回值
- 正数表示节点可见,0表示节点不可见

Object.setCastShadow(enable: int, surface: int)

设置节点对应的面是否可以投射非世界光的阴影
参数
- enabel是正数表示可以投射阴影,0表示不可以投射阴影
- surface表示对应的面的id

Object.getCastShadow(surface: int) -> int

获取对应的面是否可以投射非世界光的阴影
参数
- surface表示对应的面的id
返回值
- 正数表示可以投射阴影,0表示不可以投射阴影

Object.setReceiveShadow(enable: int, surface: int)

设置节点对应的面是否可以接受非世界光投射的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的id

Object.getReceiveShadow(surface: int) -> int

获取节点对应的面是否可以接受非世界光投射的阴影
参数
- surface表示对应的面的id
返回值
- 正数表示可以接受,0表示不可以

Object.setCastWorldShadow(enable: int, surface: int)

设置节点对应的面是否可以投射世界光的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的id

Object.getCastWorldShadow(surface: int) -> int

获取节点对应的面是否可以投射世界光的阴影
参数
- surface表示节点对应的面的id
返回值
- enabel正数表示可以接受,0表示不可以

Object.setReceiveWorldShadow(enable: int, surface: int)

设置节点对应的面是否可以接受世界光投射的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的id

Object.getReceiveWorldShadow(surface: int) -> int

获取节点对应的面是否可以接受世界光投射的阴影
参数
- surface表示节点对应的面的id
返回值
- enabel正数表示可以接受,0表示不可以

Object.setParent(parent: Type[Node])

设置节点的父节点
参数
- parent表示新的父节点

Object.getParent() -> Type[Node]

获取节点的父节点
返回值
- 节点的父节点

Object.setMaterial(name: str, surface: int)

设置指定面的材质
参数
- name表示材质名称
- surface表示对应面的id

Object.setMaterial(name: str, pattern: str)

设置指定面的材质
参数
- name表示材质的名称
- pattern表示正则表达式模式,通过该模式匹配到相对应的面的名称

Object.getMaterial(surface: int) -> Type[Material]

获取节点指定面的材质
参数
- surface表示指定的面
返回值
- 节点指定面的材质

Object.getMaterialName(surface: int) -> str

返回对应面的材质名称
参数
- surface表示对应面的id
返回值
- 对应面的材质名称

Object.setMaterialParameter(name: str, parameter: Type[vec4], surface: int)

设置节点对应面的材质参数
参数
- name材质参数的名称
- parameter要设置的值
- surface对应面的id

Object.getMaterialParameter(name: str, surface: int) -> Type[vec4]

获取节点对应面的材质的参数的值
参数
- name材质参数的名称
- surface对应面的id
返回值
- 节点对应面的材质的参数的值

Object.setMaterialState(name: str, state: int, surface: int)

设置节点对应面的材质的状态的值
参数
- name材质状态的名称
- state材质状态的值
- surface对应面的id

Object.getMaterialState(name: str, surface: int) -> int

获取节点对应面的材质的状态的值
参数
- name材质状态的名称
- surface对应面的id
返回值
- 材质状态的值

Object.getIntersection(p0: Type[vec3], p1: Type[vec3], surface: int) -> int

获取指定射线与相应的面是否相交
参数
- p0射线的起点
- p1射线的终点
- surface表示面的id
返回值
- 返回0表示不相交,正数表示相交

Object.getIntersection(p0: Type[vec3], p1: Type[vec3], ret_point: Type[vec3], ret_plane: Type[vec4], ret_triangle: int, surface: int) -> int

获取指定射线与相应的面是否相交,并返回相应的参数
参数
- p0射线的起点
- p1射线的终点
- ret_point返回相交的点的坐标
- ret_plane返回相交的平面
- ret_triangle相交的三角面片id
- surface表示面的id
返回值
- 返回0表示不相交,正数表示相交

Object.getIntersection(p0: Type[vec3], p1: Type[vec3], ret_point: Type[vec3], ret_normal: Type[vec3], ret_texcoord: Type[vec4], ret_triangle: int, surface: int) -> int

获取指定射线与相应的面是否相交,并返回相应的参数
参数
- p0射线的起点
- p1射线的终点
- ret_point返回交点的坐标
- ret_normal返回交点的法向
- ret_texcoord返回交点的纹理坐标
- ret_triangle相交的三角面片id
- surface表示面的id
返回值
- 返回0表示不相交,正数表示相交

Object.getIntersection(p0: Type[vec3], p1: Type[vec3], mask: int, ret_point: Type[vec3], ret_plane: Type[vec4], ret_triangle: int, ret_surface: int) -> int

获取指定射线与节点在特定的掩码下相交的第一个面,并返回相应的参数
参数
- p0射线的起点
- p1射线的终点
- mask表示掩码
- ret_point返回交点的坐标
- ret_plane返回相交的平面
- ret_triangle相交的三角面片id
- ret_surface表示相交的面id
返回值
- 0表示不存在这样的面,1表示存在这样的面

Object.getIntersection(p0: Type[vec3], p1: Type[vec3], mask: int, ret_point: Type[vec3], ret_normal: Type[vec3], ret_texcoord: Type[vec4], ret_triangle: int, ret_surface: int) -> int

获取指定射线与节点在特定的掩码下相交的第一个面,并返回相应的参数
参数
- p0射线的起点
- p1射线的终点
- mask表示掩码
- ret_point返回交点的坐标
- ret_normal返回交点的法线
- ret_texcoord返回交点的纹理坐标
- ret_triangle返回交点的三角片id
- ret_surface表示相交的面的id
返回值
- 0表示不存在这样的面,1表示存在这样的面

Object.setLightMask(mask: int, surface: int)

设置对应面的光掩码
参数
- mask表示掩码
- surface表示面的id

Object.getLightMask(surface: int) -> int

获取对应面的光掩码
参数
- surface表示面的id
返回值
- 返回光掩码

Object.setViewportMask(mask: int, surface: int)

设置节点指点面的视口掩码
参数
- mask表示视口掩码
- surface表示面的id

Object.getViewportMask(surface: int) -> int

获取指点面的视口掩码
参数
- surface表示面的id
返回值
- 返回视口掩码

Object.setIntersectionMask(mask: int, surface: int)

设置指定面的相交掩码
参数
- mask表示相交掩码
- surface表示指定面id

Object.getIntersectionMask(surface: int) -> int

获取指定面相交掩码
参数
- surface表示指定面id
返回值
- 返回相交掩码

Object.setCollisionMask(mask: int, surface: int)

设置指定面碰撞掩码
参数
- mask表示碰撞掩码
- surface表示指定面id

Object.getCollisionMask(surface: int) -> int

获取指定面碰撞掩码
参数
- surface表示指定面id
返回值
- 返回碰撞掩码

Object.setCollision(enable: int, surface: int)

设置指定面是否开启碰撞
参数
- enable表示是否开启碰撞,0表示关闭,正数表示开启
- surface表示指定面id

Object.getCollision(surface: int) -> int

获取指定面是否开启碰撞
参数
- surface表示指定面id
- enable表示是否开启碰撞,0表示

Object.getNumTriangles(surface: int) -> int

获取指定面的三角片数量
参数
- surface表示指定面id
返回值
- 指定面的三角片数量

Object.getBoundBox(surface: int) -> Type[BoundBox]

获取指定面的包围盒
参数
- surface表示指定面id
返回值
- 指定面的包围盒

Object.getBoundSphere(surface: int) -> Type[BoundSphere]

获取指定面的包围球
参数
- surface表示指定面id
返回值
- 指定面的包围球

Object.getWorldBoundBox(surface: int) -> Type[WorldBoundBox]

获取指定面的世界坐标包围盒
参数
- surface表示指定面id
返回值
- 指定面的世界坐标包围盒

Object.getWorldBoundSphere(surface: int) -> Type[WorldBoundSphere]

获取指定面的世界坐标包围球
参数
- surface表示指定面id
返回值
- 指定面的世界坐标包围球

Object.getBoundBox() -> Type[BoundBox]

获取节点的包围盒
返回值
- 节点的包围盒

Object.getBoundSphere() -> Type[BoundSphere]

获取节点的包围球
返回值
- 节点的包围球

Object.getWorldBoundBox() -> Type[WorldBoundBox]

获取节点的世界坐标包围盒
返回值
- 节点的世界坐标包围盒

Object.getWorldBoundSphere() -> Type[WorldBoundSphere]

获取节点的世界坐标包围球
返回值
- 节点的世界坐标包围球

Object.clone() -> Type[Object]

克隆节点
返回值
- 克隆节点

class ObjectMesh(Object)

ObjectMesh.getMeshName() -> str

获取原始的网格文件名称
返回值
- 原始的网格文件名称

ObjectMesh.setSurfaceTransform(transform: Type[mat4], surface: int)

设置网格面的变换矩阵
参数
- transform表示变换矩阵
- surface表示指定面id

ObjectMesh.addMeshSurface(name: str, mesh: Type[ObjectMesh], surface: int) -> int

从目标网格添加一个面到本节点
参数
- name表示新添加的面的名称
- mesh表示目标网格
- surface表示要添加的面数

ObjectMesh.addMeshSurface(dest_surface: int, mesh: Type[ObjectMesh], surface: int) -> int

从目标网格添加一个面到本节点中的一个面
参数
- dest_surface表示要赋予的面
- mesh表示目标网格
- surface表示要添加的面数

ObjectMesh.addEmptySurface(name: str, num_vertex: int, num_indices: int) -> int

增加一个新的面到网格
参数
- name新面的名称
- num_vertex表示顶点个数
- num_indices表示顶点索引
返回值
- 网格面的id

ObjectMesh.addTriangleSurface(name: str, vertex: None, num_vertex: int, cache: int = 1) -> int

增加一个新的面到网格
参数
- name新增的面的名称
- vertex顶点的指针
- num_vertex顶点的数量
- 顶点缓存优化
返回值
- 网格面的id

ObjectMesh.addTriangleSurface(name: str, vertex: None, num_vertex: int, indices: int, num_indices: int) -> int

增加一个新的面到网格
参数
- name新增的面的名称
- vertex顶点的指针
- num_vertex顶点的数量
- indices顶点的索引指针
- num_indices索引的个数
返回值
- 网格面的id

ObjectMesh.updateSurfaces()

更新网格面

ObjectMesh.getNumVertex(surface: int) -> int

获取指定面的顶点数
参数
- surface表示指定面的id
返回值
- 顶点数

ObjectMesh.setVertex(num: int, xyz: Type[vec3], surface: int)

更新指定顶点的坐标
参数
- num表示顶点的id
- xyz表示顶点的位置坐标
- surface表示指定的面

ObjectMesh.getVertex(num: int, surface: int) -> Type[vec3]

获取指定面中指定顶点的坐标
参数
- num表示顶点的id
- surface表示指定的面

ObjectMesh.setNormal(num: int, normal: Type[vec3], surface: int)

更新节点指定顶点的法向量
参数
- num表示顶点的id
- normal表示法向向量
- surface表示指定的面

ObjectMesh.getNormal(num: int, surface: int) -> Type[vec3]

获取指定面中指定顶点的法向
参数
- num表示顶点的id
- surface表示指定的面

ObjectMesh.setTangent(num: int, tangent: Type[vec4], surface: int)

更新节点指定顶点的切向量
参数
- num表示顶点的id
- tangent表示切向量
- surface表示指定的面

ObjectMesh.getTangent(num: int, surface: int) -> Type[vec4]

获取节点指定顶点的切向量
参数
- num表示顶点id
- surface表示指定的面

ObjectMesh.setTexCoord(num: int, texcoord: Type[vec4], surface: int)

设置指定面的顶点的纹理坐标
参数
- num顶点id
- texcoord表示纹理坐标
- surface表示指定的面

ObjectMesh.getTexCoord(num: int, surface: int) -> Type[vec4]

获取指定面的指定顶点的纹理坐标
参数
- num表示顶点id
- surface表示指定的面id

ObjectMesh.getNumIndices(surface: int) -> int

获取指定面的顶点索引数
参数
- surface表示指定面的id
返回值
- 顶点索引数

ObjectMesh.setIndex(num: int, index: int, surface: int)

更新指定面的顶点索引的值
参数
- num表示顶点索引的索引
- index表示新的索引值
- surface表示指定的面id

ObjectMesh.getIndex(num: int, surface: int) -> int

获取指定面的顶点索引的索引
参数
- num表示索引的id
- surface表示指定面的id

ObjectMesh.findSurface(name: str) -> int

获取相应的面
参数
- name表示面的名称
返回值
- -1表示没有找到对应的面,正数表示对应的面id

ObjectMesh.getSurfaceName(surface: int) -> str

获取对应面对名称
参数
- surface表示面id
返回值
- 对应面的名称

ObjectMesh.getResource(surface: int) -> int

获取网格的源
参数
- surface表示面id
返回值
- 返回网格源对应的id

ObjectMesh.getIntersection(p0: Type[vec3], p1: Type[vec3], surface: int) -> int

获取射线是否和对应的面相交
参数
- p0是射线的起点
- p1是射线的终点
- surface表示对应面的id
返回值
- 正数表示有交点,0表示不相交

ObjectMesh.getIntersection(p0: Type[vec3], p1: Type[vec3], ret_point: Type[vec3], ret_plane: Type[vec4], ret_triangle: int, surface: int) -> int

获取射线是否和对应的面相交,并返回相应的参数
参数
- p0是射线的起点
- p1是射线的终点
- ret_point返回交点坐标
- ret_plane返回交点面
- ret_triangle返回交点对应的三角形
- surface表示指定面id
返回值
- 正数表示有交点,0表示不相交

ObjectMesh.getIntersection(p0: Type[vec3], p1: Type[vec3], ret_point: Type[vec3], ret_normal: Type[vec3], ret_texcoord: Type[vec4], ret_triangle: int, surface: int) -> int

获取射线是否和对应的面相交,并返回相应的参数
参数
- p0是射线的起点
- p1是射线的终点
- ret_point返回交点坐标
- ret_normal返回交点的法线
- ret_texcoord返回交点的纹理坐标
- ret_triangle返回三角面片id
- surface表示指定面id
返回值
- 正数表示有交点,0表示不相交

ObjectMesh.getNumTriangles(surface: int) -> int

获取指定面的三角面片数
参数
- surface表示节点的面id
返回值
- 指定面的三角面片数

ObjectMesh.getBoundBox(surface: int) -> Type[BoundBox]

获取节点指定面的包围盒
参数
- surface表示节点的面id
返回值
- 取节点指定面的包围盒

ObjectMesh.getBoundSphere(surface: int) -> Type[BoundSphere]

获取节点指定面的包围球
参数
- surface表示节点的面id
返回值
- 节点指定面的包围球

ObjectMesh.getBoundBox() -> Type[BoundBox]

获取节点的包围盒
返回值
- 节点的包围盒

ObjectMesh.getBoundSphere() -> Type[BoundSphere]

获取节点的包围球
返回值
- 节点的包围球

ObjectMesh.clone() -> Type[ObjectMesh]

克隆节点
返回值
- 克隆的节点

class ObjectGui(Object)

ObjectGui.getGui() -> Gui

获取节点上的gui实例
返回值
- 节点上的gui实例

ObjectGui.setBillboard(billboard: int)

设置一个值标识这个gui对象是否是布告板
参数
- 1表示是布告板,0表示不是布告板

ObjectGui.isBillboard() -> int

获取一个值标识这个gui对象是否是布告板
返回值
- 1表示是布告板,0表示不是布告板

ObjectGui.setBackground(background: int)

设置gui背景是否需要渲染
参数
- background正数表示需要渲染,0表示不需要

ObjectGui.getBackground() -> int

获取gui背景是否需要渲染
返回值
- 正数表示需要渲染,0表示不需要

ObjectGui.setDepthTest(test: int)

设置gui对象是否进行深度测试
参数
- test正数表示需要进行深度测试,0表示不需要深度测试

ObjectGui.getDepthTest() -> int

获取gui对象是否进行深度测试
返回值
- 正数表示需要进行深度测试,0表示不需要深度测试

ObjectGui.setMouseShow(show: int)

设置光标是否显示
参数
- show为正数表示光标需要显示,0表示不显示

ObjectGui.getMouseShow() -> int

获取光标是否显示
返回值
- show为正数表示光标需要显示,0表示不显示

ObjectGui.setControlDistance(distance: float)

设置gui可控距离
参数
- distance表示距离

ObjectGui.getControlDistance() -> float

获取gui可控距离
返回值
- 返回gui可控距离

ObjectGui.setPolygonOffset(offset: float)

设置gui和背景的偏移值避免z-fighting,默认值是10单元
参数
- offset表示偏移值

ObjectGui.getPolygonOffset() -> float

获取gui和背景的偏移值
返回值
- gui和背景的偏移值

ObjectGui.setPhysicalSize(width: float, height: float)

设置gui的宽和高
参数
- width表示宽度
- height表示高度

ObjectGui.getPhysicalWidth() -> float

获取gui的宽度
返回值
- gui的宽度

ObjectGui.getPhysicalHeight() -> float

获取gui的高度
返回值
- gui的高度

ObjectGui.setScreenSize(width: int, height: int)

设置gui的屏幕尺寸
参数
- width表示屏幕宽度
- height表示屏幕高度

ObjectGui.getScreenWidth() -> int

获取gui的屏幕宽度
返回值
- gui的屏幕宽度

ObjectGui.getScreenHeight() -> int

获取gui的屏幕高度
返回值
- gui的屏幕高度

ObjectGui.getSurfaceName(surface: int) -> str

获取对应面的名称
参数
- surface表示面的id
返回值
- 面的名称

ObjectGui.getNumTriangles(surface: int) -> int

获取相应面的三角片数
参数
- surface表示面的id
返回值
- 三角面片数

ObjectGui.clone() -> Type[ObjectGui]

克隆节点
返回值
- 克隆的节点

class ObjectGui3D(ObjectGui)

支持手柄触发的ObjectGui

class ObjectParticles(Object)

ObjectParticles.setSeed(seed: int)

设置粒子随机生产器的种子
参数
- seed表示种子值

ObjectParticles.getSeed() -> int

获取粒子随机生产器的种子
返回值
- 粒子随机生产器的种子值

ObjectParticles.setParticlesType(type: int)

设置粒子发射的类型
参数
- type表示粒子发射类型

ObjectParticles.getParticlesType() -> int

获取发射的粒子的类型
返回值
- 发射的粒子的类型

ObjectParticles.setWarming(warning: int)

设置粒子的热启动,指示是否从发射点渲染粒子
参数
- 0表示关闭,正数表示开启

ObjectParticles.getWarming() -> int

获取粒子的热启动
返回值
- 0表示关闭,正数表示开启

ObjectParticles.setDepthSort(depth_sort: int)

设置是否开启粒子的深度排序,如果粒子需要透明度混合,需要开启
参数
- 正数表示开启,0表示关闭

ObjectParticles.getDepthSort() -> int

获取粒子是否开启深度排序
返回值
- 正数表示开启,0表示关闭

ObjectParticles.setVariationX(variation: int)

设置粒子的漫反射纹理起始方向是否沿x轴随机
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getVariationX() -> int

获取粒子的漫反射纹理起始方向是否沿x轴随机
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setVariationY(variation: int)

设置粒子的漫反射纹理起始方向是否沿y轴随机
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getVariationY() -> int

获取粒子的漫反射纹理起始方向是否沿y轴随机
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setTextureAtlas(atlas: int)

设置是否开启4*4纹理图
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getTextureAtlas() -> int

获取是否开启4*4纹理图
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setIntersection(intersection: int)

设置是否开启以球心近视粒子开启碰撞检测,这个比真正的碰撞检测快,准确率会低一点
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getIntersection() -> int

获取是否开启以球心近视粒子开启碰撞检测
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setCollision(collision: int)

设置是否开启碰撞检测
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getCollision() -> int

获取是否开启了碰撞检测
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setCulling(culling: int)

设置是否开启深度剔除
参数
- 0表示关闭,正数表示卡开启

ObjectParticles.getCulling() -> int

获取是否开启深度剔除
返回值
- 0表示关闭,正数表示卡开启

ObjectParticles.setSpawnRate(spawn: float)

设置粒子生成率
参数
- spawn表示粒子生成率

ObjectParticles.getSpawnRate() -> float

获取粒子生成率
返回值
- 粒子生成率

ObjectParticles.setSpawnScale(scale: float)

设置生成缩放系数
参数
- scale表示生成缩放系数在0到1之间

ObjectParticles.getSpawnScale() -> float

获取生成缩放系数
返回值
- 生成缩放系数在0到1之间

ObjectParticles.setSpawnThreshold(threshold: float)

设置生成阈值
参数
- threshold表示生成阈值

ObjectParticles.getSpawnThreshold() -> float

获取生成阈值
返回值
- 生成阈值

ObjectParticles.clearParticles()

清空所用生成的粒子

ObjectParticles.getNumParticles() -> int

获取当前粒子数量
返回值
- 当前粒子数量

ObjectParticles.getParticleRadius(num: int) -> float

获取指定粒子的直径
参数
- num表示粒子id
返回值
- 粒子的直径

ObjectParticles.getParticlePosition(num: int) -> Type[vec3]

获取指定粒子的位置
参数
- num表示粒子id
返回值
- 粒子位置

ObjectParticles.getParticleVelocity(num: int) -> Type[vec3]

返回指定粒子的速度
参数
- num表示粒子id
返回值
- 粒子的速度

ObjectParticles.setPhysicalMask(mask: int)

设置物理掩码
参数
- mask表示物理掩码

ObjectParticles.getPhysicalMask() -> int

获取物理掩码
返回值
- 物理掩码

ObjectParticles.setPhysicalMass(mass: float)

设置物理质量
参数
- mass表示质量

ObjectParticles.getPhysicalMass() -> float

获取物理质量
返回值
- 物理质量

ObjectParticles.setLengthStretch(stretch: float)

设置长度延伸
参数
- stretch表示长度延伸

ObjectParticles.getLengthStretch() -> float

获取长度延伸
返回值
- 长度延伸

ObjectParticles.setLengthFlattening(flattening: float)

设置长度扁平
参数
- flattening表示长度扁平

ObjectParticles.getLengthFlattening() -> float

获取长度扁平
返回值
- 长度扁平

ObjectParticles.setLinearDamping(damping: float)

设置线性阻尼
参数
- damping表示线性阻尼

ObjectParticles.getLinearDamping() -> float

获取线性阻尼
返回值
- 线性阻尼

ObjectParticles.setAngularDamping(damping: float)

设置角度阻尼
参数
- damping表示角度阻尼

ObjectParticles.getAngularDamping() -> float

获取角度阻尼
返回值
- 角度阻尼

ObjectParticles.setGrowthDamping(damping: float)

设置生长阻尼
参数
- damping表示生长阻尼

ObjectParticles.getGrowthDamping() -> float

获取生长阻尼
返回值
- 生长阻尼

ObjectParticles.setRestitution(restitution: float)

设置粒子归还
参数
- restitution表示归还

ObjectParticles.getRestitution() -> float

返回粒子归还
返回值
- 粒子归还

ObjectParticles.setRoughness(roughness: float)

设置粒子粗糙度
参数
- roughness表示粒子粗糙度

ObjectParticles.getRoughness() -> float

获取粒子粗糙度
返回值
- 粒子粗糙度

ObjectParticles.setEmitterType(type: int)

设置粒子发射类型
参数
- type表示粒子发射类型

ObjectParticles.getEmitterType() -> int

获取粒子发射类型
返回值
- 粒子反射类型

ObjectParticles.setEmitterEnabled(enable: int)

设置粒子发射是否开启
参数
- enable为0表示关闭,正数表示开启

ObjectParticles.isEmitterEnabled() -> int

获取粒子发射是否开启
返回值
- 0表示关闭,正数表示开启

ObjectParticles.setEmitterBased(based: int)

设置是否跟随发射器移动
参数
- 0表示不跟随,1表示跟随

ObjectParticles.isEmitterBased() -> int

获取是否跟随发射器移动
返回值
- 0表示不跟随,1表示跟随

ObjectParticles.setEmitterShift(shift: int)

设置是否移动时发射粒子
参数
- 0表示关闭,1表示开启

ObjectParticles.isEmitterShift() -> int

获取是否移动时开启发射粒子
返回值
- 0表示关闭,1表示开启

ObjectParticles.setEmitterContinuous(continuous: int)

设置是否开启连续发射粒子
参数
- 0表示关闭,1表示开启

ObjectParticles.isEmitterContinuous() -> int

获取是否开启连续发射粒子
返回值
- 0表示关闭,1表示开启

ObjectParticles.setEmitterSequence(sequence: int)

设置发射器序列
参数
- sequence表示渲染优先级

ObjectParticles.getEmitterSequence() -> int

获取发射器序列
返回值
- 发射器序列

ObjectParticles.setEmitterLimit(limit: int)

设置每一帧粒子生成数量上限
参数
- limit设置的上限值

ObjectParticles.getEmitterLimit() -> int

获取每一帧粒子生成数量上限
返回值
- 上限值

ObjectParticles.setEmitterSync(sync: int)

设置发射器是否需要和父粒子系统同步
参数
- sync为0表示不需要同步,正数表示需要同步

ObjectParticles.getEmitterSync() -> int

获取发射器是否和父粒子系统同步
返回值
- 0表示不同步,正数表示同步

ObjectParticles.setEmitterSize(size: Type[vec3])

设置发射器尺寸
参数
- size表示尺寸,这个值会根据发射器的类型有不同的解释

ObjectParticles.getEmitterSize() -> Type[vec3]

获取发射器尺寸
返回值
- 返回反射器尺寸

ObjectParticles.setEmitterDirection(direction: Type[vec3])

设置发射器方向
参数
- direction表示发射器方向

ObjectParticles.getEmitterDirection() -> Type[vec3]

获取发射器方向
返回值
- 发射器方向

ObjectParticles.setEmitterSpread(spread: Type[vec3])

设置发射粒子的扩散方向
参数
- spread表示扩散方向

ObjectParticles.getEmitterSpread() -> Type[vec3]

获取发射的粒子的扩散方向
返回值
- 粒子扩散方向

ObjectParticles.setEmitterTransforms(pos: Type[mat4])

设置放射器的变换矩阵
参数
- pos表示变换矩阵

ObjectParticles.setEmitterVelocity(velocity: Type[vec3])

设置发射器的速度
参数
- velocity表示速度

ObjectParticles.getEmitterVelocity() -> Type[vec3]

获取发射器的速度
返回值
- 返回发射器速度

ObjectParticles.addEmitterSpark(point: Type[vec3], normal: Type[vec3], velocity: Type[vec3])

在指定位置添加一个火花发射器
参数
- point表示火花的发射位置
- normal表示位置的法向量
- velocity表示该位置火花的速度

ObjectParticles.setDelay(mean: float, spread: float)

设置粒子系统初始化的延迟(相对于父粒子系统)
参数
- mean表示平均值,单位秒,小于0的时候会设置为0
- spread表示散布值

ObjectParticles.getDelayMean() -> float

获取延迟的均值
返回值
- 延迟均值

ObjectParticles.getDelaySpread() -> float

获取延迟散布值
返回值
- 延迟的散布值

ObjectParticles.setPeriod(mean: float, spread: float)

设置发射器的活动周期
参数
- mean表示均值
- spread表示散布值

ObjectParticles.getPeriodMean() -> float

获取发射器活动周期的均值
返回值
- 发射器活动周期的均值

ObjectParticles.getPeriodSpread() -> float

获取发射器活动周期的散布值
返回值
- 发射器活动周期的散布值

ObjectParticles.setDuration(mean: float, spread: float)

设置粒子发射的持续时间
参数
- mean表示发射持续时间的均值
- spread表示发射持续时间的散布值

ObjectParticles.getDurationMean() -> float

获取粒子发射持续时间均值
返回值
- 粒子发射持续时间均值

ObjectParticles.getDurationSpread() -> float

获取粒子发射持续时间的散布值
返回值
- 粒子发射持续时间散布值

ObjectParticles.setLife(mean: float, spread: float)

设置粒子生命期
参数
- mean表示生命期的均值
- spread表示生命期的散布值

ObjectParticles.getLifeMean() -> float

获取粒子生命期的均值
返回值
- 粒子生命期的均值

ObjectParticles.getLifeSpread() -> float

获取粒子生命期的散布值
返回值
- 粒子生命期的散布值

ObjectParticles.setVelocity(mean: float, spread: float)

设置粒子的初始速度
参数
- mean表示均值
- spread表示散布值

ObjectParticles.getVelocityMean() -> float

获取粒子初始速度均值
返回值
- 粒子初始速度均值

ObjectParticles.getVelocitySpread() -> float

获取粒子初始速度散布值
返回值
- 粒子初始速度散布值

ObjectParticles.setAngle(mean: float, spread: float)

设置粒子发射的角度
参数
- mean表示粒子发射角度
- spread表示粒子发射角度散布值

ObjectParticles.getAngleMean() -> float

获取粒子发射角度均值
返回值
- 粒子发射角度均值

ObjectParticles.getAngleSpread() -> float

获取粒子发射角度散布值
返回值
- 粒子发射角度散布值

ObjectParticles.setRotation(mean: float, spread: float)

设置发射粒子的旋转角度
参数
- mean表示旋转角度均值
- spread表示旋转角度散布值

ObjectParticles.getRotationMean() -> float

获取发射粒子的旋转角度的均值
返回值
- 旋转角度均值

ObjectParticles.getRotationSpread() -> float

获取发射粒子旋转角度散布值
返回值
- 旋转角度散布值

ObjectParticles.setRadius(mean: float, spread: float)

设置粒子的半径
参数
- mean表示粒子半径的均值
- spread表示粒子半径的散布值

ObjectParticles.getRadiusMean() -> float

获取粒子半径均值
返回值
- 粒子半径均值

ObjectParticles.getRadiusSpread() -> float

设置粒子半径散布值
返回值
- 粒子半径散布值

ObjectParticles.setGrowth(mean: float, spread: float)

设置粒子的生长因子
参数
- mean表示生长因子均值
- spread表示生长因子散布值

ObjectParticles.getGrowthMean() -> float

获取粒子生长因子均值
返回值
- 粒子生长因子均值

ObjectParticles.getGrowthSpread() -> float

获取粒子生长因子散布值
返回值
- 粒子生长因子散布值

ObjectParticles.setGravity(gravity: Type[vec3])

设置影响粒子的重力
参数
- gravity表示重力

ObjectParticles.getGravity() -> Type[vec3]

返回影响粒子的重力
返回值
- 重力值

ObjectParticles.addForce() -> int

增加一个默认参数的外力
返回值
- 外力的id(索引)

ObjectParticles.removeForce(num: int)

移除外力
参数
- num表示外力索引

ObjectParticles.getNumForces() -> int

获取粒子的外力个数
返回值
- 粒子的外力个数

ObjectParticles.setForceAttached(num: int, attached: int)

分离或者添加外力
参数
- num表示外力的id
- attached表示是否分离,0表示分离,1表示添加

ObjectParticles.isForceAttached(num: int) -> int

判断外力是否分离
参数
- num表示外力id
返回值
- 0表示分离,1表示添加

ObjectParticles.setForceTransform(num: int, transform: Type[mat4])

设置外力的变换矩阵
参数
- num表示外力索引
- transform表示变换矩阵

ObjectParticles.getForceTransform(num: int) -> Type[mat4]

获取外力的变换矩阵
参数
- num表示外力的索引
返回值
- 外力的变换矩阵

ObjectParticles.getForcePosition(num: int) -> Type[vec3]

获取外力的位置
参数
- num表示外力的索引
返回值
- 外力的位置

ObjectParticles.getForceRotation(num: int) -> Type[vec3]

获取外力的旋转值
参数
- num表示外力的索引
返回值
- 外力的旋转值

ObjectParticles.setForceRadius(num: int, radius: float)

设置外力的影响半径
参数
- setForceRadius
- radius表示外力的影响半径

ObjectParticles.getForceRadius(num: int) -> float

获取外力的影响半径
参数
- num表示外力的索引
返回值
- 外力的影响半径

ObjectParticles.setForceAttenuation(num: int, attenuation: float)

设置外力的衰减因子
参数
- num表示外力的索引
- attenuation表示衰减因子

ObjectParticles.getForceAttenuation(num: int) -> float

获取外力的衰减因子
参数
- num表示外力的索引
返回值
- 返回外力的衰减因子

ObjectParticles.setForceAttractor(num: int, attractor: float)

设置外力的引力因子
参数
- num表示引力外力的索引
- attractor表示引力因子

ObjectParticles.getForceAttractor(num: int) -> float

获取引力外力的引力因子
参数
- num表示引力外力的索引
返回值
- 引力因子

ObjectParticles.setForceRotator(num: int, rotator: float)

设置外力旋转器
参数
- num表示旋转外力的索引
- rotator表示旋转力

ObjectParticles.getForceRotator(num: int) -> float

获取外力的旋转力
参数
- 旋转外力的索引
返回值
- 旋转力

ObjectParticles.addNoise() -> int

增加一个噪音
返回值
- 返回噪音的索引

ObjectParticles.removeNoise(num: int)

移除噪音
参数
- num表示噪音的索引

ObjectParticles.getNumNoises() -> int

获取噪音的数量
返回值
- 噪音的数量

ObjectParticles.setNoiseAttached(num: int, attached: int)

设置噪音是否分离
参数
- num表示噪音的索引
- attached为0表示分离,正数表示不分离

ObjectParticles.isNoiseAttached(num: int) -> int

获取噪音是否分离
参数
- num表示噪音的索引
返回值
- attached为0表示分离,正数表示不分离

ObjectParticles.setNoiseTransform(num: int, transform: Type[mat4])

设置噪音的变换矩阵
参数
- num表示噪音的索引
- transform表示变换矩阵

ObjectParticles.getNoiseTransform(num: int) -> Type[mat4]

获取矩阵的变换矩阵
参数
- num表示噪音的索引
返回值
- 变换矩阵

ObjectParticles.setNoiseOffset(num: int, offset: Type[vec3])

设置噪音的偏移值
参数
- num表示噪音的索引
- offset表示噪音的偏移值

ObjectParticles.getNoiseOffset(num: int) -> Type[vec3]

获取噪音的偏移值
参数
- num表示噪音的索引
返回值
- 噪音的偏移值

ObjectParticles.addDeflector() -> int

添加导流器
返回值
- 返回导流器索引

ObjectParticles.removeDeflector(num: int)

移除导流器
参数
- num导流器索引

ObjectParticles.getNumDeflectors() -> int

获取导流器的数量
返回值
- 返回导流器的数量

ObjectParticles.setDeflectorType(num: int, type: int)

设置导流器类型
参数
- num表示导流器索引
- type表示导流器类型

ObjectParticles.getDeflectorType(num: int) -> int

获取导流器类型
参数
- num表示导流器索引
返回值
- 导流器类型

ObjectParticles.setDeflectorAttached(num: int, attached: int)

设置导流器是否分离
参数
- num表示导流器索引
- attached为0表示分离,正数表示不分离

ObjectParticles.isDeflectorAttached(num: int) -> int

获取导流器是否分离
参数
- num表示导流器索引
返回值
- 0表示分离,正数表示不分离

ObjectParticles.setDeflectorTransform(num: int, transform: Type[mat4])

设置导流器变换矩阵
参数
- num表示导流器索引
- transform表示变换矩阵

ObjectParticles.getDeflectorTransform(num: int) -> Type[mat4]

获取导流器变换矩阵
参数
- num表示导流器索引
返回值
- 变换矩阵

ObjectParticles.getDeflectorPosition(num: int) -> Type[vec3]

获取导流器位置
参数
- num表示导流器的索引
返回值
- 导流器位置

ObjectParticles.setDeflectorSize(num: int, size: Type[vec3])

设置导流器尺寸
参数
- num表示导流器索引
- size表示导流器大小

ObjectParticles.getDeflectorSize(num: int) -> Type[vec3]

获取导流器尺寸
参数
- num表示导流器索引
返回值
- 导流器尺寸

ObjectParticles.setDeflectorRestitution(num: int, restitution: float)

设置导流器归还
参数
- num表示导流器索引
- restitution表示导流器归还

ObjectParticles.getDeflectorRestitution(num: int) -> float

获取导流器归还
参数
- num表示导流器索引
返回值
- 导流器归还

ObjectParticles.setDeflectorRoughness(num: int, roughness: float)

设置导流器粗糙度
参数
- num表示导流器索引
- roughness表示导流器粗糙度

ObjectParticles.getDeflectorRoughness(num: int) -> float

获取导流器粗糙度
参数
- num表示导流器索引
返回值
- 导流器粗糙度

ObjectParticles.getNumContacts() -> int

获取所有粒子和碰撞其它物体的总数
返回值
- 碰撞体总数

ObjectParticles.getContactPoint(num: int) -> Type[vec3]

获取碰撞点坐标
参数
- num表示碰撞点id
返回值
- 碰撞点坐标

ObjectParticles.getContactNormal(num: int) -> Type[vec3]

获取指定碰撞点的法向
参数
- num表示碰撞点id
返回值
- 碰撞点法向

ObjectParticles.getContactVelocity(num: int) -> Type[vec3]

获取碰撞点粒子速度
参数
- num表示碰撞点id
返回值
- 碰撞点粒子速度

ObjectParticles.getContactObject(num: int) -> Type[Object]

获取指定碰撞位置和粒子碰撞的节点
参数
- num表示碰撞点索引
返回值
- 碰撞体

ObjectParticles.getSurfaceName(surface: int) -> str

获取指定面名字
参数
- surface表示面id
返回值
- 返回面的名字

ObjectParticles.clone() -> Type[ObjectParticles]

克隆节点
返回值
- 克隆的节点

class ObjectGuiPPT(Object)

ObjectGuiPPT.setBillboard(billboard: int)

设置gui对象是否是布告板类型
参数
- 0表示不是,正数表示是布告板类型

ObjectGuiPPT.isBillboard() -> int

获取gui是否是布告板类型
返回值
- 0表示不是,正数表示是布告板类型

ObjectGuiPPT.setBackground(background: int)

设置是否显示背景
参数
- background为0表示不显示,1表示显示

ObjectGuiPPT.getBackground() -> int

获取是否显示背景
返回值
- 0表示不显示,1表示显示

ObjectGuiPPT.setDepthTest(test: int)

是否开启深度测试
参数
- test为0表示不开启,1表示开启深度测试

ObjectGuiPPT.getDepthTest() -> int

获取是否开启深度测试
返回值
- 0表示不开启,1表示开启深度测试

ObjectGuiPPT.setMouseShow(show: int)

设置是否显示光标
参数
- show为0表示不显示,为1表示显示

ObjectGuiPPT.getMouseShow() -> int

获取是否显示光标
返回值
- 0表示不显示,为1表示显示

ObjectGuiPPT.setControlDistance(distance: float)

设置控制gui的距离
参数
- distance表示距离

ObjectGuiPPT.getControlDistance() -> float

获取控制gui的距离
返回值
- 控制gui的距离

ObjectGuiPPT.setPolygonOffset(offset: float)

设置gui和背景的偏移值避免z-fighting,默认值是10单元
参数
- offset表示偏移值

ObjectGuiPPT.getPolygonOffset() -> float

获取偏移值
返回值
- 返回偏移值

ObjectGuiPPT.setPhysicalSize(width: float, height: float)

设置物理尺寸
参数
- width表示物理宽度
- height表示物理高度

ObjectGuiPPT.getPhysicalWidth() -> float

获取物理宽度
返回值
- 物理宽度

ObjectGuiPPT.getPhysicalHeight() -> float

获取物理高度
返回值
- 物理高度

ObjectGuiPPT.setScreenSize(width: int, height: int)

设置屏幕尺寸
参数
- width表示屏幕尺寸
- height表示屏幕高度

ObjectGuiPPT.getScreenWidth() -> int

获取屏幕宽度
返回值
- 返回屏幕宽度值

ObjectGuiPPT.getScreenHeight() -> int

获取屏幕高度
返回值
- 屏幕高度值

ObjectGuiPPT.setFilePath(filePath: str)

设置ppt文件路径
参数
- filePath表示ppt文件路径

ObjectGuiPPT.getFilePath() -> str

获取ppt文件路径
返回值
- ppt文件路径

ObjectGuiPPT.setPPTNowPage(i: int)

设置ppt当前页码
参数
- i表示ppt当前页码

ObjectGuiPPT.getPPTNowPage() -> int

获取ppt当前页码
返回值
- ppt当前页码

ObjectGuiPPT.setPPTFileName(fileName: str)

设置ppt名字
参数
- fileName表示文件名字

ObjectGuiPPT.getPPTFileName() -> str

获取ppt文件名字
返回值
- ppt文件名字

ObjectGuiPPT.startPlay() -> bool

开始播放ppt
返回值
- 返回True表示播放成功,False表示播放失败

ObjectGuiPPT.priPage() -> bool

ppt前一页
返回值
- True表示翻页成功,False表示翻页失败

ObjectGuiPPT.nextPage() -> bool

ppt后一页
返回值
- True表示翻页成功,False表示翻页失败

ObjectGuiPPT.isStartPlay() -> bool

获取ppt是否在播放
返回值
- True表示在播放,False表示停止播放

ObjectGuiPPT.loadWidgetSprite(filePath: str)

加载widgetsprite
参数
- filePath表示widgetsprite路径

ObjectGuiPPT.getPicturePath(page: int) -> str

得到指定页幻灯片的地址
参数
- page表示指定页码
返回值
- 返回指定页码幻灯片路径

class ObjectGuiVideo(Object)

ObjectGuiVideo.play()

播放视频

ObjectGuiVideo.stop()

停止视频

ObjectGuiVideo.pause()

暂停视频

ObjectGuiVideo.isPlaying() -> bool

获取视频是否在播放
返回值
- True表示在播放,False表示不在播放

ObjectGuiVideo.isStopped() -> bool

获取视频是否停止
返回值
- True表示停止,False表示没有停止

ObjectGuiVideo.isPausing() -> bool

获取视频是否暂停
返回值
- ture表示暂停,False表示没有暂停

ObjectGuiVideo.isDrop() -> bool

获取是否播放完
返回值
- True表示播放完,False表示没有播放完

ObjectGuiVideo.setTime(time: float)

设置视频的时间
参数
- time表示时间值

ObjectGuiVideo.getTime() -> float

获取视频的播放时间
返回值
- 返回视频播放时间

ObjectGuiVideo.setVideoFilePath(videoFilePath: str, loadVideo: bool = True)

设置视频的路径
参数
- videoFilePath表示视频路径
- loadVideo表示是否装载视频

ObjectGuiVideo.getVideoFilePath() -> str

获取视频路径
返回值
- 返回路径

ObjectGuiVideo.setLoop(isloop: bool)

设置是否循环播放
参数
- isloop为True表示循环播放,False表示不循环

ObjectGuiVideo.isLoop() -> bool

获取是否循环播放
返回值
- True表示循环播放,False表示不循环

ObjectGuiVideo.setPhysicalSize(width: float, height: float)

设置视频的物理高度
参数
- width表示视频的宽度
- height表示视频的高度

ObjectGuiVideo.getPhysicalWidth() -> float

获取视频的物理宽度
返回值
- 视频的物理宽度

ObjectGuiVideo.getPhysicalHeight() -> float

获取视频的物理高度
返回值
- 视频的物理高度

ObjectGuiVideo.setScreenSize(width: int, height: int)

设置视频屏幕尺寸
参数
- width表示视频屏幕宽度
- height表示视频屏幕高度

ObjectGuiVideo.getScreenWidth() -> int

获取视频屏幕宽度
返回值
- 视频屏幕宽度

ObjectGuiVideo.getScreenHeight() -> int

获取视频屏幕高度
返回值
- 返回视频屏幕高度

ObjectGuiVideo.clear()

清空视频

ObjectGuiVideo.setPlayEnd(isEnd: bool)

设置视频是否正常播放完
参数
- isEnd为True表示正常播放,False表示不正常

ObjectGuiVideo.isPlayEnd() -> bool

获取视频是否正常播放
返回值
- True表示正常播放,False表示不正常

class ObjectBillboard(Object)

ObjectBillboard.setSize(width: float, height: float)

设置布告板尺寸
参数
- width表示布告板宽度
- height表示布告板高度

ObjectBillboard.getWidth() -> float

获取布告板宽度
返回值
- 布告板宽度

ObjectBillboard.getHeight() -> float

获取布告板高度
返回值
- 布告板高度

ObjectBillboard.setOffset(offset: Type[vec3])

设置布告板旋转中心的偏移量
参数
- offset表示偏移量

ObjectBillboard.getOffset() -> Type[vec3]

获取布告板偏移量
返回值
- 布告板偏移量

ObjectBillboard.setScreen(screen: int)

设置布告板是否和屏幕对齐
参数
- 正数表示布告板和屏幕对齐,0表示不对齐

ObjectBillboard.getScreen() -> int

获取布告板是否和屏幕对齐
返回值
- 正数表示布告板和屏幕对齐,0表示不对齐

ObjectBillboard.getResource(surface: int) -> int

参数
- ``

class ObjectMeshSkinned(Object)

ObjectMeshSkinned.addBone(name: str, parent: int) -> int

增加一个骨骼
参数
- name表示骨骼的名称
- parent表示父骨骼的编号
返回值
- 骨骼的编号

ObjectMeshSkinned.addMeshFrame(mesh: Type[ObjectMeshSkinned], frame: int) -> int

从源蒙皮添加一个帧变换
参数
- mesh表示源蒙皮
- frame表示源蒙皮中帧变换编号
返回值
- 添加的帧变换的编号

ObjectMeshSkinned.setSurfaceTransform(transform: Type[mat4], surface: int)

设置网格面变换矩阵
参数
- transform表示变换矩阵
- surface表示网格面id

ObjectMeshSkinned.addMeshSurface(name: str, mesh: Type[ObjectMeshSkinned], surface: int) -> int

添加一个新的网格面
参数
- name表示新的网格面的名字
- mesh表示源蒙皮
- surface表示源蒙皮的面id
返回值
- 新网格面的id

ObjectMeshSkinned.addMeshSurface(dest_surface: int, mesh: Type[ObjectMeshSkinned], surface: int) -> int

增加一个几何面
参数
- dest_surface表示目标id
- mesh表示源蒙皮
- surface表示源蒙皮的面id
返回值
- 网格面的id

ObjectMeshSkinned.addEmptySurface(name: str, num_vertex: int, num_indices: int) -> int

增加一个新的网格面
参数
- name表示新网格面的名字
- num_vertex表示顶点数量
- num_indices表示索引数量
返回值
- 返回新增网格面id

ObjectMeshSkinned.addTriangleSurface(name: str, vertex: None, num_vertex: int, cache: int = 1) -> int

增加一个新的网格面
参数
- name表示新的网格面的名称
- vertex表示新的网格面的顶点
- num_vertex表示顶点数量
- cache表示是否对内存优化
返回值
- 新网格面id

ObjectMeshSkinned.addTriangleSurface(name: str, vertex: None, num_vertex: int, indices: int, num_indices: int) -> int

增加一个新的网格面
参数
- name表示新的网格面的名称
- vertex表示新的网格面的顶点
- num_vertex表示顶点数量
- indices表示新网格面的索引
- num_indices表示索引数量
返回值
- 新网格面id

ObjectMeshSkinned.updateSurfaces()

更新网格面

ObjectMeshSkinned.getNumVertex(surface: int) -> int

获取指定面的顶点数
参数
- surface表示指定面id
返回值
- 顶点数量

ObjectMeshSkinned.setVertex(num: int, xyz: Type[vec3], surface: int)

设置指定顶点的顶点
参数
- num表示顶点id
- xyz表示位置坐标
- surface表示面id

ObjectMeshSkinned.getVertex(num: int, surface: int) -> Type[vec3]

获取指定面指定顶点坐标
参数
- num表示顶点id
- surface表示指定面id
返回值
- 位置坐标

ObjectMeshSkinned.setNormal(num: int, normal: Type[vec3], surface: int)

设置指定面指定顶点法线
参数
- num表示顶点id
- normal表示法向
- surface表示面id

ObjectMeshSkinned.getNormal(num: int, surface: int) -> Type[vec3]

获取指定面指定顶点法线
参数
- num表示顶点id
- surface表示面id
返回值
- 法线向量

ObjectMeshSkinned.setTangent(num: int, tangent: Type[vec4], surface: int)

设置指定面指定顶点切向量
参数
- num表示顶点id
- tangent表示切向量
- surface表示面id

ObjectMeshSkinned.getTangent(num: int, surface: int) -> Type[vec4]

获取指定面指定顶点切向量
参数
- num表示指定顶点id
- surface表示指定面id
返回值
- 切线向量

ObjectMeshSkinned.setTexCoord(num: int, texcoord: Type[vec4], surface: int)

设置指定面指定顶点纹理坐标
参数
- texcoord表示纹理坐标
- num表示指定顶点
- surface表示指定面id

ObjectMeshSkinned.getTexCoord(num: int, surface: int) -> Type[vec4]

获取指定面指定顶点纹理坐标
参数
- num表示指定顶点
- surface表示指点面id
返回值
- 纹理坐标

ObjectMeshSkinned.setNumWeights(num: int, num_weights: int, surface: int)

设置控制顶点的骨骼数量
参数
- num表示顶点id
- num_weights表示可以使用的骨骼权重数量
- surface表示顶点属于的网格面

ObjectMeshSkinned.getNumWeights(num: int, surface: int) -> int

获取控制特定顶点的骨骼数量
参数
- num表示顶点id
- surface表示顶点属于的网格面
返回值
- 骨骼数量

ObjectMeshSkinned.setWeights(num: int, weights: Type[vec4], surface: int)

设置顶点的骨骼权重
参数
- num表示顶点id
- weights表示权重
- surface表示面id

ObjectMeshSkinned.getWeights(num: int, surface: int) -> Type[vec4]

获取顶点骨骼权重
参数
- num表示顶点id
- surface表示面id
返回值
- 顶点权重

ObjectMeshSkinned.setBones(num: int, bones: Type[ivec4], surface: int)

设置四个控制特定顶点的骨骼
参数
- num表示顶点id
- bones表示骨骼ids
- surface表示顶面id

ObjectMeshSkinned.getBones(num: int, surface: int) -> Type[ivec4]

获取附着在顶点的骨骼
参数
- num表示顶点id
- surface表示顶面id
返回值
- 顶点的骨骼id

ObjectMeshSkinned.getNumIndices(surface: int) -> int

获取面的索引数
参数
- surface面id
返回值
- 面的索引数

ObjectMeshSkinned.setIndex(num: int, index: int, surface: int)

设置顶点的索引
参数
- num表示顶点id
- index表示新的索引
- surface表示里面id

ObjectMeshSkinned.getIndex(num: int, surface: int) -> int

获取顶点的索引
参数
- num表示顶点id
- surface表示面id
返回值
- 顶点索引

ObjectMeshSkinned.setLoop(loop: int)

设置骨骼动画是否循环
参数
- 0表示只播放一次,正数表示循环播放

ObjectMeshSkinned.getLoop() -> int

获取骨骼动画是否循环
返回值
- 0表示只播放一次,正数表示循环播放

ObjectMeshSkinned.setControlled(controlled: int)

设置骨骼动画是否被父节点控制
参数
- controlled控制标识

ObjectMeshSkinned.isControlled() -> int

获取骨骼动画是否被父节点控制
返回值
- 控制标识

ObjectMeshSkinned.setTime(time: float)

设置骨骼动画的时间,时间和动画帧有关联
参数
- time表示动画时间

ObjectMeshSkinned.getTime() -> float

获取骨骼动画的时间
返回值
- 动画时间

ObjectMeshSkinned.setSpeed(speed: float)

设置动画播放速度
参数
- speed表示动画播放速度

ObjectMeshSkinned.getSpeed() -> float

获取动画播放速度
返回值
- 动画播放速度

ObjectMeshSkinned.play()

播放动画

ObjectMeshSkinned.stop()

停止播放

ObjectMeshSkinned.isPlaying() -> int

获取动画是否在播放
返回值
- True表示在播放,False表示不在播放

ObjectMeshSkinned.isStopped() -> int

获取动画是否停止
返回值
- True表示停止,False表示没有停止

ObjectMeshSkinned.addLayer() -> int

增加一个动画层
返回值
- 动画层id

ObjectMeshSkinned.removeLayer(num: int)

移除动画层
参数
- num表示动画层id

ObjectMeshSkinned.setNumLayers(num: int)

设置动画层的数量
参数
- num表示数量

ObjectMeshSkinned.getNumLayers() -> int

获取动画层数量
返回值
- 动画层数量

ObjectMeshSkinned.setLayer(layer: int)

设置动画层
参数
- layer表示动画层id

ObjectMeshSkinned.getLayer() -> int

获取当前的动画层
返回值
- 当前动画层

ObjectMeshSkinned.setWeight(weight: float)

设置当前动画层权重
参数
- weight表示权重

ObjectMeshSkinned.getWeight() -> float

获取当前动画层权重
返回值
- 当前动画层权重

ObjectMeshSkinned.addBuffer() -> int

添加一个新的动画缓冲
返回值
- 动画缓冲id

ObjectMeshSkinned.removeBuffer(num: int)

移除动画缓冲
参数
- num表示动画缓冲id

ObjectMeshSkinned.setNumBuffers(num: int)

设置动画缓冲数量
参数
- 动画缓冲数量

ObjectMeshSkinned.getNumBuffers() -> int

获取动画缓冲数量
返回值
- 动画缓冲数量

ObjectMeshSkinned.setBuffer(buffer: int, layer: int = -1)

从缓冲设置变换矩阵到一个动画层
参数
- buffer表示缓冲id
- layer表示动画层id

ObjectMeshSkinned.getBuffer(buffer: int, layer: int = -1)

保存一个动画层矩阵变换到缓冲
参数
- buffer表示缓冲id
- layer表示动画层id

ObjectMeshSkinned.clearBuffer(buffer: int)

清空指定的缓冲
参数
- buffer表示缓冲id

ObjectMeshSkinned.copyBuffer(buffer: int, b: int)

复制缓冲
参数
- buffer表示源缓冲
- b表示目标缓冲

ObjectMeshSkinned.setAnimation(name: str) -> int

载入动画,设置到当前动画层
参数
- name表示动画文件
返回值
- 0表示失败,正数表示成功

ObjectMeshSkinned.getAnimation() -> str

获取当前层动画文件
返回值
- 动画文件名称

ObjectMeshSkinned.setAnimationID(id: int)

设置前一个载入的动画到当前层
参数
- id表示动画id

ObjectMeshSkinned.getAnimationID() -> int

获取当前动画层载入的动画id
返回值
- 动画id

ObjectMeshSkinned.getNumAnimations() -> int

获取所有动画的数量
返回值
- 动画数量

ObjectMeshSkinned.getNumFrames() -> int

获取当前层的动画帧数量
返回值
- 动画帧数量

ObjectMeshSkinned.setFrame(time: float, from_: int = -1, to: int = -1) -> float

设置一帧给当前动画层
参数
- time表示帧的时间间隔
- from_表示起始帧
- to表示结束帧
返回值
- 帧id

ObjectMeshSkinned.getFrameTime() -> float

返回最后通过setFrame设置的时间
返回值
- 时间值

ObjectMeshSkinned.getFrameFrom() -> int

获取最后通过setFrame设置的起始帧
返回值
- 起始帧

ObjectMeshSkinned.getFrameTo() -> int

获取最后通过setFrame设置的结束帧
返回值
- 结束帧

ObjectMeshSkinned.clearFrame()

清空当前动画层的帧

ObjectMeshSkinned.getNumBones() -> int

获取参与动画的骨骼数量
返回值
- 骨骼数量

ObjectMeshSkinned.findBone(name: str) -> int

获取骨骼
参数
- name表示骨骼名字
返回值
- 骨骼id

ObjectMeshSkinned.getBoneName(bone: int) -> str

获取骨骼名字
参数
- bone表示骨骼id
返回值
- 骨骼名字

ObjectMeshSkinned.getBoneParent(bone: int) -> int

返回父骨骼的id
参数
- bone表示骨骼id
返回值
- 骨骼id

ObjectMeshSkinned.getNumBoneChilds(bone: int) -> int

获取子骨骼数量
参数
- bone表示骨骼id
返回值
- 子骨骼数量

ObjectMeshSkinned.getBoneChild(bone: int, child: int) -> int

获取骨骼的子骨骼
参数
- bone表示骨骼id
- child表示子骨骼id
返回值
- 字骨骼在所有骨骼中的id

ObjectMeshSkinned.setBoneTransform(bone: int, transform: Type[mat4])

设置骨骼的变换矩阵
参数
- bone表示骨骼id
- transform表示变换矩阵

ObjectMeshSkinned.setBoneChildsTransform(bone: int, transform: Type[mat4])

设置骨骼的和所有子骨骼的变换矩阵
参数
- bone表示骨骼id
- transform表示变换矩阵

ObjectMeshSkinned.getBoneTransform(bone: int) -> Type[mat4]

获取骨骼的变换矩阵
参数
- bone表示骨骼id
返回值
- 变换矩阵

ObjectMeshSkinned.getOffsetTransform(bone: int) -> Type[mat4]

获取骨骼的偏移矩阵
参数
- bone表示骨骼id
返回值
- 偏移矩阵

ObjectMeshSkinned.setWorldBoneTransform(bone: int, transform: Type[mat4])

设置骨骼的世界变换矩阵
参数
- bone表示骨骼id
- transform表示变换矩阵

ObjectMeshSkinned.setWorldBoneChildsTransform(bone: int, transform: Type[mat4])

设置骨骼和子骨骼的变换矩阵
参数
- bone表示骨骼id
- transform表示变换矩阵

ObjectMeshSkinned.getWorldBoneTransform(bone: int) -> Type[mat4]

获取骨骼的世界变换矩阵
参数
- bone表示骨骼id
返回值
- 世界变换矩阵

ObjectMeshSkinned.setFrameBoneTransformEnabled(bone: int, enable: int)

设置骨骼是否可以变换
参数
- bone表示骨骼id
- enable为0表示禁止变换,正数表示可以变换

ObjectMeshSkinned.setFrameBoneTransform(bone: int, transform: Type[mat4])

设置当前动画层骨骼的变换矩阵
参数
- bone表示骨骼id
- transform表示变换矩阵

ObjectMeshSkinned.getFrameBoneTransform(bone: int) -> Type[mat4]

获取当前层骨骼变换矩阵
参数
- bone表示骨骼id
返回值
- 变换矩阵

ObjectMeshSkinned.isFrameBoneTransform(bone: int) -> int

获取骨骼变换矩阵是否单独应用到当前东湖层
参数
- bone表示骨骼id

class ObjectGrass(Object)

ObjectGrass.setFieldMask(mask: int)

设置区域掩码
参数
- mask表示区域掩码

ObjectGrass.getFieldMask() -> int

获取区域掩码
返回值
- 区域掩码

ObjectGrass.setSeed(seed: int)

设置随机种子
参数
- seed表示种子

ObjectGrass.getSeed() -> int

获取随机种子
返回值
- 随机种子

ObjectGrass.setSizeX(size: float)

设置草地宽度
参数
- size表示宽度

ObjectGrass.getSizeX() -> float

获取草地宽度
返回值
- 草地宽度

ObjectGrass.setSizeY(size: float)

设置草地高度
参数
- size表示草地高度

ObjectGrass.getSizeY() -> float

获取草地高度
返回值
- 草地高度

ObjectGrass.setDensity(density: float)

设置密度
参数
- density表示密度值

ObjectGrass.getDensity() -> float

获取密度
返回值
- 密度值

class ObjectWater(Object)

ObjectWater.setFieldMask(mask: int)

设置区域掩码
参数
- mask表示掩码

ObjectWater.getFieldMask() -> int

获取区域掩码
返回值
- 掩码

ObjectWater.setWave(num: int, wave: Type[vec4])

设置水波参数
参数
- num表示水波id
- wave的x和y表示水波的速度,z表示频率,w表示波幅

ObjectWater.getWave(num: int) -> Type[vec4]

获取水波参数
参数
- num表示水波id
返回值
- 水波参数

ObjectWater.setWaveAngle(num: int, angle: float)

设置水波方向
参数
- num表示水波id
- angle表示水波方向

ObjectWater.getWaveAngle(num: int) -> float

获取水波方向
参数
- num表示水波id
返回值
- 水波方向

ObjectWater.setWaveSpeed(num: int, speed: float)

获取水波速度
参数
- num表示水波id
- speed表示水波速度

ObjectWater.getWaveSpeed(num: int) -> float

获取水波速度
参数
- num表示水波id
返回值
- 水波速度

ObjectWater.setWaveLength(num: int, length: float)

设置水波长
参数
- num表示水波id
- length表示波长

ObjectWater.getWaveLength(num: int) -> float

获取水波长
参数
- num表示水波id
返回值
- 水波长

ObjectWater.setWaveHeight(num: int, height: float)

设置水波高度差(波峰和波谷)
参数
- num表示水波id
- height表示高度差

ObjectWater.getWaveHeight(num: int) -> float

获取水波高度差
参数
- num表示水波id
返回值
- 高度差

ObjectWater.getHeight(position: Type[vec3]) -> float

获取指定位置高度
参数
- position表示位置坐标
返回值
- 高度值

ObjectWater.getNormal(position: Type[vec3]) -> Type[vec3]

返回法向量
参数
- position表示位置坐标
返回值
- 法向量

class ObjectWaterMesh(Object)

ObjectWaterMesh.load(name: str) -> int

从文件载入网格水面文件
参数
- name表示文件名
返回值
- 1表示成功,0表示失败

ObjectWaterMesh.save(name: str) -> int

保存网格水面到指定文件
参数
- name表示文件名
返回值
- 1表示成功,0表示失败

ObjectWaterMesh.setMesh(mesh: Type[Mesh]) -> int

从新初始化该网格水面
参数
- mesh表示网格会面
返回值
- 0表示失败,1表示成功

ObjectWaterMesh.setFieldMask(mask: int)

设置一个区域掩码
参数
- mask宝石掩码

ObjectWaterMesh.getFieldMask() -> int

获取区域掩码
返回值
- 区域掩码

ObjectWaterMesh.setWave(num: int, wave: Type[vec4])

设置水波参数
参数
- num表示水波id
- wave的x和y表示水波的速度,z表示频率,w表示波幅

ObjectWaterMesh.getWave(num: int) -> Type[vec4]

获取水波的参数
参数
- num表示水波id
返回值
- 水波参数

ObjectWaterMesh.setWaveAngle(num: int, angle: float)

设置水波的方向
参数
- num表示水波id
- angle表示水波方向

ObjectWaterMesh.getWaveAngle(num: int) -> float

获取水波方向
参数
- num表示水波id
返回值
- 水波方向

ObjectWaterMesh.setWaveSpeed(num: int, speed: float)

设置水波速度
参数
- num表示水波id
- speed表示水波速度

ObjectWaterMesh.getWaveSpeed(num: int) -> float

获取水波速度
参数
- num表示水波id
返回值
- 水波速度

ObjectWaterMesh.setWaveLength(num: int, length: float)

设置水波长
参数
- num表示水波id
- length表示波长

ObjectWaterMesh.getWaveLength(num: int) -> float

获取水波长
参数
- num表示水波id
返回值
- 水波长

ObjectWaterMesh.setWaveHeight(num: int, height: float)

设置波峰和波谷差
参数
- num表示水波id
- height表示高度差

ObjectWaterMesh.getWaveHeight(num: int) -> float

获取波峰和波谷差
参数
- num表示水波id
返回值
- 高度差

ObjectWaterMesh.getHeight(position: Type[vec3]) -> float

获取特定位置高度偏移
参数
- position表示位置坐标
返回值
- 高度偏移

ObjectWaterMesh.getNormal(position: Type[vec3]) -> Type[vec3]

获取指定位置法向
参数
- position表示位置坐标
返回值
- 法向

class Player(Node)

Player.getPosition() -> Type[vec3]

获取主相机的位置
返回值
- 主相机位置

Player.setViewportMask(mask: int)

设置相机的视口掩码,节点表面的掩码必须与相机的掩码相同才能在该相机中出现。
参数
- mask 掩码的值。

Player.getViewportMask() -> int

获取相机视口的掩码值。
返回值
- 每一个比特位代表一个mask值。

Player.setReflectionMask(mask: int)

设置视口反射的掩码,节点的材质的反射掩码必须和该掩码相同才会进行渲染。
参数
- 掩码值。

Player.getReflectionMask() -> int

获取视口的反射掩码值。
返回值
- 每一个比特位代表一个mask值。

Player.setSourceMask(mask: int)

更新声音的mask值,声音的mask值必须保证至少有一位和该掩码值相同才能有效。
参数
- mask值。

Player.getSourceMask() -> int

获取视口声音的mask值。
返回值
- 每一个比特位代表一个mask值。

Player.setReverbMask(mask: int)

更新声音回响的mask值,声音回响的mask值必须保证至少有一位和该掩码值相同才能有效。
参数
- mask值

Player.getReverbMask() -> int

获取声音回响的mask值。
返回值
- 每一个比特位代表一个mask值。

Player.setFov(fov: float)

设置垂直的相机视野
参数
- 视野值,默认是60

Player.getFov() -> float

获取相机的视野值。
返回值
- 相机的视野值。

Player.setZNear(znear: float)

设置相机视锥体的近裁剪面。
参数
- 近裁剪面的值。

Player.getZNear() -> float

获取相机视锥体的近裁剪面。
返回值
- 近裁剪面的值。

Player.setZFar(zfar: float)

设置相机视锥体的远裁剪面。
参数
- 远裁剪面的值。

Player.getZFar() -> float

获取相机视锥体的远裁剪面。
返回值
- 远裁剪面的值。

Player.setProjection(projection: Type[mat4])

更新相机的透视投影矩阵。
参数
- 矩阵的值

Player.getProjection() -> Type[mat4]

获取相机的透视投影矩阵。
返回值
- 透视投影矩阵的值。

Player.setModelview(modelview: Type[mat4])

设置相机的模型视图矩阵。
参数
- 矩阵的值。

Player.getModelview() -> Type[mat4]

获取相机的模型视图矩阵。
返回值
- 矩阵的值。

Player.getIModelview() -> Type[mat4]

获取相机模型视图矩阵的逆矩阵。
返回值
- 矩阵的值。

Player.setOldModelview(modelview: Type[mat4])

设置上一帧模型视图的值。
参数
- 矩阵的值。

Player.getOldModelview() -> Type[mat4]

获取上一帧模型视图矩阵的值。
返回值
- 矩阵的值。

Player.setUp(up: Type[vec3])

在相机视口方向设置当前相机朝上的方向,默认是vec3(0,0,1)。
参数
- 朝上的方向。

Player.getUp() -> Type[vec3]

获取相机朝上的方向。
返回值
- 相机的方向向量。

Player.setOffset(offset: Type[mat4])

设置相机额外的transform矩阵,在模型视图矩阵的后面起作用,一般用来设置相机头部的位置或者用来模拟相机的抖动效果。
参数
- 矩阵的值。

Player.getOffset() -> Type[mat4]

获取额外的transform。
返回值
- transform的值。

Player.setVelocity(velocity: Type[vec3])

设置相机移动的速度。
参数
- 速度的值。

Player.getVelocity() -> Type[vec3]

获取相机移动的速度。
返回值
- 速度的值。

Player.setPostMaterials(materials: str)

设置相机的后处理材质。
参数
- 后处理材质的名字。

Player.getPostMaterials() -> str

获取相机的后处理材质名称。
返回值
- 后处理材质名称。

Player.setControlled(controlled: int)

开启或关闭相机控制,默认是1开启。
参数
- 1开启0关闭。

Player.isControlled() -> int

相机控制是否开启。
返回值
- 是否控制。

Player.updateControls(ifps: float)

根据用户的输入,获取相机当前的参数(冲力,方向,速度等)flushTransform会自动更新到相机上。
参数
- 更新周期。

Player.flushTransform()

强制立即设置相机的transform,这个函数通过updateControls自动执行。

Player.clone() -> Type[Player]

复制出一个新的相机
返回值
- 新相机的指针。

Player.renderOneFrame(width: int, height: int, image: Type[Image])

使用该相机渲染一帧画面。
参数
- width表示画面的宽度值
- height表示画面的高度值
- image表示渲染的画面

class PlayerActor(Player)

PlayerActor.setPhysical(physical: int)

设置是否开始物理特性。
参数
- 1表示开启,0表示关闭。

PlayerActor.isPhysical() -> int

获取是否开启物理特性。
返回值
- 1表示开启,0表示关闭。

PlayerActor.setPhysicalMass(mass: float)

设置物体的质量,默认是60
参数
- 物体的质量

PlayerActor.getPhysicalMass() -> float

获取物体的质量
返回值
- 物体的质量

PlayerActor.setPhysicalMask(mask: int)

设置物体的物理掩码,两个掩码相同的物体才会交互。
参数
- 掩码值。

PlayerActor.getPhysicalMask() -> int

获取当前物体的掩码值。
返回值
- 掩码值。

PlayerActor.setIntersectionMask(mask: int)

设置物体交互的掩码值,只要有1位匹配就认为匹配。
参数
- 掩码值。

PlayerActor.getIntersectionMask() -> int

获取物体交互的掩码值。
返回值
- 掩码值。

PlayerActor.setCollision(collision: int)

设置是否在碰撞的时候考虑相机的包围体,这个方法只有在setPhysical()为0是才有效。
参数
- 0开启,1关闭

PlayerActor.getCollision() -> int

获取物体是否开始了碰撞
返回值
- 0开启,1关闭。

PlayerActor.setCollisionMask(mask: int)

设置相机碰撞的掩码值,相同掩码值的物体才会碰撞。
参数
- 掩码值。

PlayerActor.getCollisionMask() -> int

获取相机碰撞的掩码值。
返回值
- 掩码值。

PlayerActor.setCollisionRadius(radius: float)

设置相机碰撞包围体的半径,默认是0.3。
参数
- 半径的值。

PlayerActor.getCollisionRadius() -> float

获取相机碰撞包围体的半径。
返回值
- 碰撞包围体的半径。

PlayerActor.setCollisionHeight(height: float)

设置相机包围体的高度,默认是1。
参数
- 包围体的高度。

PlayerActor.getCollisionHeight() -> float

获取相机包围体的高度。
返回值
- 包围体的高度。

PlayerActor.setMinFriction(friction: float)

设置物体在行走时候的摩檫力,默认是0.5。
参数
- 摩檫力的大小。

PlayerActor.getMinFriction() -> float

获取行走时候的摩檫力。
返回值
- 摩檫力的大小。

PlayerActor.setMaxFriction(friction: float)

表示物体禁止时候的摩檫力,默认是2。
参数
- 摩檫力的大小

PlayerActor.getMaxFriction() -> float

获取物体静止时候的摩檫力。
返回值
- 摩檫力的大小。

PlayerActor.setMinVelocity(velocity: float)

设置物体默认的移动速度,默认是2单位/秒。
参数
- 速度的值。

PlayerActor.getMinVelocity() -> float

获取物体默认的移动速度。
返回值
- 速度的值。

PlayerActor.setMaxVelocity(velocity: float)

最大移动速度,默认是4.
参数
- 速度的值

PlayerActor.getMaxVelocity() -> float

获取最大移动速度。
返回值
- 速度的值。

PlayerActor.setMinThetaAngle(angle: float)

设置相机低头或者抬头张望的角度,默认是-90°。
参数
- 最小张望的角度。

PlayerActor.getMinThetaAngle() -> float

获取最小张望的角度。
返回值
- 最小张望的角度。

PlayerActor.setMaxThetaAngle(angle: float)

设置相机低头或者抬头张望的角度,默认是90°。
参数
- 最大张望的角度。

PlayerActor.getMaxThetaAngle() -> float

获取最大张望的角度。
返回值
- 最大张望的角度。

PlayerActor.setAcceleration(acceleration: float)

设置加速度,默认是8。
参数
- 加速度的值。

PlayerActor.getAcceleration() -> float

获取加速度。
返回值
- 加速度的值。

PlayerActor.setDamping(damping: float)

设置速度的阻力,默认是8。
参数
- 阻力的值。

PlayerActor.getDamping() -> float

获取阻力的值。
返回值
- 阻力的值。

PlayerActor.setTurning(turning: float)

设置物体转向的速度,默认是90。
参数
- 转向的速度。

PlayerActor.getTurning() -> float

获取物体转向的速度。
返回值
- 速度的值。

PlayerActor.setJumping(jumping: float)

设置物体跳跃的速度。
参数
- 跳跃的速度。

PlayerActor.getJumping() -> float

获取物体跳跃的速度。
返回值
- 速度的值。

PlayerActor.setPhiAngle(angle: float)

设置物体左右张望的角度。
参数
- 张望的角度。

PlayerActor.getPhiAngle() -> float

获取物体左右张望的角度。
返回值
- 张望的角度。

PlayerActor.setThetaAngle(angle: float)

设置物体上下张望的角度。
参数
- 张望的角度。

PlayerActor.getThetaAngle() -> float

获取物体上下张望的角度。
返回值
- 张望的角度。

PlayerActor.setViewDirection(direction: Type[vec3])

设置物体朝前的方向。
参数
- 朝前的方向。

PlayerActor.getViewDirection() -> Type[vec3]

获取物体朝前的方向。
返回值
- 朝前的方向。

PlayerActor.getState(state: int) -> int

获取物体当前state的状态。
参数
- state状态
返回值
- 是否开启。

PlayerActor.getStateTime(state: int) -> float

获取物体处在该状态的时间。
参数
- 状态的类型。
返回值
- 时间值。

PlayerActor.getNumContacts() -> int

获取该物体有几个碰撞点。
返回值
- 碰撞点的个数。

PlayerActor.setGround(ground: int)

设置一个标志表示物体当前站在地上,默认是0。
参数
- 0表示是,1表示不是。

PlayerActor.getGround() -> int

获取物体是否站在地上。
返回值
- 0表示是,1表示不是。

PlayerActor.setCeiling(ceiling: int)

设置物体头部是否与天花板接触。
参数
- 0表示是,1表示不是。

PlayerActor.getCeiling() -> int

获取物体头部是否与天花板接触。
返回值
- 0表示是,1表示不是。

PlayerActor.updateControls(ifps: float)

根据用户的输入,获取相机当前的参数(冲力,方向,速度等)flushTransform会自动更新到相机上
参数
- 更新周期。

PlayerActor.flushTransform()

强制立即设置相机的transform,这个函数通过updateControls自动执行。

PlayerActor.getBoundBox() -> Type[BoundBox]

获取物体的包围体。
返回值
- 物体的包围体。

PlayerActor.getBoundSphere() -> Type[BoundSphere]

获取物体的包围球。
返回值
- 物体的包围球。

PlayerActor.clone() -> Type[PlayerActor]

复制一个PlayerActor
返回值
- 新PlayerActor的指针

class PlayerPersecutor(Player)

PlayerPersecutor.setFixed(fixed: int)

设置一个值,该值指示相机是否能够围绕其目标自由旋转,或者它是否严格朝一个方向,固定的朝向与相机的方向相同,默认是0。
参数
- 0关闭,1开启。

PlayerPersecutor.isFixed() -> int

是否开启绕目标自由旋转。
返回值
- 0关闭,1开启。

PlayerPersecutor.setCollision(collision: int)

设置是否开启碰撞。
参数
- 0关闭,1开启。

PlayerPersecutor.getCollision() -> int

获取是否开启碰撞。
返回值
- 是否开启碰撞。

PlayerPersecutor.setCollisionMask(mask: int)

设置碰撞相机的掩码,只有相同的掩码才会碰撞。
参数
- 掩码值。

PlayerPersecutor.getCollisionMask() -> int

获取相机碰撞的掩码值。
返回值
- 掩码值。

PlayerPersecutor.setCollisionRadius(radius: float)

设置碰撞包围体的半径。
参数
- 半径的值

PlayerPersecutor.getCollisionRadius() -> float

获取碰撞包围体的半径。
返回值
- 半径的值。

PlayerPersecutor.setTarget(node: Type[Node])

设置相机的跟随目标,默认是NULL。
参数
- 相机的目标。

PlayerPersecutor.getTarget() -> Type[Node]

获取相机的跟随目标。
返回值
- 相机的跟随目标。

PlayerPersecutor.setAnchor(anchor: Type[vec3])

设置相机跟随目标的参考点,这个参考点是在跟随目标的局部坐标系下,默认是vec3(0.0)。
参数
- 参考点的位置。

PlayerPersecutor.getAnchor() -> Type[vec3]

获取相机参考点的位置。
返回值
- 参考点的位置。

PlayerPersecutor.setMinDistance(distance: float)

设置相机离跟随目标的最小距离。
参数
- 距离值。

PlayerPersecutor.getMinDistance() -> float

获取相机离跟随目标的最小值。
返回值
- 距离值。

PlayerPersecutor.setMaxDistance(distance: float)

设置相机离跟随目标的最大距离。
参数
- 距离值。

PlayerPersecutor.getMaxDistance() -> float

获取相机离跟随目标的最大值。
返回值
- 距离值。

PlayerPersecutor.setMinThetaAngle(angle: float)

设置相机上下张望的角度,默认是-90°。
参数
- 张望的角度。

PlayerPersecutor.getMinThetaAngle() -> float

获取相机上下张望的角度。
返回值
- 张望的角度。

PlayerPersecutor.setMaxThetaAngle(angle: float)

设置相机上下张望的角度。默认是90°
参数
- 张望的角度。

PlayerPersecutor.getMaxThetaAngle() -> float

获取相机上下张望的角度。
返回值
- 张望的角度。

PlayerPersecutor.setTurning(turning: float)

设置相机转向的速度。
参数
- 转向的速度。

PlayerPersecutor.getTurning() -> float

获取相机转向的速度。
返回值
- 转向的速度。

PlayerPersecutor.setDistance(distance: float)

设置当前相机距离目标的距离。
参数
- 距离值。

PlayerPersecutor.getDistance() -> float

获取当前相机距离目标的值。
返回值
- 距离值。

PlayerPersecutor.setPhiAngle(angle: float)

设置相机当前左右张望的角度。
参数
- 张望的角度。

PlayerPersecutor.getPhiAngle() -> float

获取相机当前左右张望的角度。
返回值
- 张望的角度。

PlayerPersecutor.setThetaAngle(angle: float)

设置相机当前上下张望的角度。
参数
- 张望的角度。

PlayerPersecutor.getThetaAngle() -> float

获取相机当前张望的角度。
返回值
- 张望的角度。

PlayerPersecutor.setViewDirection(direction: Type[vec3])

设置相机的朝向。
参数
- 相机的朝向。

PlayerPersecutor.getViewDirection() -> Type[vec3]

获取相机的朝向。
返回值
- 相机的朝向。

PlayerPersecutor.getNumContacts() -> int

获取相机可以碰撞点的数目。
返回值
- 碰撞点的数目。

PlayerPersecutor.updateControls(ifps: float)

根据用户的输入,获取相机当前的参数(冲力,方向,速度等)flushTransform会自动更新到相机上。
参数
- 更新周期。

PlayerPersecutor.flushTransform()

强制立即设置相机的transform,这个函数通过updateControls自动执行。

PlayerPersecutor.getBoundBox() -> Type[BoundBox]

获取相机的包围体。
返回值
- 相机的包围体。

PlayerPersecutor.getBoundSphere() -> Type[BoundSphere]

获取相机的包围球。
返回值
- 相机的包围球。

PlayerPersecutor.clone() -> Type[PlayerPersecutor]

复制一个PlayerPersecutor。
返回值
- 指向新的PlayerPersecutor的指针。

class PlayerSpectator(Player)

PlayerSpectator.setCollision(collision: int)

设置相机是否碰撞。
参数
- 0关闭,1开启。

PlayerSpectator.getCollision() -> int

获取相机是否碰撞。
返回值
- 0关闭,1开启。

PlayerSpectator.setCollisionMask(mask: int)

设置相机的碰撞掩码,只有两个掩码相同的物体才会碰撞。
参数
- 掩码值。

PlayerSpectator.getCollisionMask() -> int

获取相机的碰撞掩码值。
返回值
- 掩码值。

PlayerSpectator.setCollisionRadius(radius: float)

设置相机碰撞包围体的半径。
参数
- 半径值。

PlayerSpectator.getCollisionRadius() -> float

获取相机碰撞包围体的半径。
返回值
- 相机包围体的碰撞半径。

PlayerSpectator.setMinVelocity(velocity: float)

设置相机的最小移动速度。
参数
- 移动速度。

PlayerSpectator.getMinVelocity() -> float

获取相机的最小移动速度。
返回值
- 相机的最小移动速度。

PlayerSpectator.setMaxVelocity(velocity: float)

设置相机的最大移动速度。
参数
- 移动速度。

PlayerSpectator.getMaxVelocity() -> float

获取相机的最大移动速度。
返回值
- 最大移动速度。

PlayerSpectator.setMinThetaAngle(angle: float)

设置相机上下张望的最小角度。
参数
- 上下张望的最小角度。

PlayerSpectator.getMinThetaAngle() -> float

获取相机上下张望的最小角度。
返回值
- 上下张望的角度。

PlayerSpectator.setMaxThetaAngle(angle: float)

设置相机上下张望的最大角度。
参数
- 上下张望的最大角度。

PlayerSpectator.getMaxThetaAngle() -> float

获取相机上下张望的最大角度。
返回值
- 上下张望的最大角度。

PlayerSpectator.setAcceleration(acceleration: float)

设置相机的加速度。
参数
- 加速度的值。

PlayerSpectator.getAcceleration() -> float

获取相机的加速度。
返回值
- 加速度的值。

PlayerSpectator.setDamping(damping: float)

设置相机的阻力。
参数
- 阻力的值。

PlayerSpectator.getDamping() -> float

获取相机的阻力。
返回值
- 阻力的值。

PlayerSpectator.setTurning(turning: float)

设置相机转向的速度。
参数
- 转向的速度。

PlayerSpectator.getTurning() -> float

获取相机转向的速度。
返回值
- 转向的速度。

PlayerSpectator.setPhiAngle(angle: float)

设置当前相机左右张望的角度。
参数
- 张望的角度。

PlayerSpectator.getPhiAngle() -> float

获取相机当前左右张望的角度。
返回值
- 张望的角度。

PlayerSpectator.setThetaAngle(angle: float)

设置当前相机上下张望的角度。
参数
- 张望的角度。

PlayerSpectator.getThetaAngle() -> float

获取相机当前上下张望的角度。
返回值
- 张望的角度。

PlayerSpectator.setViewDirection(direction: Type[vec3])

设置相机的朝向。
参数
- 相机的朝向。

PlayerSpectator.getViewDirection() -> Type[vec3]

获取当前相机的朝向。
返回值
- 相机的朝向。

PlayerSpectator.getNumContacts() -> int

获取相机当前的碰撞点的个数。
返回值
- 碰撞点的个数。

PlayerSpectator.updateControls(ifps: float)

根据用户的输入,获取相机当前的参数(冲力,方向,速度等)flushTransform会自动更新到相机上。
参数
- 更新周期。

PlayerSpectator.flushTransform()

强制立即设置相机的transform,这个函数通过updateControls自动执行。

PlayerSpectator.getBoundBox() -> Type[BoundBox]

获取相机的包围体。
返回值
- 相机的包围体。

PlayerSpectator.getBoundSphere() -> Type[BoundSphere]

获取相机的包围球。
返回值
- 相机的包围球。

PlayerSpectator.clone() -> Type[PlayerSpectator]

复制一个PlayerSpectator。
返回值
- 指向新PlayerSpectator实力的指针。

class Light(Node)

Light.setLightMask(mask: int)

设置材质光照
参数
- mask为整数,每个位都是一个掩码

Light.setViewportMask(mask: int)

设置视口
参数
- mask为整数,每个位都是一个掩码

Light.setDeferred(deferred: int)

设置强制延迟光照
参数
- deferred 1为光延迟,否则为0

Light.setColor(color: Type[vec4])

设置颜色
参数
- color为RGBA格式

Light.getColor() -> Type[vec4]

获得当前颜色
返回值
- 返回颜色值vec4

Light.setMultiplier(multiplier: float)

设置光源颜色乘数,该参数将用于改变照明区域的颜色
参数
- float值范围在[1.0, 1000.0]

Light.getMultiplier() -> float

获取光源颜色乘数,默认值为1
返回值
- 返回光源颜色参数

Light.setAttenuation(attenuation: float)

设置光的衰减。该值越大光衰减得越快,如果衰减等于零或接近它,则照明区域和非照明区域之间的边缘将是清晰的
参数
- 光的衰减值,范围在[0.001, 1]

Light.getAttenuation() -> float

获得光的衰减值
返回值
- 返回光的衰减值float类型

Light.setDiffuseScale(scale: float)

设置光源的漫反射缩放
参数
- scale缩放值

Light.getDiffuseScale() -> float

获得光源的漫反射缩放
返回值
- 返回光源的漫反射缩放

Light.setNormalScale(scale: float)

设置光源的法线贴图缩放
参数
- scale缩放值

Light.getNormalScale() -> float

获得光源的法线贴图缩放
返回值
- 返回光源的法线贴图缩放值

Light.setSpecularScale(scale: float)

设置高光缩放值
参数
- scale缩放值

Light.getSpecularScale() -> float

获得高光缩放值
返回值
- 返回高光缩放值

Light.setSpecularPower(power: float)

设置光源的镜面反射功率
参数
- power镜面反射值

Light.getSpecularPower() -> float

获得光源的镜面反射功率
返回值
- 返回光源的镜面反射功率

Light.setShadow(shadow: int)

设置灯光是否使用投射阴影材质从曲面投射阴影
参数
- 1投射阴影,0不投射

Light.setTranslucent(translucent: int)

设置灯光是否使用半透明材质投射半透明阴影
参数
- 1投射半透明阴影,0不投射

Light.setShadowSize(size: int)

设置阴影贴图大小
参数
- size阴影贴图大小值

Light.getShadowSize() -> int

获得阴影贴图大小值
返回值
- 返回阴影贴图大小值

Light.setTranslucentSize(size: int)

设置半透明阴影贴图大小
参数
- size半透明阴影贴图大小值

Light.getTranslucentSize() -> int

获得半透明阴影贴图大小
返回值
- 返回半透明阴影贴图大小

Light.setShadowOffset(offset: Type[vec3])

设置阴影偏移量
参数
- vec3偏移值

Light.getShadowOffset() -> Type[vec3]

获得阴影偏移量
返回值
- 返回阴影偏移量vec3

Light.setShadowAmbient(ambient: float)

用于更改阴影区域颜色值,该值越高,颜色越浅
参数
- ambient值,范围在[0, 1]

Light.getShadowAmbient() -> float

获得阴影区域颜色值
返回值
- 返回阴影区域颜色值

Light.setShadowBias(bias: float)

设置阴影贴图中深度值的常量偏移,有助于消除错误的自阴影
参数
- bias阴影贴图中深度值的常量偏移值

Light.getShadowBias() -> float

获得阴影贴图中深度值的常量偏移
返回值
- 返回阴影贴图中深度值的常量偏移

Light.setShadowSlope(slope: float)

设置阴影的斜率。根据光源角度的表面斜率来缩放此偏移:斜率越大,偏移越多
参数
- slope斜率值

Light.getShadowSlope() -> float

获得阴影的斜率
返回值
- 返回阴影的斜率

Light.setShadowSoftness(softness: float)

设置阴影柔和度
参数
- softness越大,阴影就越柔和

Light.getShadowSoftness() -> float

获得阴影柔和度
返回值
- 返回阴影柔和度

Light.setTranslucentBias(bias: float)

设置半透明的阴影贴图中深度值的偏移量,有助于消除错误的自阴影
参数
- bias偏移量值

Light.getTranslucentBias() -> float

获得半透明的阴影贴图中深度值的偏移量
返回值
- 返回半透明的阴影贴图中深度值的偏移量

Light.setDeferredDistance(distance: float)

设置光源开始渲染的延迟距离
参数
- distance距离

Light.getDeferredDistance() -> float

获得光源开始渲染的延迟距离
返回值
- 返回光源开始渲染的延迟距离

Light.setVisibleDistance(distance: float)

设置光源开始逐渐消失的距离
参数
- distance距离

Light.getVisibleDistance() -> float

获得光源开始逐渐消失的距离
返回值
- 返回光源开始逐渐消失的距离

Light.setShadowDistance(distance: float)

设置阴影开始逐渐消失的距离
参数
- distance距离

Light.getShadowDistance() -> float

获得阴影开始逐渐消失的距离
返回值
- 返回阴影开始逐渐消失的距离

Light.setFadeDistance(distance: float)

设置光源开始逐渐消失的距离
参数
- distance距离

Light.getFadeDistance() -> float

获得光源开始逐渐消失的距离
返回值
- 返回光源开始逐渐消失的距离

Light.setRenderDistance(distance: float)

设置渲染的距离
参数
- distance距离

Light.getRenderDistance() -> float

获得渲染的距离
返回值
- 返回渲染的距离

Light.getRenderDiffuseScale(distance: float) -> float

获得在某一距离处渲染的漫反射的缩放值
参数
- distance距离
返回值
- 返回在某一距离处渲染的漫反射的缩放值

Light.getRenderSpecularScale(distance: float) -> float

获得在某一距离处渲染的镜面反射的缩放值
参数
- distance距离
返回值
- 返回在某一距离处渲染的镜面反射的缩放值

Light.getRenderShadowAmbient(distance: float) -> float

获得在某一距离处渲染的阴影区域颜色值
参数
- distance距离
返回值
- 返回在某一距离处渲染的阴影区域颜色值

Light.getImageTexture() -> Type[Texture]

获得贴图纹理
返回值
- 返回贴图纹理

Light.setColorTexture(texture: Type[Texture])

设置颜色贴图纹理
参数
- texture颜色贴图纹理

Light.getColorTexture() -> Type[Texture]

获得颜色贴图纹理
返回值
- 返回颜色贴图纹理

Light.setDepthTexture(texture: Type[Texture])

设置深度贴图纹理
参数
- texture深度贴图纹理

Light.getDepthTexture() -> Type[Texture]

获得深度贴图纹理
返回值
- 返回深度贴图纹理

Light.getMinSpatialDistance() -> float

获得最小的空间距离
返回值
- 返回最小的空间距离

Light.getMaxSpatialDistance() -> float

获得最大的空间距离
返回值
- 返回最大的空间距离

Light.clone() -> Type[Light]

克隆灯光节点
返回值
- 返回克隆的灯光节点

class LightOmni(Light)

LightOmni.setRadius(radius: Type[vec3])

设置光源半径
参数
- radius半径值

LightOmni.getRadius() -> Type[vec3]

获得光源半径
返回值
- 返回光源半径

LightOmni.setImageTextureName(name: str)

设置光源贴图
参数
- name贴图名字

LightOmni.getImageTextureName() -> str

获得光源贴图
返回值
- 返回光源贴图

LightOmni.getImageTexture() -> Type[Texture]

获得贴图纹理
返回值
- 返回贴图纹理

LightOmni.setShadowMask(mask: int)

设置阴影掩码
参数
- mask为整数,每个位为一个掩码

LightOmni.getShadowMask() -> int

获得阴影掩码
返回值
- 返回阴影掩码

LightOmni.getBoundBox() -> Type[BoundBox]

获得包围盒
返回值
- 返回包围盒

LightOmni.getBoundSphere() -> Type[BoundSphere]

获得包围球
返回值
- 返回包围球

LightOmni.clone() -> Type[LightOmni]

克隆节点
返回值
- 返回克隆的节点

class LightProb(Light)

LightProb.setRadius(radius: Type[vec3])

设置光源半径
参数
- radius半径值

LightProb.getRadius() -> Type[vec3]

获得光源半径
返回值
- 返回光源半径

LightProb.setCoefficients(coefficients: Type[vec3])

设置系数
参数
- coefficients系数值

LightProb.getCoefficients() -> Type[vec3]

获得系数值
返回值
- 返回系数值

LightProb.setImageTexture(image: Type[Image])

设置图片纹理
参数
- image图片

LightProb.getImageTexture(image: Type[Image])

获得图片纹理
参数
- 要获得的纹理

LightProb.getImageColor(direction: Type[vec3]) -> Type[vec3]

获得某一方向上的图片颜色
参数
- direction方向值
返回值
- 返回某一方向上的图片颜色

LightProb.getBoundBox() -> Type[BoundBox]

获得包围盒
返回值
- 返回包围盒

LightProb.getBoundSphere() -> Type[BoundSphere]

获得包围球
返回值
- 返回包围球

LightProb.clone() -> Type[LightProb]

克隆节点
返回值
- 返回克隆的节点

class LightProj(Light)

LightProj.setRadius(radius: float)

设置光源半径
参数
- radius半径值

LightProj.getRadius() -> float

获得光源半径
返回值
- 返回光源半径

LightProj.setFov(fov: float)

设置视野
参数
- fov视野值

LightProj.getFov() -> float

获得视野值
返回值
- 返回视野值

LightProj.setZNear(znear: float)

设置近裁剪面
参数
- znear近裁剪面

LightProj.getZNear() -> float

获得近裁剪面
返回值
- 返回近裁剪面

LightProj.getProjection() -> Type[mat4]

获得投影矩阵
返回值
- 返回投影矩阵

LightProj.setImageTextureName(name: str)

设置纹理贴图
参数
- name纹理贴图名字

LightProj.getImageTextureName() -> str

获得纹理贴图名字
返回值
- 返回纹理贴图名字

LightProj.getImageTexture() -> Type[Texture]

获得纹理贴图
返回值
- 返回纹理贴图

LightProj.getBoundBox() -> Type[BoundBox]

获得包围盒
返回值
- 返回包围盒

LightProj.getBoundSphere() -> Type[BoundSphere]

获得包围球
返回值
- 返回包围球

LightProj.clone() -> Type[LightProj]

克隆节点
返回值
- 返回克隆的节点

class LightSpot(Light)

LightSpot.setRadius(radius: float)

设置光源半径
参数
- radius半径值

LightSpot.getRadius() -> float

获得半径值
返回值
- 返回半径值

LightSpot.getBoundBox() -> Type[BoundBox]

获得包围盒
返回值
- 返回包围盒

LightSpot.getBoundSphere() -> Type[BoundSphere]

获得包围球
返回值
- 返回包围球

LightSpot.clone() -> Type[LightSpot]

克隆节点
返回值
- 返回克隆的节点

class LightWorld(Light)

LightWorld.setScattering(scattering: int)

设置平行光散射值
参数
- scattering平行光散射值

LightWorld.getScattering() -> int

获得平行光散射值
返回值
- 返回平行光散射值

LightWorld.setShadowRange(range: float)

设置阴影范围
参数
- range阴影范围值

LightWorld.getShadowRange() -> float

获得阴影范围
返回值
- 返回阴影范围

LightWorld.setShadowDistribute(distribute: float)

设置阴影分布
参数
- distribute阴影分布值

LightWorld.getShadowDistribute() -> float

获得阴影分布
返回值
- 返回阴影分布

LightWorld.setNumShadowSplits(num: int)

设置阴影分割次数
参数
- num阴影分割次数值

LightWorld.getNumShadowSplits() -> int

获得阴影分割次数
返回值
- 返回阴影分割次数

LightWorld.updateMatrices()

更新矩阵

LightWorld.getProjection() -> Type[mat4]

获得投影矩阵
返回值
- 返回投影矩阵

LightWorld.getModelview() -> Type[mat4]

获得模型视图矩阵
返回值
- 返回模型视图矩阵

LightWorld.getBoundBox() -> Type[BoundBox]

获得包围盒
返回值
- 返回包围盒

LightWorld.getBoundSphere() -> Type[BoundSphere]

获得包围球
返回值
- 返回包围球

LightWorld.clone() -> Type[LightWorld]

克隆节点
返回值
- 返回克隆的节点

class WorldTrigger(Node)

WorldTrigger.setShapeType(type: int)

设置渲染外形
参数
- type: 0为球体,1为胶囊体, 2为圆柱体, 3为立方体

WorldTrigger.getShapeType() -> int

获得渲染外形的类型
返回值
- 返回渲染外形类型

WorldTrigger.getShape() -> Type[Shape]

获得空间触发器的shape
返回值
- 返回空间触发器的shape

WorldTrigger.setTouch(touch: int)

设置触发方式
参数
- touch:0是包围,1是触碰

WorldTrigger.isTouch() -> int

获得触发方式
返回值
- 0是包围,1是触碰

WorldTrigger.setSize(size: Type[vec3])

设置空间触发器的大小
参数
- size大小值

WorldTrigger.getSize() -> Type[vec3]

获得空间触发器的大小
返回值
- 返回空间触发器的大小

WorldTrigger.isTargetNode(node: Type[Node]) -> int

判断是否是触发的节点
参数
- node节点
返回值
- 是返回1,否则返回0

WorldTrigger.addCameraToTarget(isAdd: bool)

添加主相机为触发节点
参数
- isAdd True or False

WorldTrigger.isCameraToTarget() -> bool

判断相机是否是触发的节点
返回值
- 是返回True,否则返回False

WorldTrigger.removeCamera()

移除相机此触发节点

WorldTrigger.addWandToTarget(isAdd: bool)

添加手柄为触发器节点
参数
- isAdd True or False

WorldTrigger.isWandToTarget() -> bool

判断手柄是否是触发器节点
返回值
- 是返回True,否则返回False

WorldTrigger.removeWand()

移除手柄为触发节点

WorldTrigger.addTargetNode(node: Type[Node])

添加单个触发节点
参数
- node节点

WorldTrigger.removeTargetNode(node: Type[Node])

移除单个触发节点
参数
- node节点

WorldTrigger.clearAllTargetNodes()

清除所有的目标节点,此时对于场景中的任何节点都会触发事件

WorldTrigger.inside(bb: Type[BoundBox], transform: Type[mat4]) -> int

通过不同的shape来触发空间触发器
参数
- bb 触发节点的包围盒
- transform
返回值
- 触发为1,否则为0

WorldTrigger.inside(sp: Type[Shape]) -> int

通过节点的Shape来判断
参数
- sp带有物理属性的节点的包围体
返回值
- 触发为1,否则为0

WorldTrigger.addNode(node: Type[Node])

添加节点
参数
- node节点

WorldTrigger.removeNode(node: Type[Node])

移除节点
参数
- node节点

WorldTrigger.getNumNodes() -> int

获得节点数量
返回值
- 返回数值

WorldTrigger.getNode(num: int) -> Type[Node]

获得指定索引的节点
参数
- num索引值
返回值
- 返回相应的节点

WorldTrigger.setEnterCallback(func: Type[WorldTriggerCallbackBase])

触发进入的回调函数
参数
- 回调函数指针

WorldTrigger.getEnterCallback() -> Type[WorldTriggerCallbackBase]

获得触发进入的回调函数指针
返回值
- 返回触发进入的回调函数指针

WorldTrigger.setLeaveCallback(func: Type[WorldTriggerCallbackBase])

触发离开的回调函数
参数
- 回调函数指针

WorldTrigger.getLeaveCallback() -> Type[WorldTriggerCallbackBase]

获得触发离开的回调函数指针
返回值
- 返回触发离开的回调函数指针

WorldTrigger.getBoundBox() -> Type[BoundBox]

获得空间触发器的包围盒
返回值
- 返回空间触发器的包围盒

WorldTrigger.getBoundSphere() -> Type[BoundSphere]

获得空间触发器的包围球
返回值
- 返回空间触发器的包围球

WorldTrigger.clone() -> Type[WorldTrigger]

克隆空间触发器
返回值
- 返回克隆的节点

全局函数

createWorldTriggerCallback(func: Type[object]) -> Type[WorldTriggerCallbackBase]

构造world trigger的回调函数
参数
- func表示python函数对象
返回值
- 返回c++函数指针可以传入world trigger的setEnterCallback和setLeaveCallback函数