three Fog FogExp2 Scene / 场景

214 阅读3分钟

Fog 这个类中的参数定义了线性雾。也就是说,雾的密度是随着距离线性增大的。
FogExp2 该类所包含的参数定义了指数雾,它可以在相机附近提供清晰的视野,且距离相机越远,雾的浓度随着指数增长越快。Fog 适合需要明确的起始和结束距离的场景,通常用于较为简单的雾效。 FogExp2 更加真实,适合需要自然过渡的雾效,常用于模拟大气雾霭。

Fog 有五个属性 两个方法

Fog( color : Integer, near : Float, far : Float ) 颜色参数传入Color构造函数中,来设置颜色属性。颜色可以是一个十六进制的整型数,或者是CSS风格的字符串。

    // 添加雾效
    scene.fog = new THREE.Fog(0x0000ff, 0.1, 100); // 白色雾,近处渐变距离为 0.1,远处渐变距离为 100
    // 创建几何体
    const geometry = new THREE.BoxGeometry(70,70,70);
    const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
    const cube = new THREE.Mesh(geometry, material);
    scene.add(cube);

属性

  • isFog : Boolean 判断是雾对象
  • name : String 对象的名称,可选、不必唯一。默认值是一个空字符串。
  • color : Color 雾的颜色。比如说,如果将其设置为黑色,远处的物体将被渲染成黑色。
  • near : Float 开始应用雾的最小距离。距离小于活动摄像机“near”个单位的物体将不会被雾所影响。 默认值是1。
  • far : Float 结束计算、应用雾的最大距离,距离大于活动摄像机“far”个单位的物体将不会被雾所影响。 默认值是1000。

方法

  • clone () : Fog 返回一个具有和当前雾参数相同的新的Fog实例。
  • toJSON () : Object 以JSON格式返回Fog的数据。

FogExp2 有四个属性两个方法

FogExp2( color : Integer, density : Float ) 颜色参数传入Color构造函数中,来设置颜色属性。颜色可以是一个十六进制的整型数,或者是CSS风格的字符串。

    // 添加雾效
    scene.fog = new THREE.FogExp2(0x0000ff, 0.01);
    // 创建几何体
    const geometry = new THREE.BoxGeometry(70,70,70);
    const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
    const cube = new THREE.Mesh(geometry, material);
    scene.add(cube);

属性

  • isFogExp2 : Boolean 判断是雾
  • name : String 对象的名称,可选、不必唯一。默认值是一个空字符串。
  • color : Color 雾的颜色。比如说,如果将其设置为黑色,远处的物体将被渲染成黑色。
  • density : Float 定义雾的密度将会增长多块。 默认值是0.00025.

方法

  • clone () : FogExp2 返回一个具有和当前雾参数相同的新的FogExp2实例。
  • toJSON () : Object 以JSON格式返回FogExp2的数据。

Scene 有六个属性一个方法

Scene() 创建一个新的场景对象。 属性

  • background : Object 若不为空,在渲染场景的时候将设置背景,且背景总是首先被渲染的。 可以设置一个用于的“clear”的Color(颜色)、一个覆盖canvas的Texture(纹理), 或是 可以使用立方体纹理。立方体纹理允许你为每个方向提供不同的图片,以创建一个全方位的背景效果:。默认值为null。
  • backgroundBlurriness : Float 设置背景的模糊度。仅影响分配给 Scene.background 的环境贴图。有效输入是 0 到 1 之间的浮点数。默认值为 0。
  • environment : Texture 若该值不为null,则该纹理贴图将会被设为场景中所有物理材质的环境贴图。 然而,该属性不能够覆盖已存在的、已分配给 MeshStandardMaterial.envMap 的贴图。默认为null。
  • fog : Fog 一个fog实例定义了影响场景中的每个物体的雾的类型。默认值为null。
  • isScene : Boolean 判断是场景
  • overrideMaterial : Material 如果不为空,它将强制场景中的每个物体使用这里的材质来渲染。默认值为null。

方法

  • toJSON : Object meta -- 包含有元数据的对象,例如场景中的的纹理或图片。 将scene对象转换为 three.js JSON Object/Scene format(three.js JSON 物体/场景格式)。