Three.js(2)--->基础篇-Helpers(辅助对象/辅助线)

在Three.js中有许多的Helper(辅助对象)用来帮助我们的开发。 本篇例举几个常见的,方便理解。以及一些效果


前言

Helper对象比较简单,Helper链接
在这里插入图片描述如图:官方的文档也是十分的齐全,左侧是不同类型的Helper右侧有关于该Helper的说明、代码示例以及其属性及其方法


一、AxesHelper

说明: 该Helper是用于创建一个物体的3维坐标(即:物体的x,y,z),该类接受一个size参数用于设置轴的线段长度

在这里插入图片描述相关代码:
demo-2中的HelloWorld.vue created函数替换成以下代码

created() {
    const threeObj = new threeUtil({
      modelUrl: "/static/3d/koala_con_flor/scene.gltf",
    });
    this.Three = threeObj;
    threeObj.init();
    // 创建辅助线
    (() => {
      const axesHelper = new threeObj.THREE2.AxesHelper(1);
      threeObj.scene.add(axesHelper);
    })();
    // threeObj.autoRotation();
  },

二、BoxHelper

说明: 该Helper是用于创建物体的一个包装盒(可以这样理解)轴的线段长度

在这里插入图片描述

相关代码:
demo-2中的HelloWorld.vue created函数替换成以下代码

created() {
    const threeObj = new threeUtil({
      modelUrl: "/static/3d/koala_con_flor/scene.gltf",
    });
    this.Three = threeObj;
    threeObj.init();
    // 创建辅助线
    (() => {
      const sphere = new threeObj.THREE2.SphereGeometry();
      const object = new threeObj.THREE2.Mesh( sphere, new threeObj.THREE2.MeshBasicMaterial( 0xff0000 ) );
      const box = new threeObj.THREE2.BoxHelper( object, 0xffff00 );
      threeObj.scene.add( box );
    })(); 
    // threeObj.autoRotation();
  },

三、Box3Helper

说明: 模拟3维包围盒 Box3 的辅助对象

在这里插入图片描述

四、CameraHelper

说明: 用于模拟相机视锥体的辅助对象

在这里插入图片描述

五、DirectionalLightHelper

说明: 用于模拟场景中平行光 DirectionalLight 的辅助对象. 其中包含了表示光位置的平面和表示光方向的线段

在这里插入图片描述

六、GridHelper

说明: 坐标格辅助对象

在这里插入图片描述

七、PolarGridHelper

说明: 极坐标格辅助对象

在这里插入图片描述

八、HemisphereLightHelper

说明: 创建一个虚拟的球形网格 Mesh 的辅助对象来模拟 半球形光源 HemisphereLight

在这里插入图片描述

九、PlaneHelper

说明: 用于模拟平面 Plane 的辅助对象

在这里插入图片描述

十、PointLightHelper

说明: 创建一个虚拟的球形网格 Mesh 的辅助对象来模拟 点光源 PointLight

在这里插入图片描述

十一、SpotLightHelper

说明: 用于模拟聚光灯 SpotLight 的锥形辅助对象

在这里插入图片描述

总结

以上是一些关于Helper(辅助对象)的一些基本效果,当然这里不能完全表示其实际效果,因为参数不一样其效果也不一样。更详细的还是需要看

官方文档

上一篇:Three.js(1)—>基础篇-导入3d模型-方法封装

ERROR Failed to compile with 48 errors 上午10:53:54 These dependencies were not found: * core-js/modules/es.array.push.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/objectSpread2.js, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/components/HeaderSearch/index.vue?vue&type=script&lang=js& and 29 others * core-js/modules/es.error.cause.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Navbar.vue?vue&type=script&lang=js& and 5 others * core-js/modules/es.object.proto.js in ./node_modules/.store/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js * core-js/modules/es.regexp.dot-all.js in ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/components/ThemePicker/index.vue?vue&type=script&lang=js&, ./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.3.0/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.10.1/node_modules/vue-loader/lib??vue-loader-options!./src/layout/components/Navbar.vue?vue&type=script&lang=js& and 2 others * core-js/modules/web.url-search-params.delete.js in ./src/utils/request.js * core-js/modules/web.url-search-params.has.js in ./src/utils/request.js * core-js/modules/web.url-search-params.size.js in ./src/utils/request.js * qs in ./src/utils/request.js * svg-baker-runtime/browser-symbol in ./src/icons/svg/user.svg To install them, you can run: npm install --save core-js/modules/es.array.push.js core-js/modules/es.error.cause.js core-js/modules/es.object.proto.js core-js/modules/es.regexp.dot-all.js core-js/modules/web.url-search-params.delete.js core-js/modules/web.url-search-params.has.js core-js/modules/web.url-search-params.size.js qs svg-baker-runtime/browser-symbol怎么解决如何安装
07-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acqui~Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值