ویژگی ها و عملکردها

ویژگی ها و عملکردها

این صفحه شامل هر بخش مهمی از دانلود بازی Aspose 3D-Foss 26.1.0 با استفاده از نمونه های جاوا کار می کند.


دانلود و ذخیره صحنه ها

scene.open() یک فایل را بارگذاری کنید.; scene.save() صادرات آن :

import com.aspose.threed.Scene;

Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");

جایگزین های کارخانه ای:

Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");

گزینه های خاص فرمت

پاسپورت LoadOptions یا SaveOptions زیرنویس های کنترل گندم:

import com.aspose.threed.*;

Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);

GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);

یادداشت : FBX فقط برای واردات پشتیبانی می شود؛ صادرات FB X در نسخه FOSS اجرا نمی شود. دوگانه FBX فایل ها برای واردات پشتیبانی می شوند — ASCII FBX پرتاب ImportException.


ساختن یک صحنه گراف

ایجاد گره ها و اتصال به اشخاص:

Scene scene = new Scene();
Node root = scene.getRootNode();

Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);

Node meshNode = root.createChildNode("triangle", mesh);

عملیات ماساژ

ایجاد A Mesh برنامه نویسی با نقاط کنترل و پلیگون ها:

Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);

تحول ها

هر کدام Node حمل A Transform:

Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);

جهان را از طریق node.getGlobalTransform().getMatrix().


مواد

مواد را به گره ها اختصاص دهید:

import com.aspose.threed.*;

PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);

scene.getRootNode().createChildNode("red_mesh", mesh, mat);

انواع مواد : Material و پایه ای است., PbrMaterial (تصمیم فلزات سنگین).


راهنمایی ها و بهترین شیوه ها

  • استفاده از Scene.fromFile() برای بارهای یک خطی زمانی که گزینه های سفارشی مورد نیاز نیستند
  • برنامه ریزی برای ساختن چوب با createPolygon() برای جغرافیای سفارشی
  • استفاده از .glb افزونه برای تولید دوگانه glTF کوچک
  • چک کردن node.getEntity() != null قبل از کاستینگ
  • صادرات STL نه سه گانه پلیگون به صورت اتوماتیک می نویسد. صادرات باینری STL فقط 3 قفسه اول هر پلیگن را می نویسم - چهره های چهار یا n-gon به آرامی درخشان می شوند. ASCII ST L صادرات تمام شاخص های قفل را نوشته است که بلوک های چوبی بد شکل برای چهره ها غیر مثلث ایجاد می کند. همیشه از طریق ماساژ های پیش از سهگانه (چهره های همه مثلثة) به صادرات STl برای جلوگیری از از دست دادن داده ها و یا خروجی نامناسب عبور می کنند.

مسائل مشترک

موضوععلتاصلاحی
استثنا در بارگذاریفایل های غیرقابل پشتیبانی یا فاسدبررسی فایل در یک مرورگر 3D باز می شود
مواد ناپدید شده پس از بار OBJ.mtl فایل یافت نشدمکان .mtl در کنار .obj;• اطمینان حاصل کنید که مواد قابل استفاده هستند.
عدم تعادل بعد از وارداتسیستم های واحد مختلفاعمال A Transform بعد از بارگذاری

FAQ

چگونه می توانم فرمت فایل را تشخیص دهم؟?

FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());

آیا می توانم از یک جریان شارژ کنم؟?

بله . scene.open() پذیرفته است یک InputStream.

چه فرمت هایی از واردات و صادرات پشتیبانی می کنند؟?

OBJ، STL و glTF/GLB از هر دو جهت پشتیبانی می کنند. FBX تنها واردات است؛ صادرات در نسخه FOSS اجرا نمی شود.


API خلاصه ای از ارجاعات

کلاس / روشتوصیف
Sceneکانتینر صحنه 3D سطح بالا
scene.open()دانلود فایل 3D با مسیر یا جریان
scene.save()صحنه صادرات به فایل یا جریان
Scene.fromFile()کارخانه ای استاتیک برای بارگذاری و بازگرداندن یک Scene
Nodeنود هیراتوری صحنه
node.createChildNode()ایجاد و اضافه کردن یک نود کودک
Meshماسک پلیگون با نقاط کنترل و لیست های صورت
mesh.createPolygon()یک چهره پلیگون را تعریف کنید.
Mesh.toMesh()تبدیل یا کلون زمین شناسی
Transformترجمه محلی، چرخش و مقیاس
FileFormatثبت نام و تشخیص فرمت ها
 فارسی