Class Light

Class Light

包:: @aspose/3d (v24.12.0)

Light 是一个 Entity 可以附加到一个 Node 以向场景添加光源。光源类型通过 lightType 属性设置。因为 Light 扩展 Camera 在源代码中,它继承了所有相机属性(nearPlane, farPlane, aspect, 等)来自底层 FBX 数据模型——这些属性对灯光没有意义,且在标准用法中可以忽略。.

export class Light extends Camera

Properties

A3DObject ← SceneObject ← Entity ← Camera ← Light

Properties

向场景中添加一个点光源。.

import { Scene, Node, Light, LightType } from '@aspose/3d';

const scene = new Scene();
scene.open('model.obj');

const lightNode = scene.rootNode.createChildNode('sun');
const light = new Light('sun', LightType.DIRECTIONAL);
lightNode.entity = light;

// Position the light node above the scene
lightNode.transform.setTranslation(0, 10, 0);

scene.save('lit-model.fbx');
console.log(`Light type: ${light.lightType}`);
// Light type: DIRECTIONAL

Properties

PropertiesPropertiesPropertiesProperties
namestring''此灯光的名称,用于在场景图中标识它。.
lightType`LightTypestring`LightType.POINT

以下属性继承自 Camera 并且可用于 Light 类型系统中的对象,尽管它们仅在节点用作相机时才相关::

继承属性PropertiesProperties
nearPlanenumber近裁剪距离(相机使用)。.
farPlanenumber远裁剪距离(相机使用)。.
aspectnumber宽高比(相机使用)。.

Properties

  • Light 使用以下方式构造 new Light(name?, lightType?).。两个参数都是可选的;默认的光源类型是 LightType.POINT.
  • Properties LightType 类常量(LightType.POINT, LightType.DIRECTIONAL, LightType.SPOT)而不是原始字符串字面量,以确保类型安全。. LightType.AREALightType.VOLUME 也已定义,但在格式导入器/导出器中并不常用。.
  • 在功能完整的 3D 引擎中找到的阴影投射、颜色、强度和衰减属性,在此版本的库中并未作为直接的 TypeScript 属性公开。这些值可能以通用的形式出现在加载的数据中。 Property 对象,可通过 getProperty().
 中文