我对Babylon.js中的坐标系有点困惑。也就是说,当我使用以下语句序列时:
var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0, 50, new BABYLON.Vector3(0, 0, 0), scene);
var sphere1 = BABYLON.Mesh.CreateSphere("sphere1", 16, 1.0, scene);
球体涂在屏幕中央。好。当我使用以下序列时:
var camera = new BABYLON.ArcRotateCamera("Camera", 50, 0, 0, new BABYLON.Vector3(0, 0, 0), scene);
var sphere1 = BABYLON.Mesh.CreateSphere("sphere1", 16, 1.0, scene);
没有绘制球体。
我知道通常坐标(在CG中)如下:Oy - 垂直,Ox - 水平,Oz - 指向屏幕。因此,在第二个序列中,摄像机位于x = 50的点,在xOz平面(即地面)中,并且正在寻找球体所在的原点。
我想在路上的某个地方我迷路了。你能帮忙理解我错在哪里吗?
谢谢,
Eb_cj
答案 0 :(得分:1)
Hello ArcRotateCamera使用两个角度(alpha和beta)来定义相机在以点为中心的球体上的位置。
欢迎阅读此内容以获取更多信息: https://github.com/BabylonJS/Babylon.js/wiki/05-Cameras