4.5 3D场景
场景和3D物体(3.4)可以进行脚本编写。本章节的示例代码可以在项目标签中的"3d_samples"文件夹中的ScriptEditor中找到。
3D场景和物体操作
CreateScene ("标题" [, RotSpeed=1] [, TransSpeed=1])
创建一个新的3D场景并返回物体。
AddZipTo3DPath (Scene, "文件名.zip")
将一个zip文件添加到搜索目录中,并在成功时返回true。这对于收集大量文件很有用。
LoadSkybox (Scene, "top.jpg" ,"bottom.jpg" ,"left.jpg" ,"right.jpg" ,"front.jpg" ,"back.jpg")
将六个图像文件加载为3D场景的天空盒。
LoadObject (Scene, "文件名.3ds" [,shadow = false [, AnimationSpeed]])
从文件中加载一个3D物体,并返回该物体。
AddLight (Scene, x, y, z, Radius [, r = 255, g = 255, b = 255])
添加一个光源物体,并返回该物体。
Add3DLabel(Scene, "标签" [, width=10, height=10 [, r = 180, g = 180, b = 180 [, "font.xml"]]])
在坐标(0,0,0)处添加一个3D标签,并返回该物体。
Add3DLine (Scene, x1, y1, z1, x2, y2, z2 [, r = 0, g = 0, b = 0])
从点(x1, y1, z1)到点(x2, y2, z2)添加一个3D线物体,并返回该物体。
Add3DRect (Scene, 长度, 宽度 [, r = 180, g = 180, b = 180])
从(-长度/2,0,-宽度/2)到(长度/2,0,宽度/2)添加一个3D矩形物体,并返回该物体。
Add3DBox (Scene, 长度, 宽度, 高度 [, r = 180, g = 180, b = 180 [, bShowEdge = true]])
从(-长度/2,-高度/2,-宽度/2)到(长度/2,高度/2,宽度/2)添加一个3D盒子物体,并返回该物体。
AddSphere (Scene, 半径 [, polycount = 16 [, r = 180, g = 180, b = 180]])
在坐标(0,0,0)处添加一个球体,并返回该物体。如果半径参数小于0,则返回一个不可见的物体。
GetTexture (Object)
返回一个物体的纹理文件:"文件名1","文件名2"等等。
LoadTexture (Scene, Object, "文件名1" [, "文件名2", ...])
加载纹理文件到一个物体中。
SetPosition (Object, x, y, z [, absolute = false])
设置一个物体相对于其父物体的位置(或者绝对位置到场景)。
GetPosition (Object [, absolute = false])
获取一个物体相对于其父物体的位置(或者该物体在场景中的绝对位置)。
SetRotation (Object, rx, ry, rz [, absolute = false])
设置一个物体相对于其父物体的旋转角度(左手坐标系),以度为单位(或者该物体在场景中的绝对旋转角度)。
GetRotation (Object [, absolute = false])
获取一个物体相对于其父物体的旋转角度(左手坐标系),以度为单位(或者该物体在场景中的绝对旋转角度)。
SetScale (Object, sx, sy, sz)
设置一个物体的缩放比例。
GetScale (Object)
获取一个物体的缩放比例。
SetParent (Object, Parent)
将一个物体作为子物体附加到另一个物体上。
GetParent (Object)
获取一个物体的父物体。
SetObject (Object "id" [,x, y, z, [,rx, ry, rz [,sx, sy, sz]]])
设置一个物体的id、位置、旋转和缩放。
DelObject (Object)
删除一个物体。
SetCamera (Scene, x, y, z [,Tx, Ty, Tz])
设置场景相机的位置和目标。
GetCamera (Scene)
获取一个3D场景的相机物体以及其位置和目标。
GetSelections (Scene)
从一个3D场景中返回选中的物体。
GetObjectID (Object1 [, Object2, ...])
返回物体的"id"。
SetObjectID (Object, "id")
设置一个物体的id。
GetObject (Scene, "id")
根据id查找一个物体。
这篇文章使用ChatGPT翻译自其他语言,如果有问题请在反馈页面提交反馈。