当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/499574.html

相关文章:

  • AUTOSAR CP中基于通信模块(COM)的Transformer-R24的规范导读
  • ubuntu20.04安装anygrasp_sdk
  • Spring完整知识点二
  • GESP三级集训——课堂笔记(部分)
  • Spring Boot接口返回统一格式
  • Flink如何基于数据版本使用最新离线数据
  • 软件开发中的常用性能指标
  • cmakelist使用总结
  • 准备阶段 Unity优化总纲
  • ubuntu防火墙(三)——firewalld使用与讲解
  • zookeeper 搭建集群
  • Java——异常机制(下)
  • centos 手动安装libcurl4-openssl-dev库
  • JS学习(1)(基本概念与作用、与HTML、CSS区别)
  • 代码随想录算法训练营day50|动态规划12
  • JavaWeb学习(2)(Cookie原理(超详细)、HTTP无状态)
  • java抽象类
  • minio集群部署–linux环境
  • 在vue3里使用scss实现简单的换肤功能
  • JavaScript编写css自定义属性
  • 我们来学webservie - WSDL
  • 【Agent】构建智能诗歌创作系统:基于多 Agent 的协同创作实现
  • 001 LVGL PC端模拟搭建
  • AJAX三、XHR,基本使用,查询参数,数据提交,promise的三种状态,封装-简易axios-获取省份列表 / 获取地区列表 / 注册用户,天气预报
  • mybatis之数据统计与自定义异常处理
  • qt creator使用taglib读取音频元信息,windows平台vcpkg安装
  • 设计模式之生成器模式
  • python学opencv|读取图像(三)放大和缩小图像
  • 1 数据库(上):MySQL的概述和安装、SQL简介、IDEA连接数据库使用图形化界面
  • C++初阶—类与对象(中篇)