Light — Aspose.3D FOSS for .NET

Пространство имён: Aspose.ThreeD.Entities

Methods

Methods Light class представляет источник света, прикреплённый к узлу сцены. Он расширяет Entity и поддерживает четыре типа света: directional, point, spot и ambient. Свет размещается в сцене путём создания дочернего узла и присоединения Light entity к нему.

using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Utilities;

var scene = new Scene();

// Add a point light to the scene
var light = new Light(LightType.POINT, "SunLight");
light.Color = new Vector3(1.0f, 0.95f, 0.8f);
light.Intensity = 2.0f;
light.Range = 10.0f;

scene.RootNode.CreateChildNode("sun", light);

Methods

MethodsMethods
Light()Создаёт point light с именем по умолчанию "Light", белый цвет, интенсивность 1.0, диапазон 1.0
Light(LightType type)Создаёт light заданного типа с именем по умолчанию "Light"
Light(LightType type, string name)Создаёт именованный свет указанного типа

Methods

MethodsMethodsMethodsMethods
TypeLightTypeполучитьТип света (POINT, SPOT, DIRECTIONAL или AMBIENT). Устанавливается при конструировании; только для чтения после.
ColorVector3получить/установитьRGB‑цвет света. По умолчанию: Vector3.One (белый)
Intensityfloatполучить/установитьМножитель яркости. По умолчанию: 1.0
Rangefloatполучить/установитьМаксимальное расстояние влияния для точечных и прожекторных светильников. По умолчанию: 1.0

Methods

MethodsТип возвращаемого значенияMethods
GetBoundingBox()BoundingBoxВозвращает пустой ограничивающий прямоугольник (светильники не имеют геометрического объёма)

LightType

LightType является классом-значением с четырьмя публичными статическими экземплярами:

MethodsMethods
LightType.POINTИзлучает свет равномерно во всех направлениях из точки в пространстве
LightType.SPOTИзлучает конус света в направлении, куда ориентирован узел
LightType.DIRECTIONALИзлучает параллельные световые лучи, как будто из бесконечно удалённого источника
LightType.AMBIENTДобавляет равномерное рассеянное освещение; диапазон и направление не используются

LightType имеет одно свойство:

MethodsMethodsMethodsMethods
NamestringполучитьОтображаемое имя типа света ("Point", "Spot", "Directional", "Ambient")

Methods

Добавьте направленный и точечный свет в сцену и сохраните в FBX:

using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Utilities;

var scene = new Scene();

// Directional light — positioned and oriented via the node Transform
var dirLight = new Light(LightType.DIRECTIONAL, "Sun");
dirLight.Color = new Vector3(1.0f, 1.0f, 0.9f);
dirLight.Intensity = 1.5f;
scene.RootNode.CreateChildNode("dirLight", dirLight);

// Point light with limited range
var pointLight = new Light(LightType.POINT, "Lamp");
pointLight.Color = new Vector3(1.0f, 0.6f, 0.3f);
pointLight.Intensity = 3.0f;
pointLight.Range = 5.0f;
scene.RootNode.CreateChildNode("lamp", pointLight);

scene.Save("lit_scene.fbx");

См. также

 Русский