THREE.js 入门(一)xyz坐标系

一、坐标系概念

three.js 中,相机的默认朝向是沿着 Z 轴的负方向 。也就是说,默认情况下,相机会沿着 Z 轴的负方向"看"到场景中的对象,而 X 轴和 Y 轴分别对应水平方向和垂直方向。换句话说,相机的默认位置是 (0, 0, 0),并且它会朝向 负 Z 轴

默认方向:

  • X 轴:水平,正方向向右,负方向向左。
  • Y 轴:垂直,正方向向上,负方向向下。
  • Z 轴:深度,正方向向外(远离相机),负方向向里(靠近相机)。

默认相机朝向:

默认情况下,当你创建一个相机(比如 THREE.PerspectiveCamera)时,相机会位于 (0, 0, 0),并且它会朝向 Z 轴的负方向

复制代码
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(0, 0, 5); // 相机的位置在 (0, 0, 5)
camera.lookAt(0, 0, 0); // 相机朝向 (0, 0, 0)

在这个例子中,camera.position.set(0, 0, 5) 表示将相机放置在 Z = 5 的位置,即距离场景原点 5 个单位。默认情况下,相机会朝向场景的中心 (0, 0, 0),即 lookAt(0, 0, 0)

二、调整相机的朝向

如果你想改变相机的朝向或方向,可以通过以下方法:

  1. 修改 camera.lookAt()lookAt() 方法可以让相机指向一个特定的点。可以传入一个目标点的坐标或一个 THREE.Vector3 对象来调整相机的朝向。

    // 相机指向 (1, 1, 0) 位置 camera.lookAt(new THREE.Vector3(1, 1, 0));

  2. 直接设置相机的旋转 : 你还可以直接设置相机的旋转(rotation.x, rotation.y, rotation.z),这将改变相机的朝向。

    camera.rotation.x = Math.PI / 4; // 旋转相机 45 度

  3. 修改相机位置 : 你可以直接通过设置相机的位置 (camera.position.set(x, y, z)) 来控制相机的位置,并通过 lookAt() 或旋转来调整相机的朝向

注:Unity 使用的是左手坐标系,threejs是右手坐标系

相关推荐
悟忧3 分钟前
规避ProseMirror React渲染差异带来的BUG
前端
小皮虾10 分钟前
小程序云开发有类似 uniCloud 云对象的方案吗?有的兄弟,有的!
前端·javascript·小程序·云开发
Android疑难杂症13 分钟前
鸿蒙Notification Kit通知服务开发快速指南
android·前端·harmonyos
T___T13 分钟前
全方位解释 JavaScript 执行机制(从底层到实战)
前端·面试
希露菲叶特格雷拉特15 分钟前
PyTorch深度学习笔记(二十)(模型验证测试)
人工智能·pytorch·笔记
阳懿19 分钟前
meta-llama-3-8B下载失败解决。
前端·javascript·html
Qinana20 分钟前
🌊 深入理解 CSS:从选择器到层叠的艺术
前端·css·程序员
IT_陈寒20 分钟前
Python 3.12新特性实测:10个让你的代码提速30%的隐藏技巧 🚀
前端·人工智能·后端
史林枫24 分钟前
JavaScript 中call和apply的详细讲解 —— 连10岁的小朋友都能看懂!
javascript·apply·call
闲人编程27 分钟前
从零开发一个简单的Web爬虫(使用Requests和BeautifulSoup)
前端·爬虫·beautifulsoup·bs4·web·request·codecapsule