节点
操控场景中节点和一些节点类。
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类型的节点IDNode.getNumNodes() -> int
得到节点的总数量
返回值
- 节点总数Node.getNode(id: int) -> Type[Node]
通过ID获取节点
参数
- id为要找的节点ID
返回值
- 返回指定ID的节点,如果不存在则返回NoneNode.isNode(node: Type[Node]) -> int
通过Node判断是否为节点
参数
- 待判断的节点
返回值
- 如果是节点则返回1,不是则返回0Node.isNode(id: int) -> int
通过ID来判断是否是节点
参数
- id为节点ID
返回值
- 如果是节点则返回1,不是则返回0Node.getType() -> int
返回节点的类型
返回值
- 用int代表enum类型的值Node.getTypeName() -> str
返回节点类型名称
返回值
- 返回节点类型名称的字符串Node.isLight() -> int
判断是否是灯光节点类型
返回值
- 是灯光节点返回1,不是返回0Node.isObject() -> int
判断是否是实体节点类型
返回值
- 是实体节点返回1,不是返回0Node.isPlayer() -> int
判断是否是相机节点类型
返回值
- 是相机节点返回1,不是返回0Node.isPhysical() -> int
判断是否是具有物理属性的节点类型
返回值
- 具有物理属性节点返回1,不是返回0Node.isVideoGui() -> int
判断是否是视频节点类型
返回值
- 是视频节点返回1,不是返回0Node.isPPT() -> int
判断是否是PPT节点类型
返回值
- 是PPT节点返回1,不是返回0Node.isWorldTrigger() -> int
判断是否是触发器节点类型
返回值
- 是触发器节点返回1,不是返回0Node.isObjectWidget() -> int
判断是否是UI节点类型
返回值
- 是UI节点返回1,不是返回0Node.isExamination() -> int
判断是否是考试节点类型
返回值
- 是考试节点返回1,不是返回0Node.isBillboard() -> int
判断是否是布告板节点类型
返回值
- 是布告板节点返回1,不是返回0Node.isNodeReference() -> int
判断是否是节点引用类型
返回值
- 是节点引用返回1,不是返回0Node.isObjectMesh() -> int
判断是否是mesh点类型
返回值
- 是mesh节点返回1,不是返回0Node.isObjectSkinned() -> int
判断是否是骨骼动画节点类型
返回值
- 是骨骼动画节点返回1,不是返回0Node.isObjectParticle() -> int
判断是否是粒子节点类型
返回值
- 是粒子节点返回1,不是返回0Node.isWater() -> int
判断是否是水节点类型
返回值
- 是水节点返回1,不是返回0Node.isGrass() -> int
判断是否是草节点类型
返回值
- 是草节点返回1,不是返回0Node.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为索引
返回值
- 根据索引返回子节点,不存在则返回NULLNode.getChildNode(name: str) -> Type[Node]
通过节点名查找到子节点
参数
- name为节点名
返回值
- 返回子节点,如果找不到则返回NULLNode.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表示面的idObject.isEnabled(surface: int) -> int
获取节点对应的面的显隐状态
参数
- surface表示对应的面
返回值
- 正数表示节点可见,0表示节点不可见Object.setCastShadow(enable: int, surface: int)
设置节点对应的面是否可以投射非世界光的阴影
参数
- enabel是正数表示可以投射阴影,0表示不可以投射阴影
- surface表示对应的面的idObject.getCastShadow(surface: int) -> int
获取对应的面是否可以投射非世界光的阴影
参数
- surface表示对应的面的id
返回值
- 正数表示可以投射阴影,0表示不可以投射阴影Object.setReceiveShadow(enable: int, surface: int)
设置节点对应的面是否可以接受非世界光投射的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的idObject.getReceiveShadow(surface: int) -> int
获取节点对应的面是否可以接受非世界光投射的阴影
参数
- surface表示对应的面的id
返回值
- 正数表示可以接受,0表示不可以Object.setCastWorldShadow(enable: int, surface: int)
设置节点对应的面是否可以投射世界光的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的idObject.getCastWorldShadow(surface: int) -> int
获取节点对应的面是否可以投射世界光的阴影
参数
- surface表示节点对应的面的id
返回值
- enabel正数表示可以接受,0表示不可以Object.setReceiveWorldShadow(enable: int, surface: int)
设置节点对应的面是否可以接受世界光投射的阴影
参数
- enabel正数表示可以接受,0表示不可以
- surface表示节点对应的面的idObject.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表示对应面的idObject.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对应面的idObject.getMaterialParameter(name: str, surface: int) -> Type[vec4]
获取节点对应面的材质的参数的值
参数
- name材质参数的名称
- surface对应面的id
返回值
- 节点对应面的材质的参数的值Object.setMaterialState(name: str, state: int, surface: int)
设置节点对应面的材质的状态的值
参数
- name材质状态的名称
- state材质状态的值
- surface对应面的idObject.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表示面的idObject.getLightMask(surface: int) -> int
获取对应面的光掩码
参数
- surface表示面的id
返回值
- 返回光掩码Object.setViewportMask(mask: int, surface: int)
设置节点指点面的视口掩码
参数
- mask表示视口掩码
- surface表示面的idObject.getViewportMask(surface: int) -> int
获取指点面的视口掩码
参数
- surface表示面的id
返回值
- 返回视口掩码Object.setIntersectionMask(mask: int, surface: int)
设置指定面的相交掩码
参数
- mask表示相交掩码
- surface表示指定面idObject.getIntersectionMask(surface: int) -> int
获取指定面相交掩码
参数
- surface表示指定面id
返回值
- 返回相交掩码Object.setCollisionMask(mask: int, surface: int)
设置指定面碰撞掩码
参数
- mask表示碰撞掩码
- surface表示指定面idObject.getCollisionMask(surface: int) -> int
获取指定面碰撞掩码
参数
- surface表示指定面id
返回值
- 返回碰撞掩码Object.setCollision(enable: int, surface: int)
设置指定面是否开启碰撞
参数
- enable表示是否开启碰撞,0表示关闭,正数表示开启
- surface表示指定面idObject.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表示指定面idObjectMesh.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表示顶点索引
返回值
- 网格面的idObjectMesh.addTriangleSurface(name: str, vertex: None, num_vertex: int, cache: int = 1) -> int
增加一个新的面到网格
参数
- name新增的面的名称
- vertex顶点的指针
- num_vertex顶点的数量
- 顶点缓存优化
返回值
- 网格面的idObjectMesh.addTriangleSurface(name: str, vertex: None, num_vertex: int, indices: int, num_indices: int) -> int
增加一个新的面到网格
参数
- name新增的面的名称
- vertex顶点的指针
- num_vertex顶点的数量
- indices顶点的索引指针
- num_indices索引的个数
返回值
- 网格面的idObjectMesh.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表示指定的面idObjectMesh.getNumIndices(surface: int) -> int
获取指定面的顶点索引数
参数
- surface表示指定面的id
返回值
- 顶点索引数ObjectMesh.setIndex(num: int, index: int, surface: int)
更新指定面的顶点索引的值
参数
- num表示顶点索引的索引
- index表示新的索引值
- surface表示指定的面idObjectMesh.getIndex(num: int, surface: int) -> int
获取指定面的顶点索引的索引
参数
- num表示索引的id
- surface表示指定面的idObjectMesh.findSurface(name: str) -> int
获取相应的面
参数
- name表示面的名称
返回值
- -1表示没有找到对应的面,正数表示对应的面idObjectMesh.getSurfaceName(surface: int) -> str
获取对应面对名称
参数
- surface表示面id
返回值
- 对应面的名称ObjectMesh.getResource(surface: int) -> int
获取网格的源
参数
- surface表示面id
返回值
- 返回网格源对应的idObjectMesh.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表示网格面idObjectMeshSkinned.addMeshSurface(name: str, mesh: Type[ObjectMeshSkinned], surface: int) -> int
添加一个新的网格面
参数
- name表示新的网格面的名字
- mesh表示源蒙皮
- surface表示源蒙皮的面id
返回值
- 新网格面的idObjectMeshSkinned.addMeshSurface(dest_surface: int, mesh: Type[ObjectMeshSkinned], surface: int) -> int
增加一个几何面
参数
- dest_surface表示目标id
- mesh表示源蒙皮
- surface表示源蒙皮的面id
返回值
- 网格面的idObjectMeshSkinned.addEmptySurface(name: str, num_vertex: int, num_indices: int) -> int
增加一个新的网格面
参数
- name表示新网格面的名字
- num_vertex表示顶点数量
- num_indices表示索引数量
返回值
- 返回新增网格面idObjectMeshSkinned.addTriangleSurface(name: str, vertex: None, num_vertex: int, cache: int = 1) -> int
增加一个新的网格面
参数
- name表示新的网格面的名称
- vertex表示新的网格面的顶点
- num_vertex表示顶点数量
- cache表示是否对内存优化
返回值
- 新网格面idObjectMeshSkinned.addTriangleSurface(name: str, vertex: None, num_vertex: int, indices: int, num_indices: int) -> int
增加一个新的网格面
参数
- name表示新的网格面的名称
- vertex表示新的网格面的顶点
- num_vertex表示顶点数量
- indices表示新网格面的索引
- num_indices表示索引数量
返回值
- 新网格面idObjectMeshSkinned.updateSurfaces()
更新网格面
ObjectMeshSkinned.getNumVertex(surface: int) -> int
获取指定面的顶点数
参数
- surface表示指定面id
返回值
- 顶点数量ObjectMeshSkinned.setVertex(num: int, xyz: Type[vec3], surface: int)
设置指定顶点的顶点
参数
- num表示顶点id
- xyz表示位置坐标
- surface表示面idObjectMeshSkinned.getVertex(num: int, surface: int) -> Type[vec3]
获取指定面指定顶点坐标
参数
- num表示顶点id
- surface表示指定面id
返回值
- 位置坐标ObjectMeshSkinned.setNormal(num: int, normal: Type[vec3], surface: int)
设置指定面指定顶点法线
参数
- num表示顶点id
- normal表示法向
- surface表示面idObjectMeshSkinned.getNormal(num: int, surface: int) -> Type[vec3]
获取指定面指定顶点法线
参数
- num表示顶点id
- surface表示面id
返回值
- 法线向量ObjectMeshSkinned.setTangent(num: int, tangent: Type[vec4], surface: int)
设置指定面指定顶点切向量
参数
- num表示顶点id
- tangent表示切向量
- surface表示面idObjectMeshSkinned.getTangent(num: int, surface: int) -> Type[vec4]
获取指定面指定顶点切向量
参数
- num表示指定顶点id
- surface表示指定面id
返回值
- 切线向量ObjectMeshSkinned.setTexCoord(num: int, texcoord: Type[vec4], surface: int)
设置指定面指定顶点纹理坐标
参数
- texcoord表示纹理坐标
- num表示指定顶点
- surface表示指定面idObjectMeshSkinned.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表示面idObjectMeshSkinned.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表示顶面idObjectMeshSkinned.getBones(num: int, surface: int) -> Type[ivec4]
获取附着在顶点的骨骼
参数
- num表示顶点id
- surface表示顶面id
返回值
- 顶点的骨骼idObjectMeshSkinned.getNumIndices(surface: int) -> int
获取面的索引数
参数
- surface面id
返回值
- 面的索引数ObjectMeshSkinned.setIndex(num: int, index: int, surface: int)
设置顶点的索引
参数
- num表示顶点id
- index表示新的索引
- surface表示里面idObjectMeshSkinned.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
增加一个动画层
返回值
- 动画层idObjectMeshSkinned.removeLayer(num: int)
移除动画层
参数
- num表示动画层idObjectMeshSkinned.setNumLayers(num: int)
设置动画层的数量
参数
- num表示数量ObjectMeshSkinned.getNumLayers() -> int
获取动画层数量
返回值
- 动画层数量ObjectMeshSkinned.setLayer(layer: int)
设置动画层
参数
- layer表示动画层idObjectMeshSkinned.getLayer() -> int
获取当前的动画层
返回值
- 当前动画层ObjectMeshSkinned.setWeight(weight: float)
设置当前动画层权重
参数
- weight表示权重ObjectMeshSkinned.getWeight() -> float
获取当前动画层权重
返回值
- 当前动画层权重ObjectMeshSkinned.addBuffer() -> int
添加一个新的动画缓冲
返回值
- 动画缓冲idObjectMeshSkinned.removeBuffer(num: int)
移除动画缓冲
参数
- num表示动画缓冲idObjectMeshSkinned.setNumBuffers(num: int)
设置动画缓冲数量
参数
- 动画缓冲数量ObjectMeshSkinned.getNumBuffers() -> int
获取动画缓冲数量
返回值
- 动画缓冲数量ObjectMeshSkinned.setBuffer(buffer: int, layer: int = -1)
从缓冲设置变换矩阵到一个动画层
参数
- buffer表示缓冲id
- layer表示动画层idObjectMeshSkinned.getBuffer(buffer: int, layer: int = -1)
保存一个动画层矩阵变换到缓冲
参数
- buffer表示缓冲id
- layer表示动画层idObjectMeshSkinned.clearBuffer(buffer: int)
清空指定的缓冲
参数
- buffer表示缓冲idObjectMeshSkinned.copyBuffer(buffer: int, b: int)
复制缓冲
参数
- buffer表示源缓冲
- b表示目标缓冲ObjectMeshSkinned.setAnimation(name: str) -> int
载入动画,设置到当前动画层
参数
- name表示动画文件
返回值
- 0表示失败,正数表示成功ObjectMeshSkinned.getAnimation() -> str
获取当前层动画文件
返回值
- 动画文件名称ObjectMeshSkinned.setAnimationID(id: int)
设置前一个载入的动画到当前层
参数
- id表示动画idObjectMeshSkinned.getAnimationID() -> int
获取当前动画层载入的动画id
返回值
- 动画idObjectMeshSkinned.getNumAnimations() -> int
获取所有动画的数量
返回值
- 动画数量ObjectMeshSkinned.getNumFrames() -> int
获取当前层的动画帧数量
返回值
- 动画帧数量ObjectMeshSkinned.setFrame(time: float, from_: int = -1, to: int = -1) -> float
设置一帧给当前动画层
参数
- time表示帧的时间间隔
- from_表示起始帧
- to表示结束帧
返回值
- 帧idObjectMeshSkinned.getFrameTime() -> float
返回最后通过setFrame设置的时间
返回值
- 时间值ObjectMeshSkinned.getFrameFrom() -> int
获取最后通过setFrame设置的起始帧
返回值
- 起始帧ObjectMeshSkinned.getFrameTo() -> int
获取最后通过setFrame设置的结束帧
返回值
- 结束帧ObjectMeshSkinned.clearFrame()
清空当前动画层的帧
ObjectMeshSkinned.getNumBones() -> int
获取参与动画的骨骼数量
返回值
- 骨骼数量ObjectMeshSkinned.findBone(name: str) -> int
获取骨骼
参数
- name表示骨骼名字
返回值
- 骨骼idObjectMeshSkinned.getBoneName(bone: int) -> str
获取骨骼名字
参数
- bone表示骨骼id
返回值
- 骨骼名字ObjectMeshSkinned.getBoneParent(bone: int) -> int
返回父骨骼的id
参数
- bone表示骨骼id
返回值
- 骨骼idObjectMeshSkinned.getNumBoneChilds(bone: int) -> int
获取子骨骼数量
参数
- bone表示骨骼id
返回值
- 子骨骼数量ObjectMeshSkinned.getBoneChild(bone: int, child: int) -> int
获取骨骼的子骨骼
参数
- bone表示骨骼id
- child表示子骨骼id
返回值
- 字骨骼在所有骨骼中的idObjectMeshSkinned.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)
设置垂直的相机视野
参数
- 视野值,默认是60Player.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为光延迟,否则为0Light.setColor(color: Type[vec4])
设置颜色
参数
- color为RGBA格式Light.getColor() -> Type[vec4]
获得当前颜色
返回值
- 返回颜色值vec4Light.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]
获得阴影偏移量
返回值
- 返回阴影偏移量vec3Light.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
返回值
- 返回空间触发器的shapeWorldTrigger.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,否则返回0WorldTrigger.addCameraToTarget(isAdd: bool)
添加主相机为触发节点
参数
- isAdd True or FalseWorldTrigger.isCameraToTarget() -> bool
判断相机是否是触发的节点
返回值
- 是返回True,否则返回FalseWorldTrigger.removeCamera()
移除相机此触发节点
WorldTrigger.addWandToTarget(isAdd: bool)
添加手柄为触发器节点
参数
- isAdd True or FalseWorldTrigger.isWandToTarget() -> bool
判断手柄是否是触发器节点
返回值
- 是返回True,否则返回FalseWorldTrigger.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,否则为0WorldTrigger.inside(sp: Type[Shape]) -> int
通过节点的Shape来判断
参数
- sp带有物理属性的节点的包围体
返回值
- 触发为1,否则为0WorldTrigger.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函数