Saat ini Scene Kit
hanya untuk merender geometri dan memiliki alat pembuatan geometri yang sangat terbatas, meskipun pengenalan Model I/O
tampaknya menjadi langkah pertama untuk mendukung kemampuan pemodelan 3D yang lebih kompleks.
Anda benar bahwa untuk bentuk sederhana Anda dapat menggunakan Scene Kit
geometri dasar (kotak, bola, dll.) atau SCNShape
dengan NSBezierCurve
untuk ekstrusi 3D dengan bevel dan chamfer. Untuk geometri yang lebih kompleks, Anda memiliki beberapa opsi:
Perangkat lunak Pemodelan 3D pihak ketiga dapat digunakan untuk membuat geometri dan dalam beberapa kasus animasi yang kemudian dapat diimpor langsung ke Scene Kit
. Tampaknya banyak orang menggunakan Sketchup karena gratis dan mudah digunakan. Ini bagus untuk bentuk dasar tetapi kemampuannya sangat terbatas. Saya menyarankan penggunaan Blender, yang juga gratis tetapi memiliki lebih banyak hal untuk membuat geometri dan jerat dan juga memungkinkan Anda membuat animasi dan material yang dapat diimpor secara langsung. Ini memang memiliki kurva pembelajaran yang curam tetapi setelah Anda berhasil memecahkannya, itu adalah aset yang bagus untuk dimiliki.
Perangkat lunak semacam ini paling baik digunakan untuk geometri kompleks seperti level, karakter, dan pemandangan. Namun ada kelemahannya karena tidak dinamis setelah diimpor, karena setiap jaring akan terlihat sama, misalnya jika Anda membuat batu sebagai pemandangan, Anda perlu membuat banyak variasi batu, atau buat setiap batu di game Anda terlihat identik.
Buat di Scene Kit
dengan menggunakan kelas SCNGeometrySource
dan SCNGeometryElement
. Ini pada dasarnya adalah serangkaian titik dalam ruang 3D (masing-masing SCNVector3
) yang menentukan sudut atau simpul mesh Anda. Anda kemudian menggabungkannya ke dalam jaring dengan memasukkan titik-titik Anda ke dalam larik dan menentukan titik mana yang harus digabungkan untuk membuat segitiga atau elemen jaring Anda. Ini diberikan sebagai array lain dari SCNVector3
vektor, di mana setiap bagian dari vektor menunjuk ke indeks dalam array simpul. Vektor [0, 1, 2] akan membuat segitiga dari titik-titik dalam indeks array 0, 1 dan 2. Ada tutorial tersedia tentang cara melakukan ini.
Manfaatnya adalah kemampuan untuk membuat geometri acak, dengan membuat sekumpulan titik pseudorandom dan kemudian menggabungkannya untuk membuat mesh Anda. Dari sini Anda kemudian dapat memanggang oklusi ambien menggunakan Model I/O
(dengan asumsi Apple telah memperbaikinya, saya belum memeriksanya) dan terus menggunakan Model I/O
untuk membuat material yang cukup realistis. Berarti Anda dapat secara efektif membuat apa pun yang Anda inginkan. Mengikuti contoh sebelumnya, secara prosedural Anda dapat menghasilkan batuan yang semuanya terlihat berbeda satu sama lain. Anda dapat menggunakan ini untuk menghasilkan kemungkinan potongan puzzle yang jumlahnya hampir tak terbatas.
Sebagai catatan tambahan, geometri dan material adalah dua hal yang berbeda dalam pemodelan 3D, dan saat Anda baru memulai, sepertinya Anda telah mencampuradukkannya dalam pertanyaan Anda. Geometri adalah jaring yang menentukan bentuk suatu objek, dan material menentukan bagaimana cahaya berinteraksi dengan jaring tersebut untuk menghasilkan tampilan akhirnya. Suatu geometri dapat memiliki satu atau lebih bahan yang melekat padanya untuk menghasilkan hasil yang Anda inginkan.
Pilihan yang Anda pilih benar-benar tergantung pada apa yang ingin Anda capai. Untuk keacakan pilihan kedua lebih baik, untuk kualitas pilihan pertama adalah yang terbaik. Saya merasa saya sedikit bingung sekarang, jadi saya akan mengakhirinya di sini.
person
Andy Heard
schedule
22.10.2015