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是右手坐标系

相关推荐
weixin_4277716117 分钟前
前端调试隐藏元素
前端
threelab29 分钟前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
05候补工程师40 分钟前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人
chushiyunen1 小时前
pandas使用笔记、数据清洗、json_normalize
笔记·pandas
HERR_QQ1 小时前
端到端课程自用 4 规划 基于自规划AR的端到端规划 AI 笔记
人工智能·笔记·自动驾驶·transformer
二哈赛车手1 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
爱上好庆祝1 小时前
学习js的第五天
前端·css·学习·html·css3·js
qiaozhangchi1 小时前
求解器学习笔记
笔记·python·学习
C澒1 小时前
IntelliPro 产研协作平台:基于 AI Agent 的低代码智能化配置方案设计与实现
前端·低代码·ai编程
一袋米扛几楼982 小时前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue