أضف التسلسل الهرمي للعقدة وشارك البيانات الهندسية للشبكة بين العقد المتعددة لمشهد 3D
أضف التسلسل الهرمي للعقدة في مستند مشهد 3D
Aspose.3D for Java يدعم إنشاء تسلسل هرمي للعقد. Node
هو كتلة بناء أساسية لمشهد 3D ويحدد التسلسل الهرمي للعقد الهيكل المنطقي لمشهد 3D ، ويوفر محتوى مرئيًا عن طريق ربط الأشكال المغناطيسية والأضواء والكاميرات بالعقد.
Sسين rapراب Example
في Aspose.3D ، يمكن أن يكون لكل مثيل Node
عقد أطفال متعددة ، في هذا المثال ، أنشأنا عقدة بها عقدتان مكعبتان ، وإذا قمنا بتدوير عقدة الجذر ، تتأثر جميع العقد التابعة أيضًا:
// Initialize scene object | |
Scene scene = new Scene(); | |
// Get a child node object | |
Node top = scene.getRootNode().createChildNode(); | |
// Each cube node has their own translation | |
Node cube1 = top.createChildNode("cube1"); | |
// Call Common class create mesh using polygon builder method to set mesh instance | |
Mesh mesh = Common.createMeshUsingPolygonBuilder(); | |
// Point node to the mesh | |
cube1.setEntity(mesh); | |
// Set first cube translation | |
cube1.getTransform().setTranslation(new Vector3(-10, 0, 0)); | |
Node cube2 = top.createChildNode("cube2"); | |
// Point node to the mesh | |
cube2.setEntity(mesh); | |
// Set second cube translation | |
cube2.getTransform().setTranslation(new Vector3(10, 0, 0)); | |
// The rotated top node will affect all child nodes | |
top.getTransform().setRotation(Quaternion.fromEulerAngle(Math.PI, 4, 0)); | |
// The path to the documents directory. | |
String MyDir = RunExamples.getDataDir(); | |
MyDir = MyDir + RunExamples.getOutputFilePath("NodeHierarchy.fbx"); | |
// Save 3D scene in the supported file formats | |
scene.save(MyDir, FileFormat.FBX7500ASCII); |
Des hare esh sh’s omeeometry ata ata بين oultiple oodes
من أجل تقليل ضروريات الذاكرة ، يمكن ربط مثيل واحد لفئة Mesh
بمثيلات مختلفة لفئة Node
. تصور أنك تحتاج إلى نظام حيث يبدو أن جميع مكعبات 3D لا يمكن تمييزها ، لكنك طلبت عددًا كبيرًا منها. يمكنك حفظ الذاكرة عن طريق صنع كائن شبكي واحد عندما يبدأ النظام. عند هذه النقطة ، في كل مرة تطلب فيها شكلاً آخر ، تقوم بإنشاء كائن عقدة آخر ، ثم تشير إلى تلك العقدة إلى Mesh
. وهذا ما يسمى التثبيت. Aspose.3D for Java APIs تسمح بإجراء التثبيت.
مثال على ذلك
في ألعاب RTS (استراتيجية الوقت الفعلي) مثل ، يمكننا دائمًا رؤية أجهزة NPCs متعددة (شخصية غير لاعب) بنفس الطراز 3D ، ربما بألوان مختلفة ، مما يجعل المحرك عادةً يشارك بيانات هندسة الشبكة نفسها عبر أجهزة NPCs مختلفة ، وتسمى هذه التقنية التثبيت.
Mesh
قيد الاستخدام في الرمز. يمكننا إنشاء كائن فئة Mesh كما روى هناك.
Emتوضيح رمز المثال:
In هذا المثال أنشأنا 3 العقد مكعب حصة نفس الشبكة ، كل واحد منهم لديها مواد مختلفة بألوان مختلفة.