3D সম্পদ আমদানি এবং পূর্বরূপ দেখুন

কীভাবে 3D মডেল আমদানি করতে হয়, সেগুলিকে সিনফর্ম ফর্ম্যাটে রূপান্তর করতে হয় এবং অ্যান্ড্রয়েড স্টুডিওতে প্রিভিউ করতে হয় তা শিখুন।

একটি নতুন 3D সম্পদ আমদানি করুন৷

Sceneform নিম্নলিখিত বিন্যাসে 3D সম্পদ সমর্থন করে:

  • ওবিজে
  • glTF (অ্যানিমেশন সমর্থিত নয়)
  • FBX, অ্যানিমেশন সহ বা ছাড়া।

একটি নতুন 3D সম্পদ আমদানি করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার প্রকল্পের app ফোল্ডারে একটি sampledata ফোল্ডার রয়েছে তা যাচাই করুন।

    ফোল্ডারটি তৈরি করতে, প্রকল্প উইন্ডোতে app ফোল্ডারে ডান-ক্লিক করুন, তারপর নতুন > নমুনা ডেটা ডিরেক্টরি নির্বাচন করুন।

    sampledata ফোল্ডারটি আপনার অ্যান্ড্রয়েড স্টুডিও প্রোজেক্টের অংশ, কিন্তু এর বিষয়বস্তু আপনার APK-তে অন্তর্ভুক্ত করা হবে না।

  2. আপনার 3D মডেল সোর্স অ্যাসেট ফাইল ( *.obj , *.fbx , বা *.gltf ), এবং এর সমস্ত নির্ভরতা ( *.mtl , *.bin .bin, *.png , *.jpg , ইত্যাদি) sampledata করুন ফোল্ডার

    এই সোর্স ফাইলগুলিকে আপনার প্রোজেক্টের assets বা res ফোল্ডারে কপি করবেন না, কারণ এর ফলে সেগুলি অপ্রয়োজনীয়ভাবে আপনার APK-এ অন্তর্ভুক্ত হবে৷

  3. 3D মডেল সোর্স অ্যাসেটে ডান ক্লিক করুন এবং আমদানি প্রক্রিয়া শুরু করতে ইমপোর্ট সিনফর্ম অ্যাসেট নির্বাচন করুন।

    মানগুলি অ্যাপের build.gradlesceneform.asset() এন্ট্রি দ্বারা ব্যবহৃত হয় এবং আপনার প্রকল্পে *.sfa এবং *.sfb ফাইলগুলি কোথায় তৈরি হবে তা নির্ধারণ করে।

    আপনি যদি প্রথমবারের জন্য একটি মডেল আমদানি করছেন, ডিফল্ট মান ব্যবহার করুন।

    মাঠ বর্ণনা
    উৎস সম্পদ পথ আমদানি করার জন্য OBJ, FBX, বা glTF 3D মডেল সম্পদের ফাইলের নাম৷
    উপাদান পথ default Sceneform এর বিল্ট-ইন ডিফল্ট উপাদান বা একটি কাস্টম উপাদান *.mat ফাইলের পথ ব্যবহার করতে বলে।
    .sfa আউটপুট পাথ ডিফল্ট ব্যবহার করুন, বা sampledata ফোল্ডারের অধীনে অন্য পাথ নির্দিষ্ট করুন।

    অনুপস্থিত থাকলে .sfa ফাইল তৈরি হয়। আমদানি প্রক্রিয়ার কিছু দিক নিয়ন্ত্রণ করতে এটি পরিবর্তন করা যেতে পারে।

    এটি নিশ্চিত করে যে *.sfa আপনার APK-এ অন্তর্ভুক্ত নয়।

    .sfb আউটপুট পাথ ডিফল্টরূপে src/main/ assets / ফোল্ডার ব্যবহার করা হয়, যা নির্বিচারে সম্পদ ফাইলের নাম ব্যবহার করার অনুমতি দেয়।

    যদি ফাইলের নাম (ফাইল এক্সটেনশন ব্যতীত) একটি বৈধ সম্পদ শনাক্তকারী হয় (যেমন R.raw.filename ), তাহলে আপনি চাইলে src/main/ res/raw / ফোল্ডারটি ব্যবহার করতে পারেন।

    আপনার অ্যাপে assets/ এবং res/ ফোল্ডার ব্যবহার করার বিষয়ে আরও জানতে Android-এর অ্যাপ রিসোর্স ওভারভিউ দেখুন।

    অ্যানিমেশন ফাইল

    আপনি যদি *.fbx অ্যানিমেশন ফাইল আমদানি করছেন, প্লাস চিহ্ন (+) ক্লিক করুন এবং বাকি ফাইলগুলি পৃথকভাবে যোগ করুন।

  4. আমদানি প্রক্রিয়া শুরু করতে Finish এ ক্লিক করুন।

