Light — Aspose.3D FOSS for .NET

النطاق: Aspose.ThreeD.Entities

Methods

Methods Light الفئة تمثل مصدر ضوء مرتبط بعقدة المشهد. إنها تمتد 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", لون أبيض، intensity 1.0, range 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
Rangefloatget/setالحد الأقصى للمسافة التي يؤثر فيها الضوء النقطي والضوء الكشاف. الافتراضي: 1.0

Methods

Methodsنوع الإرجاعMethods
GetBoundingBox()BoundingBoxيرجع صندوق حدود فارغ (الأضواء ليس لها امتداد هندسي)

LightType

LightType هي فئة value-type مع أربع حالات ثابتة عامة:

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");

انظر أيضًا

 العربية