mesh threejs 属性_Three.js - 场景对象 THREE.Scene 使用详解(属性、方法、及样例)...

本文详细介绍了THREE.Scene的作用、常用方法和属性,包括场景图的概念、如何添加和移除对象,以及雾化和强制使用相同材质等特性。并提供了交互式的示例代码,展示如何创建、旋转立方体,添加雾化效果以及通过对象名字进行操作等功能。
摘要由CSDN通过智能技术生成

一、基本介绍

1,THREE.Scene 的作用

(1)THREE.Scene对象是所有不同对象的容器,也就是说该对象保存所有物体、光源、摄像机以及渲染所需的其他对象。

(2)THREE.Scene 对象又是被称为场景图,它不仅仅是一个对象数组,还包含了整个场景图树形结构中的所有节点:

每个添加到 Three.js 场景的对象,甚至包括 THREE.Scene 本身都是继承自一个名为THREE.Object3D 的对象。

每个 THREE.Object3D 对象也可以有自己的子对象,我们可以使用它的子对象来创建一个 Three.js 能解释和渲染的对象树。

2,THREE.Scene 常用的方法和属性

方法(属性)

描述

add(object)

用于向场景中添加对象。使用该方法还可以创建对象组。

children

用于返回一个场景中所有对象的列表,包括摄像机和光源。

getObjectByName(name,recursive)

在创建对象时可以指定唯一的标识 name,使用该方法可以查找特定名字的对象。

当参数 recursive设置为 false时,在调用者子元素上查找

当参数 recursive设置为 true时,在调用者的所有后代对象上查找

remove(object)

object为场景中对象的引用,使用该方法可以将对象从场景中移除。

traverse(function)

该方法也可以遍历调用者和调用者的所有后代,function参数是一个函数,被调用者和每一个后代对象调用 function方法。

fog

使用该属性可以为场景添加雾化效果,可以产生隐藏远处物体的浓雾效果。

overrideMaterial

使用该属性可以强制场景中的所有物体使用相同的材质。

二、使用样例

1,效果图

(1)页面打开后默认显示效果如下。右上角的控制面版中的第一项显示当前场景中对象的个数(初始时为 1 个平面,2 个光源)

(2)每点击一次“addCube”按钮,会往场景中添加一个立方体(立方体颜色、位置、大小随机,且不断旋转)

(3)点击“removeCube”按钮可移除最后一个添加的立方体,同时通过“rotationSpeed”控制项可以调整立方体旋转的速度。

(4)点击“使用相同材质”按钮可以将场景中所有的物体使用相同的材质和颜色进行渲染。

(5)点击“雾化”按钮可以给场景添加雾化效果。

(6)点击“输出所有对象”按钮会将场景中所有对象信息输出到控制台中。

2,样例代码

hangge.com

body {

margin: 0;

overflow: hidden;

}

//网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值