Three.JS提升学习4:几何体对象组合
对象组合
sphere = createMesh(new THREE.SphereGeometry(5, 10, 10));
cube = createMesh(new THREE.BoxGeometry(6, 6, 6));group = new THREE.Object3D();
group.add(sphere);
group.add(cube);scene.add(group);
这样就可以对group进行position或rotation等操作。
其中new THREE.Object3D()也可以使用new THREE.Group()代替。
当对象进行旋转时,会绕着组的中心旋转。 可以旋转一个辅助箭头来看到这个效果。
var arrow = new THREE.ArrowHelper(new THREE.Vector3(0,1,0),group.position,10,0x0000ff);scene.add(arrow);
多个网格合并成一个网格
少量物体的时候可以使用分组来处理网格,对象非常多的时候,性能会成为瓶颈,因为每个对象还是独立的,需要分别进行处理和渲染。
使用THREE.Geometry.merge()函数,可以将多个几何体合并起来创建一个联合体。
示例:
// add a large number of cubesif (controls.combined) {var geometry = new THREE.Geometry();for (var i = 0; i < controls.numberOfObjects; i++) {var cubeMesh = addcube();cubeMesh.updateMatrix();geometry.merge(cubeMesh.geometry, cubeMesh.matrix);}scene.add(new THREE.Mesh(geometry, cubeMaterial));} else {for (var i = 0; i < controls.numberOfObjects; i++) {scene.add(controls.addCube());}}
当对象Merge后,我们没办法再对每个对象单独控制。
示例效果:
Three.JS提升学习4:几何体对象组合相关推荐
- Three.js(八)—— 几何体对象、曲线、三维模型
文章目录 8.几何体对象.曲线.三维模型 8.1 常见几何体和曲线API介绍 几何体 曲线 8.2 直线.椭圆.圆弧.基类Curve 圆弧线ArcCurve 曲线Curve方法.getPoints() ...
- python代码学习——类与对象提升(继承、超继承,类的例题,魔术方法)
python代码学习--类与对象提升 继承 继承的特殊属性: 代码示例 方法的重写和覆盖(overrrid) 总结 超继承 继承中的初始化 多继承 例题 类的魔术方法 哈希(hash)和eq方法 bo ...
- 【JavaScript】14_window对象与JS提升
12.window对象 Window对象 在浏览器中,浏览器为我们提供了一个window对象,可以直接访问 window对象代表的是浏览器窗口,通过该对象可以对浏览器窗口进行各种操作 除此之外wind ...
- JS / JQ 学习记录
<一起学前端 之 JS 篇>是记录从 2020.4.29 开始,学习 JS 的收获与感悟. 2020.4.29 数据存储单位 JavaScript介绍 JS是什么 运行在客户端的脚本语言, ...
- js快速学习思维导图
Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条"轻松学习Js之路&qu ...
- Ext JS 6学习文档-第3章-基础组件
Ext JS 6学习文档-第3章-基础组件 基础组件 在本章中,你将学习到一些 Ext JS 基础组件的使用.同时我们会结合所学创建一个小项目.这一章我们将学习以下知识点: 熟悉基本的组件 – 按钮, ...
- js/jquery学习笔记
javascript简介 JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言. 不同于服务器端脚本语言,例如PHP与ASP,JavaScript是客户端脚本语言,也就是说Ja ...
- JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- 前端开发JS的学习之AngularJS库
这两年做前端开发,对JS的学习还在不断,JS的发展还是很快的.下面来看看一个AngularJS库. 服务是AngularJS中非常重要的一个概念,虽然我们有了控制器,但考虑到其生命实在脆弱,我们需要用 ...
最新文章
- C++ 使用extern C简单使用
- 简单团队-爬取豆瓣电影T250-项目进度
- 7-4 银行排队问题之单队列多窗口加VIP服务 (30 分)
- BZOJ 2286 消耗战 (虚树+树形DP)
- C#基础知识---匿名方法使用
- 基于分割的PTD渐进三角网加密滤波(SBF)算法
- Executesql 实例及介绍
- 南农计算机分数线,2021南京农业大学录取分数线_历年各专业分数线(2017-2020),各省投档线_一品高考网...
- Ubuntu16.04 安装Caffe教程
- 利用R语言如何计算出回归分析中的t值和P值
- 跨境电商虾皮值不值得做?你了解多少
- IBDP1 经济好学吗?学习建议分享
- 苹果手机通话怎么录音?通话录音的详细教程!
- C6455CSL芯片支持库:第二节 EMAC外设
- 逆势而上,Intel大连工厂高价挖人
- 前缀、中缀、后缀表达式及中缀转后缀表达式
- Linux的chmod命令
- Unity导航寻路系统插件--A* Pathfinding Project
- mysql - sql语句 之 mysql错误代码大合(转载)
- 第5章 Redis新类型