Three.js教程:三维坐标系

news/2024/12/3 7:30:24/
推荐:将 NSDT场景编辑器 加入你的3D工具链
其他系列工具: NSDT简石数字孪生

三维坐标系

本节课的目的就是为了加强大家对threejs三维空间的认识。

辅助观察坐标系

THREE.AxesHelper()的参数表示坐标系坐标轴线段尺寸大小,你可以根据需要改变尺寸。

// AxesHelper:辅助观察的坐标系
const axesHelper = new THREE.AxesHelper(150);
scene.add(axesHelper);

材质半透明设置

设置材质半透明,这样可以看到坐标系的坐标原点。

const material = new THREE.MeshBasicMaterial({color: 0x0000ff, //设置材质颜色transparent:true,//开启透明opacity:0.5,//设置透明度
});

AxesHelper的xyz轴

three.js坐标轴颜色红R、绿G、蓝B分别对应坐标系的xyz轴,对于three.js的3D坐标系默认y轴朝上

设置模型在坐标系中的位置或尺寸

通过模型的位置、尺寸设置,加深3D坐标系的概念。

测试:设置长方体xyz不同方向尺寸

// 设置几何体长宽高,也就是x、y、z三个方向的尺寸
//对比三个参数分别对应xyz轴哪个方向
new THREE.BoxGeometry(100, 60, 20);

测试:改变位置

// 设置模型mesh的xyz坐标
mesh.position.set(100,0,0);

改变相机参数——预览新的渲染效果

你可以尝试源码中改变相机的参数,看看场景中的物体渲染效果怎么变化。

相机放在x轴负半轴,目标观察点是坐标原点,这样相当于相机的视线是沿着x轴正方向,只能看到长方体的一个矩形平面。

camera.position.set(-1000, 0, 0);
camera.lookAt(0, 0, 0);
// 相机视线沿着x轴负半轴,mesh位于相机后面,自然看不到
camera.position.set(-1000, 0, 0);
camera.lookAt(-2000, 0, 0);

相机far偏小,mesh位于far之外,物体不会显示在画布上。

// const camera = new THREE.PerspectiveCamera(30, width / height, 1, 3000);
// 你可以进行下面测试,改变相机参数,把mesh放在视锥体之外,看看是否显示
// 3000改为300,使mesh位于far之外,mesh不在视锥体内,被剪裁掉
const camera = new THREE.PerspectiveCamera(30, width / height, 1, 300);

3D建模学习工作室

上一篇:Three.js教程:渲染器 (mvrlink.com)

下一篇:Three.js教程:光源对物体表面影响 (mvrlink.com)

 


http://www.ppmy.cn/news/380035.html

相关文章

做知识产品,抓住这5个选题,变现收入增加3倍!

哈喽,大家好,我是海哥,知识付费变现创业教练,教育公司培训总监,从事知识付费变现咨询10年,已助力3000人实现知识付费变现。 打算做知识付费的人多少都有过这样的困惑经历或正在经历着这个困惑。 做什么类型…

界面开发框架Qt新手入门指南 - 使用Calendar组件创建日历(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文中的CalendarWi…

解决帝国时代 之 罗马复兴 不能加入游戏的问题

在我们玩帝国时代时,在加入网络游戏时,尤其是在浩方对战平台上运行游戏时,经常有"不能加入该游戏"的错误产生这个原因一般都是因为你装的DirectPlay版本的原因,我的是9.0所以不行. 你不必重新安装8.0 因为Windows 在装入dll 时,总是先搜索exe所在的当…

罗马复兴各民族兵种详细参数——希腊篇

序号兵种攻击力防御力盾牌射程生命值依赖建筑1刀斧手540602 50 2剑士741602 60 3投石兵230224225 4木弓手3106 5335 5十字弓手      6战车射手      7战象射手      8侦察骑兵3406  68 9双头马      10重骑兵104161 172 11战象      …

罗马复兴各民族兵种详细参数——亚述篇

序号兵种攻击力防御力盾牌射程生命值依赖建筑1刀斧手5704 50 2长剑手11724 80 3投石兵 4木弓手304 5335 5十字弓手 6战车射手404 7370 7黑骑70427360 8战象射手 9侦察骑兵3704 60 10单头马7704 100 11金骑兵127341 180 12战象 13骆驼骑兵6704 125 14百…

欧洲文艺复兴时期,中国在干啥?

公元476年,罗马雇佣兵领袖日耳曼人奥多亚克废黜西罗马最后一个皇帝,西罗马遂告灭亡。西罗马帝国灭亡后,欧洲进入了近一千年的中世纪,地处欧洲的西方文明在经过古希腊文明和古罗马文明两次高光时段后,进入漫长的黑暗时期…

罗马复兴各民族兵种详细参数——埃及篇

序号兵种攻击力防御力盾牌射程生命值依赖建筑1刀斧手5706 5+350 3投石兵2202   4木弓手3106 5335 5十字弓手5106 7345 6战车射手4106 73106 7战象射手5106 73600 8侦察骑兵3706  68 9双头马9726  182 10战象1506  600 11骆驼骑兵6706  143 …

罗马复兴各民族兵种详细参数——克里特篇

序号兵种攻击力防御力盾牌射程生命值1刀斧手570603 502长剑手1172603 803投石兵2302342254木弓手3106 53355十字弓手5106 75456战车射手 7黑骑 8战象射手 9侦察骑兵3706 6810单头马 11骑兵8706 17212战象 13骆驼骑兵6706 14314百夫长3078603 16015黄金投…