تعرّف على كيفية استيراد نماذج ثلاثية الأبعاد وتحويلها إلى تنسيق Sceneform ومعاينتها في Android Studio.
استيراد مادة عرض جديدة ثلاثية الأبعاد
يدعم Sceneform مواد العرض الثلاثية الأبعاد بالتنسيقات التالية:
- OBJ
- glTF (الصور المتحركة غير متاحة)
- FBX، باستخدام الصور المتحركة أو بدونها
اتّبِع الخطوات التالية لاستيراد مادة عرض جديدة ثلاثية الأبعاد:
تحقق من أن مجلد
appفي مشروعك يحتوي على مجلدsampledata.لإنشاء المجلد، انقر بزر الماوس الأيمن على المجلد
appفي نافذة المشروع، ثم اختَر جديد >؛ نموذج دليل بيانات.يُعدّ مجلد
sampledataجزءًا من مشروع"استوديو Android"، ولكن لن يتم تضمين محتواه في حزمة APK.انسخ ملف مادة عرض مصدر النموذج ثلاثي الأبعاد (
*.objأو*.fbxأو*.gltf) وجميع تبعياته (*.mtlأو*.binأو*.pngأو*.jpgأو غير ذلك) إلى مجلدsampledata.لا تنسخ ملفات المصدر هذه إلى مجلد
assetsأوresلمشروعك، حيث سيؤدي ذلك إلى تضمينها في حزمة APK بدون داعٍ.انقر بزر الماوس الأيمن على مادة عرض مصدر النموذج ثلاثي الأبعاد واختر استيراد مادة عرض Sceneform لبدء عملية الاستيراد.
يتم استخدام القيم من خلال إدخال
sceneform.asset()في app'sbuild.gradle، وتحديد مكان إنشاء ملفات*.sfaو*.sfbفي مشروعك.إذا كنت تستورد نموذجًا للمرة الأولى، استخدِم القيم التلقائية.
الحقل الوصف مسار مادة العرض المصدر اسم ملف مادة العرض الخاصة بنموذج OBJ أو FBX أو glTF الذي سيتم استيراده. المادة الأساسية defaultيطلب Sceneform's أن يستخدم المادة المدمجة. أو المسار إلى المادة المخصّصة.*.mat
.sfa إخراج المسار يمكنك استخدام المسار التلقائي أو تحديد مسار آخر ضمن المجلد sampledata.يتم إنشاء ملف sfa .في حال فقدانه. ويمكن تعديلها للتحكّم في بعض جوانب عملية الاستيراد.
يضمن هذا الإجراء عدم تضمين
*.sfaفي ملف APK الخاص بك بدون ضرورة..sfb إخراج المسار ويتم استخدام المجلد src/main/assets/تلقائيًا، ما يتيح استخدام أسماء ملفات الأصول العشوائية.إذا كان اسم الملف (بدون امتداد الملف) هو معرّف مورد صالح (مثل
R.raw.filename)، يمكنك بدلاً من ذلك استخدام المجلدsrc/main/res/raw/إذا أردت.اطّلِع على نظرة عامة على مراجع التطبيقات في نظام التشغيل Android لمعرفة المزيد من المعلومات عن استخدام المجلدين
assets/وres/في تطبيقك.ملفات الصور المتحركة إذا كنت تستورد
*.fbxملفات رسوم متحركة، انقر على علامة الجمع (+) وأضِف بقية الملفات بشكل فردي.انقر على Finish (إنهاء) لبدء عملية الاستيراد.
لاستيراد مادة العرض، عليك تنفيذ ما يلي:
تُضيف المكوّن الإضافي Sceneform gradle إلى project's
build.gradleإذا لم يكن متوفّرًا حاليًا:dependencies { … classpath 'com.google.ar.sceneform:plugin:1.15.0' }يتم تعديل ملف
build.gradleapp's لتضمين سطرapply plugin، وإدخالsceneform.asset()لمادة العرض التي تم استيرادها حديثًا:apply plugin: 'com.google.ar.sceneform.plugin' sceneform.asset('sampledata/models/andy.obj', // 'Source Asset Path' specified during import. 'default', // 'Material Path' specified during import. 'sampledata/models/andy.sfa', // '.sfa Output Path' specified during import. 'src/main/res/raw/andy') // '.sfb Output Path' specified during import.تُنشئ هذه الإدخالات الجديدة في app's
build.gradleمهمّتَين:تنشئ
createAsset-<asset-name>ملف تعريف مادة عرض Sceneform (*.sfa) إذا لم يكن متوفّرًا بعد.لن تؤدي هذه المهمة إلى استبدال ملف
*.sfaالحالي، ما يعني أنّه لن يتم استبدال أي تعديلات تُجريها على ملف SFA بعد استيراده.وملف
*.sfaهو ملف نصي يتضمّن وصفًا كاملاً يمكن للمستخدمين قراءته حول إعدادات استيراد مواد العرض. وهو يشير إلى النماذج والزخارف في مادة عرض المصدر، ويعرّف أيضًا المواد من خلال تقديم معلَمات جوهرية للمواد القائمة على الطراز البيئي.تُجمِّع
compileAsset-<asset-name>الملف*.sfaفي ملف Syeneform الثنائي (*.sfb).يتم تضمين ملف
*.sfbهذا في ملف APK لتطبيقك، ويتم تحميله في وقت التشغيل لإنشاء العرض القابل للعرض.
للحصول على مزيد من المعلومات، يمكنك الاطّلاع على مرجع Syneform Gradle المكوّن الإضافي.
يتم فتح
*.sfaفي نافذة نصية و*.sfbفي نافذة مُشاهد.
تعديل مادة عرض ثلاثية الأبعاد تم استيرادها سابقًا
عند تعديل ملف مصدر مصدر نموذج OBJ أو FBX أو glTF الذي تم استيراده مسبقًا
(*.obj أو *.fbx أو *.gltf)، يؤدي إدخال sceneform.asset() المقابل في
app's build.gradle إلى إنشاء المكوّن الإضافي تلقائيًا
لملف *.sfb محدّث بناءً على معلمات *.sfa الحالية.
لإعادة ضبط المعلمات على مادة عرض تم استيرادها من قبل:
- يمكنك تعديل ملف
*.sfaالنصي، باستخدام مرجع تنسيق ملف SFA كدليل. - احفظ التغييرات. ويؤدي ذلك إلى إعادة تجميع مادة العرض وتعديل
ملف
*.sfb. - عايِن مادة العرض المعدَّلة من خلال النقر مرّتين على الملف
*.sfbلفتح نافذة مُشاهد مادة العرض.
إذا كنت تريد تعديل مادة عرض تم استيرادها سابقًا تتضمّن بيانات الصور المتحركة،
يمكنك استيراد كل ملف من ملفات *.fbx المعدّلة بشكل فردي باستخدام علامة الإضافة (+) في قسم ملفات الصور المتحركة ضمن مربّع حوار الاستيراد.
تعريفات مواد العرض في Gradle
تضيف عملية الاستيراد أي ملفات صور متحركة بتنسيق *.fbx في نهاية ملفbuild.gradle.
sceneform.asset('sampledata/models/andy_dance.fbx',
'default',
'sampledata/models/andy_dance.sfa',
'src/main/res/raw/andy_dance',
['sampledata/models/andy_wave_r.fbx',
'sampledata/models/andy_wave_l.fbx'])
إنشاء إعلان قابل للعرض
بعد تجميع مادة العرض بتنسيق *.sfb، يمكنك إنشاء
ModelRenderable
وإرفاقها بعقدة على النحو التالي:
ModelRenderable.builder()
// To load as an asset from the 'assets' folder ('src/main/assets/andy.sfb'):
.setSource(this, Uri.parse("andy.sfb"))
// Instead, load as a resource from the 'res/raw' folder ('src/main/res/raw/andy.sfb'):
//.setSource(this, R.raw.andy)
.build()
.thenAccept(renderable -> andyRenderable = renderable)
.exceptionally(
throwable -> {
Log.e(TAG, "Unable to load Renderable.", throwable);
return null;
});
استخدام مواد مخصّصة
Sceneform's المواد التلقائية تسهّل على مطوّري البرامج الحصول على نتائج رائعة. يمكنك أيضًا استخدام المواد المخصّصة لتخصيص شكل مواد العرض بشكل كبير.
لتخصيص مادة مخصّصة لمادة العرض:
يمكنك إنشاء ملف تعريف مادة مخصّصة (
*.mat) باستخدام [مرجع المواد المخصّصة](/sceneform/develop/custom-material كدليل.تطبيق المادة المخصّصة على مادة العرض:
عند استيراد مادة عرض جديدة:
- حدِّد ملف المادة المخصّصة
*.matأثناء عملية الاستيراد.
لتعديل مادة عرض تم استيرادها سابقًا:
إذا لم يتم تخصيص محتوى
*.sfa، احذف ملفَي*.sfaو*.sfbالحاليَين وأدخِلsceneform.asset()في التطبيقات&39;sbuild.gradle، ثم إعادة استيراد مادة العرض. يضمن ذلك أن تكون سمات*.sfaومعلّمات المواد المُعاد إنشاؤها مطابقة للسمات التي تدعمها المادة المخصّصة الخاصة بك.للحفاظ على أي عمليات تخصيص أجريتها على
*.sfa، افتح ملف*.sfaوغيِّر سمةsourceإلى المسار إلى ملف المادة المخصّصة*.mat، ثم عدِّل سمات*.sfaومعلّمات المواد يدويًا لتتطابق مع المادة المخصّصة.
- حدِّد ملف المادة المخصّصة