আপনার সম্পদ আমদানি করতে, প্লাগইন নিম্নলিখিত কাজ করে:

  1. আপনার প্রজেক্টের build.gradle এ Sceneform gradle প্লাগইন যোগ করে যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে:

    dependencies {
        …
        classpath 'com.google.ar.sceneform:plugin:1.15.0'
    }
    
  2. একটি apply plugin লাইন এবং নতুন আমদানি করা সম্পদের জন্য একটি sceneform.asset() এন্ট্রি অন্তর্ভুক্ত করতে আপনার অ্যাপের build.gradle ফাইল আপডেট করে:

    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.
    

    অ্যাপের build.gradle এ এই নতুন এন্ট্রি দুটি gradle টাস্ক তৈরি করে:

    • createAsset-<asset-name> একটি Sceneform সম্পদ সংজ্ঞা ( *.sfa ) ফাইল তৈরি করে যদি এটি এখনও বিদ্যমান না থাকে।

      এই টাস্কটি একটি বিদ্যমান *.sfa ফাইলকে ওভাররাইট করবে না, যার মানে আমদানি করার পরে আপনি SFA ফাইলে যে কোনো পরিবর্তন করেছেন তা ওভাররাইট করা হবে না।

      *.sfa ফাইল হল একটি টেক্সট ফাইল যাতে সম্পদের আমদানি সেটিংসের একটি সম্পূর্ণ, মানব-পাঠযোগ্য বিবরণ থাকে। এটি আপনার উত্স সম্পদের মডেল এবং টেক্সচার উল্লেখ করে এবং Sceneform এর শারীরিকভাবে ভিত্তিক উপকরণগুলির জন্য উপাদানের পরামিতি প্রদান করে উপকরণগুলিকে সংজ্ঞায়িত করে।

    • compileAsset-<asset-name> *.sfa ফাইলটিকে একটি Sceneform বাইনারি অ্যাসেট ( *.sfb ) ফাইলে কম্পাইল করে।

      এই *.sfb ফাইলটি আপনার অ্যাপের APK-এ অন্তর্নির্মিত হয় এবং রেন্ডারযোগ্য তৈরি করতে রানটাইমে লোড হয়।

    আরও তথ্যের জন্য, Sceneform Gradle Plugin রেফারেন্স দেখুন।

  3. একটি পাঠ্য উইন্ডোতে *.sfb এবং একটি ভিউয়ার উইন্ডোতে * *.sfa খোলে।

একটি পূর্বে আমদানি করা 3D সম্পদ আপডেট করুন

আপনি যখন পূর্বে আমদানি করা OBJ, FBX, বা glTF মডেল সোর্স অ্যাসেট ফাইল ( *.obj , *.fbx , বা *.gltf ) আপডেট করেন, তখন আপনার অ্যাপের build.gradle এ সংশ্লিষ্ট sceneform.asset() এন্ট্রি প্লাগইনটিকে স্বয়ংক্রিয়ভাবে পরিণত করে। বর্তমান *.sfa প্যারামিটারের উপর ভিত্তি করে একটি আপডেট করা *.sfb ফাইল তৈরি করুন।

ইতিমধ্যেই আমদানি করা সম্পদের জন্য পরামিতিগুলিতে পুনরাবৃত্তি করতে:

  • গাইড হিসাবে SFA ফাইল ফরম্যাট রেফারেন্স ব্যবহার করে *.sfa টেক্সট ফাইলটি পরিবর্তন করুন।
  • আপনার পরিবর্তন সংরক্ষণ করুন. এর ফলে সম্পদ পুনরায় সংকলিত হয় এবং *.sfb ফাইলটি আপডেট হয়।
  • অ্যাসেট ভিউয়ার উইন্ডো খুলতে *.sfb ফাইলে ডাবল-ক্লিক করে আপডেট করা সম্পদের পূর্বরূপ দেখুন।

আপনি যদি অ্যানিমেশন ডেটা সহ একটি পূর্বে আমদানি করা সম্পদ আপডেট করছেন, তাহলে আমদানি ডায়ালগের অ্যানিমেশন ফাইল বিভাগে প্লাস (+) চিহ্ন ব্যবহার করে আপডেট করা প্রতিটি *.fbx ফাইল পৃথকভাবে আমদানি করুন।

গ্রেডল সম্পদের সংজ্ঞা

আমদানি প্রক্রিয়াটি build.gradle ফাইলের শেষে যেকোনো *.fbx অ্যানিমেশন ফাইল যোগ করে।

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 এর ডিফল্ট উপকরণগুলি ডেভেলপারদের জন্য চমৎকার ফলাফল পাওয়া সহজ করে তোলে। আপনি আপনার সম্পদের চেহারা গভীরভাবে কাস্টমাইজ করতে কাস্টম উপকরণ ব্যবহার করতে পারেন।

আপনার সম্পদে একটি কাস্টম উপাদান বরাদ্দ করতে:

  1. একটি গাইড হিসাবে [কাস্টম মেটেরিয়াল রেফারেন্স](/sceneform/develop/custom-material) ব্যবহার করে একটি কাস্টম উপাদান সংজ্ঞা ( *.mat ) ফাইল তৈরি করুন।

  2. সম্পদে কাস্টম উপাদান প্রয়োগ করুন:

    একটি নতুন সম্পদ আমদানি করার সময় :

    পূর্বে আমদানি করা সম্পদ আপডেট করতে :

    • যদি *.sfa বিষয়বস্তুগুলি কাস্টমাইজ করা না থাকে, তাহলে বিদ্যমান *.sfa এবং *.sfb ফাইলগুলি এবং অ্যাপের build.gradle এ দৃশ্য form.asset sceneform.asset() এন্ট্রি মুছুন, তারপর সম্পদটি পুনরায় আমদানি করুন৷ এটি নিশ্চিত করে যে পুনরুত্পাদিত *.sfa বৈশিষ্ট্য এবং উপাদানের পরামিতিগুলি আপনার কাস্টম উপাদান দ্বারা সমর্থিতগুলির সাথে মিলবে৷

    • আপনার তৈরি করা যেকোনো *.sfa কাস্টমাইজেশন সংরক্ষণ করতে, *.sfa ফাইলটি খুলুন এবং আপনার কাস্টম উপাদান *.mat ফাইলের পাথে source বৈশিষ্ট্য পরিবর্তন করুন, তারপর আপনার কাস্টম মেলে *.sfa বৈশিষ্ট্য এবং উপাদানের পরামিতিগুলি ম্যানুয়ালি সামঞ্জস্য করুন। উপাদান.