首页 > 其他分享 >threejs 如何设置自己想要的初始角度和大小

threejs 如何设置自己想要的初始角度和大小

时间:2024-02-20 16:23:46浏览次数:29  
标签:threejs render 渲染 相机 camera 坐标 想要 初始

threejs 在渲染完模型后,一般初始的大小和角度并不合我们的心意,这就需要我们手动调整了,但是手动调整又不好控制精度。

 

 

开启相机控件

threejs渲染的模型大小和角度是由相机决定的,所以我们只需要调整相机就可以了,然后获取相机位置信息写入到初始化的数据中就可以了。

要调整相机角度首先要开启相机控件

var controls = new OrbitControls(camera, renderer.domElement);

获取相机坐标

当我们通过相机控件调整好我们想要的角度和大小后,获取相机的坐标填写进去就可以了。

通过render我们可以实时输出相机的位置.

function render() {
    console.log(camera.position)
    renderer.render(scene, camera); //执行渲染操作
    requestAnimationFrame(render); //请求再次执行渲染函数render,渲染下一帧
}
render();

填写坐标

将坐标填写到初始化相机地方通过camera.position.set将坐标设置成我们想要的坐标就完成了自己想要的初始角度和大小.

// 创建一个透视投影相机对象
const camera = new THREE.PerspectiveCamera(45, 500 / 400, 1, 1000);
// 设置相机的位置
camera.position.set(60, 60, 60)
// 设置相机的观察点
camera.lookAt(0, 0, 0) // 坐标原点

 

标签:threejs,render,渲染,相机,camera,坐标,想要,初始
From: https://www.cnblogs.com/duixue/p/18023364

相关文章

  • 初始化本地已有项目到github
    1、在github新建一个仓库;2、在本地项目根目录执行gitinit命令;gitinit3、执行gitremoteaddorigin关联github仓库;gitremoteaddorigin NieQimingG/detectory:mywaytogo(github.com)4、从远程分支拉去main分支并于本地main分支合并;gitpulloriginmai......
  • zabbix服务端一键安装初始配置脚本
    zabbix服务端一键安装初始配置脚本简易脚本,初始化数据库可以改,centos7.9亲测完美执行#!/bin/bash#关闭SELinux、暂停防火墙setenforce0systemctlstopfirewalld#中文乱码修正yuminstall-ywqy-microhei-fonts\cp-f/usr/share/fonts/wqy-microhei/wqy-microhe......
  • zabbix服务端一键安装初始配置脚本
    zabbix服务端一键安装初始配置脚本简易脚本,初始化数据库可以改,centos7.9亲测完美执行#!/bin/bash#关闭SELinux、暂停防火墙setenforce0systemctlstopfirewalld#中文乱码修正yuminstall-ywqy-microhei-fonts\cp-f/usr/share/fonts/wqy-microhei/wqy-microhe......
  • 想要一个龙年头像,在线等挺急的
    AIGC生成姓氏头像火爆全网,阿里云开发者社区X函数计算推出新活动!2步基于函数计算搭建AI艺术字应用,晒姓氏头像赢Cherry机械键盘MX8.0(价值800+)、小米移动电源等新春好礼!该场景基于StableDiffusionAPIServerless版解决方案打造,上手简单、帮助AI开发者轻松实现AI绘画......
  • 15. C++类中成员变量的初始化总结
    C++类中成员变量的初始化总结1.普通的变量:一般不考虑啥效率的情况下可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。classCA{public:intdata;public:CA();};/*********/CA::CA():data(0)//……#1……初始化列表方式{......
  • 二机制安装Kubernetes 1.29 高可用集群(1)--系统初始配置
    软件环境描述说明:OS:openEuler22.03LTSSP3kubernetes:1.29.2etcd:3.5.12calico:3.27.0cri-docker:0.3.10cfssl/cfssljson/cfssl-certinfo:1.64haproxy:2.2.6keepalived:2.2.4网段规划:物理主机:192.168.83.0/24      ServiceIP:10.66.0.0/16   PodIP:172.31.0.0......
  • .NET(C#)中new Dictionary(字典)初始化值(initializer默认值)
    ​  .NET(C#)中,当使用newDictionary<TKey,TValue>()初始化一个字典时,可以通过集合初始化器语法直接为字典添加初始键值对。如需要为字典设置默认值,通常是指为尚未在字典中明确设置的键提供一个默认返回值。Dictionary<TKey,TValue>类本身不直接支持默认值的概念,但可以通过......
  • Go语言精进之路读书笔记第20条——在init函数中检查包级变量的初始状态
    20.1认识init函数init函数的特点:运行时调用,Go程序中不能显式调用顺序执行,等待一个init函数执行完毕并返回后再执行下一个init函数在整个Go程序生命周期内仅会被执行一次先被传递给Go编译器的源文件中的init函数先被执行,同一个源文件中的多个init函数按声明顺序依次执行。但......
  • qt自定义标题栏,纯代码实现,拿来即用,初始化列表时传入父窗口的this指针
    //头文件#ifndefTITLEBAR_H#defineTITLEBAR_H#include<QWidget>#include<QPoint>//坐标点#include<QMouseEvent>//鼠标事件classTitleBar:publicQWidget{Q_OBJECTpublic:explicitTitleBar(QWidget*parent=nullptr);//移动窗口......
  • 快速初始化容器化Gin项目
    Gin是一个使用Go语言开发的Web框架,追求性能和效率。1、使用Gin快速初始化项目创建项目目录:在命令行中创建一个新目录,用于存放项目文件。然后进入该目录:mkdirmy-gin-democdmy-gin-demo初始化Go模块:在项目目录中运行以下命令以初始化Go模块。这会创建一个go.mo......