THREE.JS案例01/css2d_label

150 阅读2分钟

知识点

CSS2DRenderer

CSS2DRenderer是CSS3DRenderer(CSS 3D渲染器)的简化版本,唯一支持的变换是位移。

如果你希望将三维物体和基于HTML的标签相结合,则这一渲染器将十分有用。在这里,各个DOM元素也被包含到一个CSS2DObject实例中,并被添加到场景图中。

方法

.getSize () : Object

返回一个包含有渲染器宽和高的对象。

.render( scene : Scene, camera : Camera ) : undefined

使用camera渲染scene。

.setSize (width : Number, height : Number) : undefined

将渲染器的尺寸调整为(width, height).

layers

Layers 对象为 Object3D 分配 1个到 32 个图层。32个图层从 0 到 31 编号标记。 在内部实现上,每个图层对象被存储为一个 bit mask, 默认的,所有 Object3D 对象都存储在第 0 个图层上。

图层对象可以用于控制对象的显示。当 camera 的内容被渲染时与其共享图层相同的物体会被显示。每个对象都需要与一个 camera 共享图层。

每个继承自 Object3D 的对象都有一个 Object3D.layers 对象。

方法

.set ( layer : Integer ) : undefined

layer - 一个 0 - 31 的整数。

.enableAll () : undefined

向所有层添加成员资格。

.disableAll () : undefined

删除所有层的成员资格。

.toggle (layer : Integer)

控制显示/隐藏

Clock

该对象用于跟踪时间。如果performance.now可用,则 Clock 对象通过该方法实现,否则回落到使用略欠精准的Date.now来实现

方法

.getElapsedTime () : Float

获取自时钟启动后的秒数,同时将 .oldTime 设置为当前时间。
如果 .autoStart 设置为 true 且时钟并未运行,则该方法同时启动时钟。

MeshPhongMaterial

Phong网格材质(MeshPhongMaterial),一种用于具有镜面高光的光泽表面的材质。

属性

.specular : Color

材质的高光颜色。默认值为0x111111(深灰色)。

.shininess : Float

.specular高亮的程度,越高的值越闪亮。默认值为 30

.map : Texture

颜色贴图。可以选择包括一个alpha通道,通常与.transparent 或.alphaTest。默认为null。 纹理贴图颜色由漫反射颜色.color调节。

.specularMap : Texture

镜面反射贴图值会影响镜面高光以及环境贴图对表面的影响程度。默认值为null。

.normalMap : Texture

用于创建法线贴图的纹理。RGB值会影响每个像素片段的曲面法线,并更改颜色照亮的方式。法线贴图不会改变曲面的实际形状,只会改变光照。如果材质具有使用左手约定编写的法线贴图,则法线比例的y分量应为负值,以补偿不同的惯用手。

.normalScale : Vector2

法线贴图对材质的影响程度。典型范围是0-1。默认值是Vector2设置为(1,1)。