Search

Tutorial Q3D Construct 2




Daftar Isi:
Ikhtisar Q3D
1
Mulai
2














1. Persiapan
1.1    Instalasi
Untuk memulai, setelah Anda membeli Q3D Anda akan menerima sebuah email dengan petunjuk masuk / download. Ikuti petunjuk dalam email untuk mendownload versi terbaru dari Q3D (per 2015/04/21, Versi 2.4). Q3D dikemas dalam file zip.
Unzip file ini di mana saja, dan isi harus terlihat seperti ini:
Sekarang mengambil Q3D_V_2_X_Plugins.zip dan unzip isinya di folder membangun 2 plugin. Ada 8 plugin baru yang harus di folder:
Demikian pula mengambil Q3D_V_2_X_Behaviours.zip dan unzip isinya di folder membangun 2 perilaku. Ada 3 perilaku baru yang harus di folder:
Sekarang restart Membangun 2 dan Anda harus memiliki semua Q3D diinstal! Insert dialog New Object akan terlihat seperti ini sekarang, dengan 8 plugin Q3D baru:
Demikian juga, insert Tambah dialog perilaku akan terlihat seperti ini, dengan 3 perilaku Q3D baru.



1.2    Dasar-dasar Q3D
Sekarang Q3D yang diinstal, kita dapat mulai menggunakannya segera. Karena plugin ini sangat kompleks namun, ada alur kerja tertentu yang harus diikuti.
Untuk memulai, setiap Q3D PROYEK membutuhkan Guru contoh Q3D untuk ditambahkan ke tata letak. Q3D Guru bertindak sebagai "Sistem Object" untuk Q3D, dan tanpa ada yang bisa berfungsi dengan baik. Q3D Guru memiliki banyak fitur namun hanya dasar-dasar akan dipoles saat ini.
Jadi tanpa basa-basi lagi, tambahkan Q3D Guru untuk tata letak:
Sebuah persegi abu-abu besar akan muncul. Q3D Guru mengontrol rendering 3D Graphics, dan dengan beberapa pengaturan persegi abu-abu ini menentukan ukuran awal dan / atau resolusi jendela bagian dalam 3D dalam membangun. Secara default Namun, Q3D otomatis rescales untuk mengisi seluruh jendela, dan secara otomatis memaksimalkan resolusi yang tersedia. Pengaturan default yang direkomendasikan untuk sebagian besar proyek, jadi kita tidak perlu mengubah mereka untuk saat ini.



Bagi mereka yang ingin tahu, sekarang akan menjadi waktu yang baik untuk mencoba melihat pratinjau proyek.
Seperti yang bisa dilihat, terlihat sedikit berbeda daripada di tampilan tata letak. Sekarang ini mungkin tampak membingungkan pada awalnya tapi akan segera disesuaikan dengan. Ada juga beberapa hal di sudut kanan atas. Ini adalah pembantu 3D yang dapat diaktifkan dan dinonaktifkan dengan sifat sebagai berikut dari Q3D Guru:
Mereka melayani hanya untuk membantu mengorientasikan diri dalam apa yang pada dasarnya kekosongan di awal. Ada benda awal beberapa diciptakan oleh Q3D Guru daripada yang bisa dihapus dengan mengubahnya off dari meja properti, namun itu ide yang baik untuk meninggalkan mereka untuk saat ini. Nyaman mereka ditempatkan pada titik asal, sehingga jika kamera bergerak di sekitar itu mungkin untuk mengatakan di mana dan apa sumbu XYZ adalah. Sebelum terlalu depan diri kita sendiri Namun, mari kita lanjutkan dengan menyiapkan proyek sederhana ini.



Memiliki dunia kosong seperti ini adalah jenis membosankan, jadi mari kita tambahkan beberapa objek untuk itu. Ada beberapa Q3D Objek tersedia, namun yang paling umum Anda akan memiliki dalam proyek Anda Q3D Model. Q3D Model ini mirip dengan objek sprite yang digunakan dalam C2, dalam hal ini akan muncul hampir di mana-mana, kecuali ini akan menampilkan model 3D dengan bahan, tekstur, animasi, dll Q3D Model juga mendukung pengujian tabrakan dalam 3D dan 3D fisika, serta sebagai berbagai fitur yang tidak akan dibahas sekarang. Anda tidak benar-benar harus memiliki Model 3D menggunakan Q3D Model meskipun, karena dapat eksis sebagai "tak terlihat" objek boneka juga, yang Anda gunakan untuk memeriksa tabrakan, mirip dengan bagaimana Anda akan melakukan hal-hal di vanili C2.
Jadi tanpa basa-basi lagi, menambahkan Model Q3D untuk proyek. Satu hal yang perlu diperhatikan adalah bahwa editor gambar akan muncul. Untuk saat ini Anda dapat dengan aman meninggalkan gambar kosong. Q3D Model mendukung texturing melalui editor gambar, namun prosedur tertentu harus digunakan yang akan dijelaskan secara rinci nanti. Singkatnya nama animasi mengontrol jenis tekstur model akan menggunakan. Menambahkan animasi disebut "DiffuseMap", antara nama-nama khusus lainnya, akan memberitahu Q3D bahwa model ini menggunakan peta difus, dan selanjutnya akan melakukan semua pekerjaan untuk menyiapkan difus otomatis peta. Dengan meninggalkan "Default" sebagai satu-satunya animasi, dan tidak memiliki apapun dari nama-nama animasi khusus, Model Q3D akan menganggap itu tidak menggunakan tekstur, yang sebenarnya memiliki manfaat kinerja kecil.
Jadi sekarang Anda telah menambahkan Model Q3D dan ditempatkan dalam tata letak, lihatlah apa yang muncul:
Q3D Model muncul kotak kecil dengan hijau pembantu sumbu merah / / biru. Penolong axis memberitahu Anda bagaimana objek tersebut berorientasi, dengan menunjuk merah dalam arah sumbu X lokal, hijau dalam arah sumbu Y lokal, dan biru dalam arah Z sumbu lokal. Kotak benar-benar menampilkan apa yang bounding box 3D terlihat seperti, namun itu tidak sangat jelas sekarang. Anda dapat klik pada kotak dan skala + memutar itu. ini secara efektif akan skala dan memutar objek 3D ini mewakili.
Objek ini memiliki banyak properti, tetapi untuk sekarang mari kita bermain-main dengan mereka di bagian "General Properties"
Ini tidak terlihat sangat menakutkan, dan cukup jelas. Deskripsi yang muncul saat Anda memilih mereka di bagian bawah tab properti cukup membantu jadi pastikan untuk melihat. Segera kita dapat melihat bahwa ada sifat tertentu untuk posisi Z, ukuran Z, Rotasi dll ini mengontrol derajat ekstra kebebasan yang tidak dapat dikontrol dengan lebar / tinggi / sudut / posisi x / y posisi. Mari kita menulis sesuatu ke dalam rotasi X dan rotasi Y, seperti 35 dan 47 misalnya:
Whoa oke! Jadi sekarang apa tampilan dari benda itu sedikit lebih jelas. Mengubah properti untuk segala sesuatu dengan pengecualian dari posisi Z akan menyebabkan obyek yang terlihat berbeda, dengan cara yang merupakan perwakilan dari bagaimana adegan 3D yang sebenarnya berubah. Tata letak tampilan sebenarnya merupakan ortografi "top down" atau "sisi" tergantung pada bagaimana Anda berpikir tentang hal ini, mulai menuruni Z sumbu. Secara default kamera Q3D saat runtime adalah setup untuk meniru persis setup adegan di jendela tata letak, kita lihat dengan melihat pratinjau lagi:
Yah, itu hampir sama, kecuali Q3D menggunakan segitiga sehingga gambar rangka terlihat sedikit berbeda. Jika preview yang solid diperlukan, cobalah mengubah "Editor Rep." properti untuk "berbayang" bukan "kawat". Ini juga akan memperbarui bagaimana objek terlihat dalam editor, dan lagi tampilan baru cocok bagaimana objek akan terlihat secara default dalam adegan, dengan default Q3D Guru pengaturan + cahaya:



Layout Editor View:
Runtime Preview View:

Jadi meskipun membangun 2 tidak benar-benar diatur untuk membuat 3D, mungkin untuk mengejek atas hal-hal yang cukup baik, terutama jika permainan Anda menggunakan top down / sisi bergulir setup.



Sekarang adegan ini dengan Box agak membosankan lagi, jadi mari kita coba bentuk yang berbeda. Representasi dalam tata letak benar-benar menunjukkan apa yang collider 3D terlihat seperti, daripada model atau sesuatu seperti itu (tidak mungkin untuk memuat model ke C2 untuk tampilan karena keterbatasan C2). Jadi untuk mengubah tampilan perubahan jenis collider dari Box ke sesuatu yang lain. Mari kita melakukan Sphere. Dalam kasus Anda kehilangan tentang cara untuk melakukan ini, klik pada Model Q3D dan mengedit "Collider Type" properti di bagian "Collision sifat":
Pilih lingkup dari drop down, dan sekarang dalam tampilan tata letak Anda akan melihat mirip dengan berikut:
Sedikit bagus berbayang bola. Menjalankan proyek harus mengarah ada kejutan sekarang:
Kotak putih sekitar bola menunjukkan batas-batas yang ditetapkan oleh X / Y ukuran / Z Model Q3D, sedangkan lingkup abu-abu seperti yang dijelaskan: collider. Kemudian jika kita ingin menyingkirkan tampilan runtime benda-benda (setelah kami memuat model) ini akan dilakukan dengan memutar 2 sifat berikut dari atas ke off:
"B.Box Debug" mengontrol kehadiran kotak putih, dan "Collider Debug" dari collider. Ini tidak disarankan Anda meninggalkan ini pada dalam proyek selesai, karena mereka tidak dioptimalkan untuk kinerja dan juga tidak dapat melakukan hal-hal seperti bayangan cor benar / telah materi mereka berubah. Mereka secara ketat dimaksudkan untuk debugging dan visualisasi dari collider / kotak putih. Untuk saat meninggalkan mereka diaktifkan, namun kami akan mengubahnya off segera ketika kita menambahkan model.


loading...


1.3    Model di Q3D
Melanjutkan dari bagian terakhir, kita harus memiliki adegan sederhana dengan Q3D Guru dalam tata letak dan Q3D Model tunggal. Sekarang mari kita model untuk menampilkan. Sebelum kita dapat melakukan hal ini namun, kami benar-benar membutuhkan model.
Q3D menerima 2 tipe file utama untuk model, obj, dan Three.js JSON format yang model 3 file (JSON-Model-Format-3). Q3D tentu saja didasarkan pada three.js sehingga secara alami menggunakan filetype utama yang digunakan oleh three.js untuk model. Jika Anda ingin mengekspor format yang model JSON (sesuatu yang akhirnya Anda akan ingin melakukan itu akan dibahas secara lebih rinci dalam tutorial lanjut) Anda akan perlu untuk men-download eksportir three.js untuk perangkat lunak pemodelan spesifik Anda. Blender sangat dianjurkan karena eksportir adalah yang paling terawat dengan baik.
Untuk men-download eksportir men-download versi three.js berkas R71 .zip dari halaman rilis utama (three.js rilis). kita menggunakan versi R71 yang mungkin usang karena ini adalah versi yang digunakan oleh versi saat Q3D (V2.4). Ada kemungkinan bahwa eksportir kemudian bekerja dengan Q3D sehingga Anda dapat memberi mereka mencoba, namun menjadi R71 aman dikenal untuk bekerja sekarang, dan saya tidak bisa mengatakan masa depan :). Setelah Anda men-download file three.js-r71.zip, membukanya dan mencari folder "util". dalam folder "util" akan ada "eksportir" folder, di mana berbagai eksportir dapat ditemukan. Pemasangan bervariasi ini dan mencari online untuk "install three.js eksportir blender" akan memungkinkan Anda untuk menemukan petunjuk cukup mudah saya yakin.
Sebelum kita mengambil tantangan mengekspor model diri kita sendiri Namun, mari kita menggunakan model dari online untuk menguraikan proses di konstruksi. Sekarang Anda bisa menggunakan model dari jenis yang tepat untuk ini, tetapi karena Anda mungkin hanya download file three.js-r71.zip, kita bisa menggunakan model dari sana (saya merekomendasikan untuk bagian ini jika Anda seorang pemula sehingga pastikan untuk men-download zip itu dan ekstrak di suatu tempat!).
Untuk menggunakan file model dengan plugin Q3D Model, terlebih dahulu harus ditambahkan ke folder file membangun untuk proyek tersebut. Scirra menguraikan proses penambahan file dan bagaimana mereka bekerja cukup baiksini. Singkatnya menambahkan file ke folder file berarti akan dikemas dengan proyek diekspor.



Jadi mari kita tambahkan file kemudian. Buka proyek tab dalam konstruksi, mencari folder kecil di dekat bagian bawah disebut file, dan klik kanan di atasnya:
Klik file impor, kemudian menemukan file yang bernama "male02.obj" dari sebelumnya diekstrak three.js-r71.zip. Ini harus terletak di folder:
Setelah mengimpor tab proyek Anda / file folder akan terlihat mirip dengan berikut:
Jadi sekarang kita siap untuk mendapatkan model yang menjadi proyek kami! Pilih contoh Q3D Model dari sebelumnya, dan mencari bagian properti yang disebut "Model Properties". Di sana Anda akan menemukan dua sifat yang harus diubah untuk menampilkan model:
Pertama, mengubah "Gunakan Model" untuk "Ya", alasan ini menjadi jelas. Properti ini biasanya off karena memberitahu Q3D tidak ada model dan ini dapat digunakan untuk mengoptimalkan hal-hal sedikit. Kedua, perubahan "Model Nama file" untuk "male02.obj". Secara default mengatakan "MyObj.obj" hanya untuk membuat jelas kepada pengguna bagaimana ini bekerja, tetapi "MyObj.obj" adalah bukan model ditambahkan ke proyek, jadi jangan berharap untuk melihat sesuatu jika Anda tidak mengubahnya ! nama file Model adalah di mana Anda menentukan "URL" dari model untuk men-download. Jika Anda telah menambahkan file ke folder file, URL ini hanya akan menjadi nama file seperti yang kami lakukan di sini. Jika Anda menggunakan Node Webkit untuk eksportir Anda, Anda juga dapat menentukan URL dari online dan akan mendownload file yang sebagai model. Karena isu-isu lintas domain namun hanya karya-karya ini dalam Node WebKit, dan tidak jika proyek Anda akan sebuah website. Ini adalah sedikit di luar cakupan tutorial ini tapi itu hanya titik untuk diingat: "nama file Model" dapat menerima URL dalam beberapa kasus, tetapi menggunakan file proyek itu harus selalu bekerja dan dianjurkan.
Jadi sebenarnya, jika kita menjalankan proyek sekarang kita harus melihat sesuatu seperti berikut:
Ups! Sepertinya debug collider bola adalah pada, jadi mari kita mematikannya sehingga kita dapat melihat model tanpa bola menutupinya. Sekali lagi ini dilakukan dengan mengubah "Collider Debug" properti untuk off:
Jadi mari kita lihat lagi:
Ok, jadi ada sesuatu di sana, tapi masih terlihat cukup aneh. male02.obj adalah model dari seorang pria dalam setelan jas, tapi kami sedang melihat ke belakang dan terbalik, serta benar-benar squished untuk masuk ke dalam kubus. Ada banyak sifat penolong di "Model Properties" bagian untuk menyesuaikan bagaimana model cocok dengan objek yang kita akan melihat di kemudian, jadi jangan khawatir tentang itu untuk saat ini. Pertama saya ingin Anda untuk me-refresh halaman dan melihat bahwa dibutuhkan sedikit waktu untuk model muncul.
Pada awalnya tata letak hanya menunjukkan kotak berlari putih, dan kemudian model muncul. Alasan untuk ini adalah bahwa model sedang didownload dan dimuat. Hal ini terjadi asynchronous, sehingga permainan dapat terus berjalan sementara model yang sedang didownload, namun permainan akan berhenti setelah sedang diproses. Sekarang ini mungkin terdengar menakutkan tapi Q3D pada dasarnya menangani segala sesuatu yang kompleks dan sangat sedikit yang tersisa untuk Anda. Hal ini menawarkan pilihan untuk melakukan hal-hal seperti ini, tetapi Anda juga dapat preload model di katakan tata letak yang berbeda / di layar loading sebelum pertandingan dimulai, dan kemudian memuat penundaan ini tidak akan terjadi. Hal ini dilakukan dengan menggunakan Q3D Guru dan sedikit di luar lingkup tutorial ini, sehingga akan dijelaskan nanti, untuk saat ini perilaku default baik-baik saja karena kita baru saja mulai.
Jadi mari kita membuat benda terlihat sedikit kurang aneh kemudian. Kita dapat melakukan ini dengan mengubah rotasi awal model dan skala. Coba yang berikut (saya sudah berubah collider untuk "Box" untuk lebih jelas menggambarkan ukuran yang):

Perhatikan orientasi pegangan, kita sudah miring kotak sehingga titik-titik hijau up, membuatnya lebih tinggi, dan mengubah baik rotasi X dan rotasi Y. Mari kita lihat model di preview sekarang:

Jadi itu sedikit lebih jelas apa yang kita cari di sekarang. Perhatikan bahwa model adalah scaling agar sesuai dengan b.box debug (putih persegi). Sekarang beberapa orang mungkin akan bertanya, bagaimana jika saya tidak ingin untuk skala agar sesuai kotak, dan ingin mempertahankan proporsi asli, atau posisi semula relatif ke asal? Hal ini tentu saja mungkin, dan dilakukan dengan menyesuaikan dua sifat yang ditunjukkan di sini:
"Penempatan Model" kontrol bagaimana / jika model sudah reposisi, dan "Model Fit" kontrol bagaimana hal itu cocok ke B.Box. Ada berbagai pengaturan di sini yang dapat diubah, beberapa lebih Cukup jelas daripada yang lain. Pengaturan "berubah" mengimpor model seperti, scaling itu di XYZ oleh X / Y / Z skala model dari lebar / he / sifat zscale dll Itu selalu anak dari objek utama sehingga timbangan stack, ini berarti model bisa sangat baik menjadi raksasa jika Anda tidak hati-hati menggunakan tidak berubah, dan akan muncul tak terlihat. Untuk alasan ini itu ide yang baik untuk mengatur tinggi / lebar / zscale sifat semua untuk 1 sehingga tidak ada skala ekstra dari dimensi model yang terjadi dalam kasus ini. Cara lain untuk memastikan objek menjaga proporsi yang sama adalah untuk mengatur tinggi / lebar / zscale dengan nilai-nilai yang sama (mendefinisikan skala kubus) dan kemudian menggunakan "Fit X" "Fit Y" Pengaturan / / "Fit Z" untuk " Model Fit". Pengaturan ini akan skala model yang sama untuk masuk dalam salah satu dimensi dari B.Box. Saya mendorong Anda untuk bermain-main dengan ini dan melihat bagaimana mereka mempengaruhi impor.
Gambar berikut mencoba untuk memperjelas "Model Fit" Pilihan sedikit:
Untuk kotak melompat-lompat non-seragam:




Untuk seragam kotak loncat (width = height = zscale):
Seperti yang bisa dilihat, ketika menggunakan Fit X / Y / Z dengan kotak berlari seragam, model tidak mendapatkan "squished" atau terdistorsi, namun masih mempertahankan hubungan penuh arti ke pengaturan skala. Ada benar-benar banyak fitur dan satu-satunya cara untuk menjadi sangat akrab dengan pilihan impor ini adalah untuk bermain-main dengan mereka.
Untuk saat ini menyimpulkan tutorial dasar ini.



1.4    Dasar-dasar tekstur
Dengan file model yang ditampilkan menggunakan Model Q3D, sekarang mungkin untuk menyelidiki berbagai fitur materi / texturing tersedia dengan Q3D, dan ada sangat banyak!
Untuk mulai memungkinkan menyelidiki bagaimana texturing khusus bekerja, karena ini tidak memerlukan peristiwa untuk memulai dengan. Mari kita meningkatkan model dari sebelum jadi itu sedikit lebih terlihat
Oke, jadi biasanya hal pertama yang akan Anda ingin lakukan adalah menerapkan peta menyebar ke model. Untuk melakukan hal ini dengan Q3D Model, Anda harus terlebih dahulu membuka image editor / animasi dengan mengklik ganda pada objek:
Q3D Model dapat bertekstur hanya dengan menciptakan khusus bernama animasi, nama-nama ini tercantum dalam tabel berikut:
animasi Nama
Deskripsi
DiffuseMap

Difus Peta, mengontrol warna bahan menggunakan gambar dan UVs.

SpecularMap

Specular Peta, mengontrol specularity bahan menggunakan gambar dan UVs. Menggunakan putih / hitam / abu-abu untuk mendefinisikan "specularity" modulasi.

NormalMap

Yang normal Peta, mengontrol sudut pencahayaan dari bahan menggunakan gambar peta normal dan UVs.

BumpMap

Bump Peta, mengontrol sudut pencahayaan dengan menggunakan gambar sebagai peta ketinggian di atas UVs. Menggunakan putih / hitam / abu-abu untuk mendefinisikan "tinggi".

lightmap

Cahaya Peta, mirip dengan baur Peta tetapi dapat diterapkan pada set kedua UVs, untuk penerangan panggang / multiplier menyebar sekunder.
EnvironmentMap_ENVReflect

Peta lingkungan, digunakan untuk refleksi. peta lingkungan mengambil set 6 frame animasi pada suatu waktu untuk membentuk kubus-peta bingkai tekstur.

EnvironmentMap_ENVRefract

Peta lingkungan, digunakan untuk refraksi. peta lingkungan mengambil set 6 frame animasi pada suatu waktu untuk membentuk kubus-peta bingkai tekstur.


Ini hanya gambaran sederhana. Q3D Model benar-benar mendukung tekstur animasi dengan mudah. Dengan memiliki beberapa frame dan menyesuaikan pengaturan animasi seperti kamu akan untuk sprite, Anda dapat membuat animasi tekstur. Satu hal yang perlu diperhatikan adalah bahwa untuk setiap nama animasi dengan "_ENVReflect" atau "_ENVRefract" ekstensi yang ditambahkan ke dalamnya, Q3D mengenalinya sebagai peta kubus dan tekstur animasi sebenarnya bergeser melalui set 6 gambar pada waktu daripada 1, yang dapat membingungkan jika Anda tidak menyadari hal itu.

ADVANCED PEMAKAIAN CATATAN:

Anda dapat membuat animasi lainnya dan mengubah mereka dengan tindakan, namun Anda perlu memiliki satu animasi dengan nama yang ditentukan untuk jenis peta untuk menginisialisasi ke "perubahan" animasi peta. Ini cukup membingungkan tapi fungsi yang ada jika diperlukan. Sebagai contoh jika Anda ingin dua berbeda membaur Peta animasi, Anda perlu satu animasi dengan nama "DiffuseMap" dan kemudian Anda dapat beralih ke "animforDiffuse2", tetapi jika Anda tidak memiliki "DiffuseMap" Anda tidak bisa beralih ke "animforDiffuse2" menggunakan tindakan untuk mengganti animasi membaur Peta, karena Q3D tidak pernah diinisialisasi Diffuse Peta. Kompleksitas ini diperlukan untuk membuat mesin dioptimalkan dan cepat. Anda dapat memiliki tambahan Envrionment Peta animasi dengan memiliki satu "EnvironmentMap +" _ ENVReflect "/ +" _ ENVRefract" aswell animasi sebagai tambahan ekstensi "_ENVReflect" atau "_ENVRefract", misalnya "animforEnv2_ENVReflect" bisa beralih ke dengan tindakan. Jika Anda tidak memiliki ekstensi akan menyebabkan bug. Sekali lagi ini terdengar membingungkan, namun bagian berikut akan menunjukkan jika Anda tidak akan gila dengan animasi tekstur, sistem ini sangat mudah digunakan.


Jadi tanpa basa-basi, mari kita tambahkan peta difus, untuk melakukan hal ini, cukup menambahkan animasi disebut "DiffuseMap" (atau mengubah nama default, karena itu tidak dibutuhkan sekarang dan akan terpakai jika kiri):
Sekarang Model Q3D akan menggunakan dan mempersiapkan frame sebagai tekstur untuk peta difus. Perhatikan bahwa Alpha transparansi dalam tekstur tidak diaktifkan secara otomatis karena membutuhkan renderer untuk menyortir benda kembali ke depan dari kamera yang menimbulkan biaya kinerja, jadi jika Anda ingin memiliki tekstur alpha Anda harus terlebih dahulu menetapkan properti "Transparan" untuk "Ya ", (atau mengaktifkan menyortir transparan dengan aksi 'Set Opacity').
Dalam hal apapun saya tidak akan menggunakan tekstur transparan untuk menyebar jika Anda ingin mengikuti. Dalam editor gambar, mengimpor gambar untuk frame pertama dari "DiffuseMap". Saya menggunakan UV_Grid_Sm.jpeg yang dapat ditemukan di:
dan terlihat seperti berikut:
 
Gambar ini memungkinkan kita untuk memvisualisasikan koordinat UV pada Model, sehingga menarik. Pratinjau proyek, kita sekarang melihat model sepenuhnya bertekstur!
Pretty cool! Sekarang akan menjadi saat yang tepat untuk bermain-main dengan animasi tekstur jika Anda ingin, untuk melihat bagaimana menambahkan frame ekstra karya, dll
Mari kita lihat apa yang tampak seperti dengan tekstur ini SpecularMap. Hanya mengubah nama "DiffuseMap" untuk "SpecularMap" (atau Anda bisa menambahkan animasi tambahan dengan nama SpecularMap, Q3D Model dapat memiliki 5 jenis tekstur secara bersamaan jika menggunakan "bahan phong")
efeknya tidak jelas tetapi terlihat samar-samar, tapi itu hanya karena tekstur digunakan dan material pengaturan. Dalam kasus apapun bermain-main, dan melihat contoh-contoh Q3D resmi untuk gagasan tentang bagaimana jenis tekstur yang berbeda dapat digunakan dan diterapkan. Eksplorasi adalah kunci untuk belajar!



1,5    Dasar-dasar materi
Ada 3 jenis bahan utama yang tersedia di Q3D. Ada juga 2 jenis bahan tambahan dan pilihan untuk menggunakan shader kustom jenis bahan juga (meskipun dalam V2.4 sistem shader kustom tidak lengkap dan tidak akan dibahas lagi, meskipun tindakan yang tersedia untuk melihat).
Untuk bagian ini, kita akan menghapus peta specular dari sebelumnya, itu akan cukup untuk mengubah nama animasi untuk sesuatu seperti "tidak digunakan". Kami ingin fokus hanya pada bahan dan properti mereka untuk saat ini.
Untuk gambaran dari jenis bahan yang tersedia, gulir ke bawah daftar sifat-sifat Q3D Model, dan mencari bagian "Material Properties", di dalamnya Anda akan menemukan properti yang disebut "Jenis Bahan", memperluas daftar dropdown:
ada 6 pilihan yang tersedia. Secara default Phong selalu jenis utama yang dipilih. Masing-masing dari bahan ini berperilaku sangat berbeda, sehingga meja untuk menjelaskan mereka telah disusun di bawah ini.



jenis bahan
Deskripsi
Phong

Phong Model shading, lampu dihitung per-pixel di GPU. Paling serbaguna tapi mahal jenis bahan, memungkinkan untuk semua jenis peta tekstur dan pengaturan material. Dipilih secara default. Memiliki kontrol specularity. mendukung kelancaran / datar.

lambert

Lambert Model shading, lampu dihitung per-vertex di GPU. Kurang fleksibel daripada Phong dan kusam mencari, tetapi lebih murah. Memungkinkan untuk semua jenis peta tekstur dan pengaturan material, kecuali yang terkait dengan peta normal dan benjolan pemetaan. peta specular digunakan untuk modulasi env. peta. mendukung kelancaran / datar.


Dasar

Dasar Model shading, Tidak terpengaruh oleh pencahayaan sama sekali, selalu "sepenuhnya menyala". Sangat murah. Memungkinkan untuk peta difus, peta cahaya, env. peta, dan peta specular untuk modulasi env. peta.

Normal

Normals shading berdasarkan. Tidak terpengaruh oleh pencahayaan. Model menyala berdasarkan informasi normals nya, tidak mendukung tekstur atau banyak pengaturan dan lebih untuk visualisasi dari apa pun.

Kedalaman

shading berdasarkan kedalaman. Tidak terpengaruh oleh pencahayaan. Model menyala berdasarkan kedalaman dari kamera dekat pesawat / jauh, tidak mendukung tekstur atau banyak pengaturan dan lebih untuk visualisasi dari apa pun.

shader

Menggunakan ditentukan kustom vertex dan fragmen shader. (Tidak sepenuhnya didukung di V2.4)

Deskripsi ini tentu saja hanya membantu begitu banyak dalam memvisualisasikan apa bahan terlihat seperti, jadi mari kita berbaris 5 jenis kecuali "shader" berdampingan dan kita lihat:
Sekarang karena model tinggi-poli dan adegan sederhana Lambert dan phong tampilan sangat mirip, dan Dasar dan Kedalaman terlihat sama, namun kedalaman lagi didasarkan pada kamera dan akan bervariasi dengan derajat yang berbeda zoom. Satu-satunya cara untuk benar-benar mendapatkan merasakan perbedaan adalah untuk bermain-main dengan mereka dalam berbagai kasus, dan berpikir tentang apa efek yang Anda sukai / inginkan dari materi.
Sekarang untuk menyelidiki atribut lainnya dari bahan, itu perlu untuk membuka editor acara. Ada hanya begitu banyak pengaturan yang itu akan menjadi pilihan yang buruk untuk memiliki mereka semua terlihat di editor properti. Untuk alasan ini jika Anda ingin melakukan sesuatu seperti perubahan warna diffuse, warna specular, emisivitas, opacity, pencampuran dll dan sebagainya ini harus dilakukan melalui lembar peristiwa ketika model tersebut dimuat dalam, atau di kemajuan menjalankan proyek jika Anda ingin memiliki dinamis mengubah warna dan sejenisnya. Kita tidak akan melihat dari atas setiap fitur bahan tunggal karena mereka cukup jelas diri, tapi proses dasar menginisialisasi properti pada model buat akan diuraikan.
Buka editor acara sheet dan menambahkan syarat untuk Q3DModel, "Pada Model Dibuat". Ini adalah pemicu yang mengaktifkan ketika beban model. Kami ingin menggunakan ini dalam banyak kasus bukan dalam "pada Dibuat" karena hanya akan bertindak ketika model ini dibuat bukan sebelumnya. Jika kita menggunakan "pada Dibuat" akan mungkin untuk mencoba dan mengubah model sebelum beban dalam, yang menyebabkan tidak terjadi. Jadi tambahkan "Pada model yang dibuat", dan Anda harus memiliki ini sekarang:
Menambahkan tindakan untuk Q3D Model (set warna diffuse):
Dan menulis beberapa nilai RGB acak di:



Sekarang melihat pratinjau proyek:
(Anda bisa lihat di sini beberapa pengaturan tidak bekerja dengan beberapa jenis material)
Cobalah mengubah pengaturan yang berbeda dengan tindakan lebih dan mendapatkan merasakan apa berbagai fitur lakukan. Ada banyak ekspresi untuk mengambil berbagai nilai nilai properti materi juga.



1,6    Dasar-dasar posisi / Rotasi / Skala
Beberapa objek utama Q3D fitur yang sangat mirip tindakan / kondisi / ekspresi alih posisi, rotasi, dan skala. Q3D obyek yang Q3D Point, Q3D Cahaya, Q3D Model, Q3D Bone, dan Q3D Sprite. Mereka adalah "tata letak" benda-benda yang ada di tempat kejadian, dan berbagi fitur lintas fungsional.
Yang paling sederhana di antara mereka adalah Q3D Point. Objek ini pada dasarnya hanya node yang mewakili posisi / rotasi / skala dan tidak memiliki salah satu spesifik lainnya fitur plugin lain memiliki. Hal ini dimaksudkan untuk menjadi "cepat" objek untuk memanipulasi posisi / rotasi / skala dan pengelompokan hirarki, di mana Model Q3D akan menyebabkan berlebihan dari fitur tambahan. Kita akan menggunakannya untuk menjelaskan dasar-dasar Posisi / Rotasi / Skala.

Melanjutkan dari bagian terakhir kami, membuka proyek sederhana dengan pria itu. Tambahkan Q3D Point ke tata letak.
Q3D Point direpresentasikan sebagai berlian dalam tata letak dan ketika men-debug-nya terlihat. Anda sudah harus dasar-dasar cara skala / sudut / posisi dikendalikan dalam layout editor, tapi mari kita meninjau yang sedikit.

x, y posisi objek kontrol itu x / y posisi dalam 3D, dan "Z posisi" dalam "sifat umum" mengontrol posisi z dalam 3D. Lebar dan tinggi mengontrol skala x / y dari objek dalam 3D, dan "skala Z" properti di "properites umum" mengontrol skala z dari objek dalam 3D. Sudut obyek mengontrol rotasi terhadap sumbu Z dalam derajat, dan "Rotasi X" "Rotasi Y" properti di "sifat umum" mengontrol rotasi terhadap sumbu X dan sumbu Y dalam derajat dalam 3D. "Rotasi Order" dalam "sifat umum" menentukan urutan rotasi bisa diterapkan untuk setiap sumbu dalam sistem sudut Euler. dasar-dasar ini tetap sama antara semua "Q3D tata letak benda-benda" yang telah disebutkan sebelumnya.
Jadi pada dasarnya ini adalah cara hal-hal yang diatur dalam tata letak. Q3D tata letak benda memiliki posisi XYZ, rotasi XYZ, dan timbangan badan XYZ. Ada tindakan umum tersedia untuk Q3D objek tata letak untuk mengontrol posisi mereka XYZ, rotasi XYZ, dan timbangan badan XYZ. Ada ungkapan umum yang tersedia untuk mendapatkan nilai-nilai posisi XYZ ini, rotasi XYZ, dan timbangan badan XYZ.
Mari kita lihat dialog Add tindakan untuk Q3D Titik:
Semua tindakan ini tersedia dengan "Q3D Tata Letak benda" serta fungsi unik mereka. Satu hal yang mungkin tampak aneh pada awalnya adalah bahwa ada ganda / tiga kali lipat dari tindakan tertentu, misalnya "posisi diatur".
Alasan ada kelipatan adalah bahwa tindakan ini benar-benar melakukan hal yang berbeda, tetapi untuk menjelaskan hal ini pertama-tama perlu untuk menjelaskan hirarki.
Q3D Tata Letak objek dapat dibangun ke hirarki menggunakan tindakan dalam "Hirarki" Bagian. Hierarki pada dasarnya pohon benda mengasuh satu sama lain, misalnya, kepala ke tubuh, menara untuk tank, roda untuk mobil. Anda dapat membuat objek anak-anak benda-benda lain yang telah memilih, atau membuat mereka orangtua dari objek lain Anda telah memilih, asalkan benda-benda yang Q3D jenis tata letak objek. Jika Anda menghancurkan orang tua, semua anak-anaknya akan hancur, jika Anda memindahkan orangtua, itu anak-anak akan bergerak dengan itu, jika Anda memutar / skala orangtua, itu anak-anak akan skala dengan itu. Ini adalah fungsi 3D sangat umum.
Mari kita coba parenting Model Q3D dalam adegan ke Q3D Point, dengan ini saya berarti membuat Q3D Model anak dari Q3D Point. Tambahkan "awal tata letak" kondisi, menambahkan tindakan untuk Q3D Model, "Perubahan Parent":
Tentu saja memilih titik Q3D untuk bidang "Object".
Sekarang kita melihat theres drop down di bawah ini untuk memilih untuk "Transform". Fitur ini pada dasarnya dimaksudkan untuk membuat sesuatu yang rumit lebih mudah ketika diatur ke "Ya". Jika Anda memilih "Ya", saat ini pos / busuk / skala objek yang mengasuh akan berubah sehingga muncul sebagai tidak berubah mungkin. Pada dasarnya itu akan orang tua sehingga hal-hal terlihat sama, namun ini hanya bekerja dengan sempurna sepanjang waktu jika orang tua adalah skala seragam (scalex = ScaleY = scalez). Jika Anda mengatur ini tidak ada, saat ini posisi / rotasi / skala menjadi posisi objek / rotasi / skala pada orang tua sistem koordinat, sehingga akan muncul untuk tumbuh / menyusut / pindah dll Mari kita tinggalkan ya.
Pratinjau proyek:
Ini terlihat tidak berubah.
Namun jika kita menambahkan suatu tindakan untuk memutar titik:
Pria itu akan berputar dengan titik, karena merupakan anak itu:
Mudah-mudahan ini menjelaskan bagaimana hirarki bekerja sedikit. Sekarang kita mengerti ini kita perlu memahami bahwa ketika suatu objek dalam hirarki, itu posisi / skala / rotasi menjadi relatif terhadap orang tua sistem koordinat. untuk alasan "posisi set" ini tidak akan melakukan hal yang sama sebelum dan setelah mengubah orangtua, dan pengaturan untuk katakanlah "0,0,0" akan mengaturnya untuk posisi orang tuanya, bukan asal dunia. Jika kita ingin mengaturnya ke posisi dunia "0,0,0" sementara parented ke objek lain, itu akan menjadi agak rumit, terutama dalam kasus hierarki besar. Untuk membuat hidup lebih mudah Q3D memiliki fungsi yang menangani ini untuk Anda. "Atur posisi (ruang dunia)" melakukan semua pekerjaan untuk memastikan terlepas dari hirarki bahwa objek akan diatur ke posisi dunia. "
Ada ekspresi untuk mengambil objek x, y, z posisi di induk sistem koordinat (self.x, self.y, self.z) dan ekspresi untuk mengambil objek x, y, z posisi di dunia sistem koordinat (self .xw, self.yw, self.zw).
Ada juga ekspresi tambahan untuk mengambil komponen ruang dunia dari normalisasi lokal x, y, vektor sumbu z. Pada dasarnya ini memberikan dunia dinormalisasi x, y, z komponen dari / hijau / garis helper sumbu biru merah. Mereka berada di bagian "menunjuk" ekspresi.
Mereka memiliki nama yang agak aneh dan menggunakan BNT daripada XYZ untuk membuatnya sedikit lebih jelas daripada memiliki NXX NXY dll (Binormal, Normal, Tangent adalah nomenklatur yang digunakan dalam kalkulus vektor / linear aljabar untuk menunjukkan himpunan ortonormal dari tiga vektor, dan di sini mereka sesuai dengan X lokal, Y lokal, vektor Z lokal).
Sebuah review yang baik dari konsep linear aljabar, vektor, dan trigonometri akan selalu membantu Anda dengan pengembangan game 3D. Luangkan waktu sejenak untuk melihat lebih ekspresi sekarang, yang paling harus jelas.
Ada beberapa tindakan yang berbeda untuk mengontrol rotasi. Beberapa dari mereka adalah diri jelas (sudut Euler / sudut sumbu). sudut Euler pada dasarnya satu set 3 sudut dan urutan rotasi, dengan obyek berputar dengan jumlah yang ditentukan dalam urutan tertentu (order harus string seperti "XYZ", "XZY" dll) angle Axis menerima "poros" dan "sudut" dan menetapkan obyek rotasi ke rotasi ditentukan oleh rotasi dari posisi netral dengan nilai sudut sekitar sumbu.
Berputar di sekitar (ruang lokal)dan berputar di sekitar (ruang dunia) memutar objek di sekitar sumbu yang ditentukan oleh jumlah tertentu, namun rotasi adalah aditif atas pengaturan rotasi saat ini, daripada Timpa mereka. Misalnya Anda dapat memutar sekitar beberapa kali dan rotasi melanjutkan dalam urutan logis, seperti rotate sekitar (1,0,0) oleh (90 derajat) maka sekitar (0,1,1) oleh (45 derajat). Berputar di sekitar lokal menggunakan sumbu didefinisikan dalam hal objek X lokal, Y, Z koordinat, dan memutar di seluruh dunia dalam hal vektor dengan komponen di dunia sistem koordinat, terlepas dari hirarki atau rotasi saat ini.
Lihatlah (ruang induk)dan melihat (ruang dunia) menunjuk benda sumbu Z lokal terhadap titik tertentu baik dalam dunia atau ruang induk. Orientasi objek dalam menunjuk tergantung pada "vektor up". Vektor up dapat diatur dengan set 'up' vektor. vektor up mendefinisikan "up arah" bahwa sumbu y lokal akan mencoba untuk menyelaraskan ke. ini mungkin terdengar sedikit membingungkan sehingga diagram berikut menggambarkan hal itu:
 
Pada dasarnya, titik-titik Z sumbu lokal untuk target, dan sumbu Y dipilih dengan memastikan Z sumbu dan up vektor berada di pesawat dengan itu, pada dasarnya dengan memilih sumbu X lokal yang ortogonal ke atas dan z vektor, dan kemudian lokal y vektor sumbu ortogonal ke x lokal dan vektor z sumbu lokal. Semua ortogonalitas ini mungkin terdengar membingungkan, tapi benar-benar proses ini memilih target, dan kontrol vektor up cara kerja menunjuk, pada dasarnya dengan cara yang sama perbaikan tripod yaw, pitch, dan roll kamera. yang "tripod" adalah 'up vektor' di dunia atau orang tua ruang dan "kamera" (objek 3D kami dalam hal ini) poin terhadap target yang ditetapkan dalam dunia atau orang tua ruang:
Skala dikendalikan melalui satu tindakan, skala set (ruang lokal). Tindakan ini menerima nilai-nilai untuk mengatur timbangan badan, dan cukup jelas. Ada tambahan tindakan / kondisi untuk menyesuaikan matriks Model tapi ini cukup canggih dan orang-orang yang tahu bagaimana menggunakan matriks model yang seharusnya tidak memiliki kesulitan memahami.



1,7    Dasar-Dasar kamera
Dengan dasar-dasar kontrol posisi tertutup, sekarang mungkin untuk beralih ke menggunakan dan memanipulasi kamera. Pada V2.4, kamera dikendalikan menggunakan Q3D Guru. Hal ini mirip dengan bagaimana "menggulung" dikendalikan menggunakan objek sistem di C2. Namun perlu dicatat tentu saja, gulir sama sekali tidak berpengaruh pada kamera Q3D, karena mereka hidup dalam Q3D, dan tidak dalam tata letak C2. Dalam kamera depan dapat dikendalikan oleh sebuah plugin terpisah, namun sistem saat ini memungkinkan untuk fleksibilitas dan pengoperasian yang mudah dengan beberapa viewports, serta mencegah masalah penggunaan aneh.
Q3D memungkinkan untuk penciptaan beberapa kamera bersamaan, dan memungkinkan untuk banyak penyesuaian untuk pengaturan kamera, dari mengendalikan frustum perspektif dan pengaturan proyeksi ortografi. Meskipun kamera diakses melalui Q3D induk, mereka memiliki banyak posisi yang sama / tindakan rotasi / ekspresi sebagai obyek tata letak Q3D.
Kamera dimodifikasi oleh "memetik" mereka dengan Q3D tuan menggunakan "memilih kamera" tindakan dalam Q3D Guru. Ketika kamera telah "diambil" oleh tindakan ini, posisi / rotasi / menetapkan kontrol mempengaruhi "memilih" kamera. Kamera dapat dipilih untuk penyaji utama dengan menggunakan Q3D tuan tindakan "kamera untuk membuat", dan menulis nama kamera untuk digunakan. Bila menggunakan Q3D viewport, kamera yang dipilih per viewport dan "kamera untuk membuat" pengaturan tidak terpakai. Kamera default yang Q3D dimulai dengan memiliki nama "Default", tapi kamera tambahan dapat ditambahkan dengan "Add Camera". Perhatikan bahwa kamera baru ditambahkan tidak dijemput secara otomatis untuk apa-apa, mereka hanya dibuat untuk masa depan akses / modifikasi / digunakan. Beberapa kamera dapat berguna untuk berbagai tugas, Namun dalam kebanyakan kasus itu sudah cukup untuk bergerak satu. Mereka hanya benar-benar diperlukan jika render bersamaan diperlukan.
Sebagian besar tindakan kamera utama jelas diri. Kamera membuat apa sepanjang sumbu Z mereka, sehingga "Lihatlah" membuat titik kamera menuju titik tertentu seperti yang diharapkan. Kamera dapat ditukarkan antara perspektif render dan mode render ortografi dengan dua tindakan "mode ortografi" dan "mode perspektif". Pengaturan kamera khusus untuk frustum yang (area pandangan kamera) ditetapkan melalui "pengaturan frustum", sebuah tindakan di mana pesawat dekat / jauh dari kamera frustum, serta aspek rasio (lebar dan tinggi) dan bidang pandang dapat diatur.
Sebuah gambaran dari frustum kamera, daerah antara pesawat adalah apa yang terlihat, segala sesuatu yang lain terpotong pergi dan tidak diberikan / sepenuhnya diproses:
http://www.lighthouse3d.com/wp-content/uploads/2011/04/vf.gif
Kamera menggabungkan frustum pemusnahan, yang pada dasarnya berarti benda yang tidak dalam frustum yang tidak diproses sepenuhnya atau diberikan. Fungsi ini dapat dinonaktifkan per objek dengan tindakan "mengatur objek frustum pemusnahan" yang tersedia di banyak plugin tata letak Q3D.
posisi kamera dapat dikontrol dengan mudah, namun mendapatkan perilaku kamera bagus adalah tugas yang kompleks yang cukup permainan tertentu. Untuk alasan ini yang terbaik adalah salah satu memandang berbagai contoh yang tersedia yang menunjukkan berbagai setup kontrol kamera, dan menyalin / memodifikasi mereka seperti yang mereka lihat cocok untuk permainan mereka. Pemula mungkin mengalami kesulitan memahami bagaimana untuk memanipulasi kamera sehingga contoh yang sangat dianjurkan.



1.8    Dasar-dasar pencahayaan
Pencahayaan dan bahkan bayangan di Q3D dapat dicapai melalui penggunaan objek Q3D Cahaya dengan Model Q3D. Bagian ini akan mengharuskan Anda untuk membuka contoh dikemas "LightingBasics.capx". Kita akan menyelidiki berbagai jenis cahaya dan fitur mereka, serta dasar-dasar cara membayangi bekerja di Q3D.
Jadi mari kita membuka "LightingBasics.capx":
Adegan dimulai tampak seperti ini, itu pada dasarnya pengaturan sederhana primitif pada tanah pesawat. Anda dapat melihat beberapa fitur kami belum berbicara tentang belum dalam proyek ini.
Terutama di layout editor salah satu Model Q3D disebut "tanah" memiliki "Editor Rep." dari jenis "LayoutIcon". Semua ini dilakukan adalah menggunakan animasi disebut "LayoutIcon" jika ada untuk membuat grafis dalam editor. Ini hanya untuk memvisualisasikan hal-hal dan membuat mengejek keluar tingkat lebih mudah.
Fitur lainnya adalah bahwa Model Q3D memuat nama file dengan ".geom" ditambahkan. Hal ini tidak benar-benar file-jenis atau sesuatu seperti itu, itu bahkan tidak file !. Q3D Guru memiliki kemampuan untuk menghasilkan primitif geometri dengan tindakan di bagian "GEOMETRI". primitif geometri ini diberikan nama, namun untuk menggunakannya dengan Q3D Model, kita menambahkan ".geom" ke akhir nama mereka. Q3D kemudian akan menunggu geometri dengan nama yang akan dibuat, dan secara otomatis akan memuat ketika itu ada, dengan cara yang sama kerjanya saat men-download model. Sangat penting untuk dicatat Namun bahwa ".geom" TIDAK file dan TIDAK sedang didownload, itu dihasilkan oleh Q3D Guru dan menambahkan ".geom" hanyalah sebuah cara untuk memberitahu Q3D Model "hey menggunakan geometri yang dihasilkan dengan nama ini, atau menunggu untuk itu".
Dalam kasus apapun, luangkan waktu sebentar untuk menjalankan proyek dan bermain-main dengan kamera (klik untuk menyeret), melihat lebih peristiwa, dan perhatikan cara sistem koordinat diatur (Z + akan turun, dan lantai dan benda-benda dapat dikatakan pada bidang XY). Jadi pada dasarnya layout editor memberikan kita "Top Down" pandangan hal.
Pengaturan awal Q3D Guru juga telah berubah sedikit, kita sudah dimatikan penolong grid dan mengubah modus kamera awal untuk "perspektif" daripada "ortografi". Warna latar belakang juga telah berubah dari hitam murni untuk warna keabu-abuan. ada berbagai fitur lain yang tidak akan dieksplorasi dulu, tapi saya ingin menarik perhatian Anda ke poin penting sekarang, jadi silahkan pilih Q3D Guru dan melihat properti:
Ada sifat yang disebut "bibit cahaya". Sampai sekarang kita belum mengkhawatirkan lampu namun kita telah bekerja dengan hal-hal diterangi oleh satu sepanjang waktu ini. Secara default Q3D Guru menelurkan cahaya arah dalam posisi tertentu yang cocok dengan "palsu" cahaya directional dalam editor tata letak saat menggunakan "berbayang" representasi. cahaya directional ini melahirkan di awal jika "Spawn Cahaya" diatur ke ya sehingga hal-hal yang kita kerjakan terlihat bahkan jika kita tidak repot-repot untuk menambahkan cahaya belum. Kami tidak memiliki kontrol atas ini lampu posisi atau fitur bagaimanapun, jadi itu hanya benar-benar digunakan di awal. Sekarang bahwa adegan kami sudah diatur, dan kami ingin mulai menambahkan lampu sepenuhnya dikontrol kita dapat pergi ke depan dan mengatur ini tidak ada, karena kita tidak perlu atau ingin cahaya mulai lagi.
Jadi kami adegan sebelumnya menyala sekarang gelap gulita, kecuali untuk latar belakang. latar belakang tidak peduli dengan kehadiran lampu atau tidak dan karena itu abu-abu kita bisa melihat siluet adegan kami sebelumnya melawan itu. Jika Anda memiliki latar belakang hitam itu hanya akan terlihat benar-benar hitam. Jadi seperti yang Anda lihat, tanpa cahaya, benda dengan bahan shadeable yang gelap (jelas, tetapi sesuatu yang Anda tidak menyadari segera bila Anda telah bekerja dengan cahaya sepanjang waktu) Jika Anda menggunakan "Basic" materi, yang tidak peduli lampu dan selalu penuh menyala, itu akan terlihat sama dengan atau tanpa lampu. Tetapi model ini semua menggunakan phong jadi ini terjadi.
Ok, jadi sekarang kita dapat pergi ke depan dan menambahkan Q3D Cahaya ke TKP. Tempatkan di mana saja untuk saat ini:
The Q3D Cahaya tampak seperti berlian putih kecil sekarang. Tampilan Cahaya di editor adalah sama dengan tampilan objek debug cahaya di tempat kejadian. tampilan juga berubah tergantung pada jenis cahaya itu dan apa warna cahaya. Untuk memulai mari kita jalankan adegan dengan cahaya default ini dan melihat apa hal-hal seperti:
Ok jadi hal-hal yang menyala sedikit sekarang, tapi tidak terlalu banyak. Alasan untuk ini adalah bahwa sekarang kita memiliki cahaya titik yang tidak sangat terang. titik lampu tidak menerangi adegan hampir sebanyak lampu lain karena kekuatan mereka jatuh dengan kuadrat jarak, tapi tidak pernah diingat bahwa untuk saat ini. Mari kita kembali ke editor tata letak dan klik pada cahaya titik untuk memeriksa itu sifat:

Ada cukup banyak properti yang tersedia untuk Q3D Cahaya, tetapi beberapa harus tampak akrab, setidaknya pertama 7.

Properti di "General Properties" yang persis sama dengan yang untuk yang lain Q3D Tata Letak benda seperti Q3D Model dan Q3D titik yang telah kita lihat.

Ada juga fitur untuk mengubah "Debug" dan mematikan. Debug ini tentu saja berlian 3D yang kita lihat dalam posisi cahaya ketika kami berlari proyek. Debug hanya dimaksudkan untuk debugging sehingga harus dimatikan dalam proyek akhir. Ini tidak dioptimalkan untuk kecepatan, dan itu hanya dimaksudkan untuk memvisualisasikan objek. Biasanya lampu tidak terlihat atau melekat pada sesuatu. lampu diri mereka hanya memiliki efek yang terlihat, tapi tidak keberatan yang dapat dilihat jika debug off. Dalam kebanyakan kasus lampu melekat hal-hal lain seperti "lampu" model, dll

Hal lain yang penting untuk diingat adalah bahwa karena Q3D menggunakan renderer ke depan, jumlah lampu adalah dukungan pada satu waktu terbatas. Q3D Lights memodifikasi semua program shader dalam proyek ketika mereka diciptakan atau dihancurkan, sehingga ada terlihat jeda kapan saja Anda membuat menghancurkan lampu. lampu terlihat bagus tapi selalu menjaga fakta Anda tidak harus memiliki banyak dari mereka atau membuat dan menghancurkan mereka selama bermain game dalam pikiran, bahkan jika Anda bisa. Bekerja di sekitar keterbatasan ini terserah desainer, dan prosedur umum adalah untuk menciptakan semua lampu yang Anda perlukan di awal, dan membuat lampu yang harus "off" tak terlihat atau memiliki intensitas nol daripada menghancurkan mereka dan menyebabkan jeda sebagai shader membangun kembali. Anda juga dapat mengaktifkan lampu "pada" dari "off"
Lampu keren, tapi selalu menjaga keterbatasan desain ini dalam pikiran. Beberapa trik yang juga bisa digunakan adalah untuk memiliki kolam berputar lampu jika Anda membutuhkan mereka untuk sesuatu seperti berkedip pistol yang hanya muncul sebentar adalah untuk "posisi kemudian menghidupkan" lampu di bagian atas kolam renang ketika Anda perlu pistol untuk flash, dan memindahkan mereka ke bagian bawah kolam berputar setelah Anda melakukan ini. Ada beberapa contoh yang menunjukkan ini tapi kita sudah di depan diri kita sendiri.
Untuk saat ini mari kita lihat jenis cahaya yang berbeda yang tersedia. off pertama memungkinkan bergerak cahaya untuk posisi tertentu. Mengatur posisi x dan y untuk 250.250 dan "posisi z" properti untuk -200, kemudian jalankan adegan lagi:
Cahaya adalah sedikit lebih dekat dengan segala sesuatu sekarang di tengah adegan mengambang di atas 200, Jadi semuanya tampak jauh lebih cerah. Lihatlah "Properties Cahaya" bagian: Sebagian besar sifat ini berlaku untuk semua lampu, namun beberapa seperti "falloff jarak" hanya berlaku untuk beberapa lampu. Hal ini sangat tergantung pada jenis. Mari kita coba mengubah warna hijau, dan falloff jarak ke 200:
Sekarang kita lihat tampilan tata letak:
Lampu sekarang hijau, warna kami memilih, dan garis putus-putus muncul untuk menunjukkan jarak falloff.



Mari kita menjalankan proyek dan melihat:
Whoa itu sedikit tak terduga! Ini adalah fitur lain dari objek men-debug: Ini menunjukkan falloff jarak "lingkup" untuk titik lampu (atau "cone" dalam kasus lampu sorot). Hal ini berguna untuk memvisualisasikan daerah yang terkena cahaya, tetapi dapat dimatikan dengan mematikan "Debug". Seperti yang kita lihat, semuanya tidak dalam lingkup yang dibentuk oleh jarak falloff benar-benar hitam, dan pencahayaan sekarang hijau. Intensitas cahaya dapat diperkuat / dilemahkan dengan mengubah intensitas untuk sesuatu yang lebih besar / kecil dari 1 masing-masing. Intensitas 0 membuat cahaya sama sekali tak terlihat.
Kami telah melihat cukup banyak semua ada berkaitan dengan titik lampu, jadi lanjutkan dan mengubah jenis ke Ambient:
Ikon di tampilan tata letak sekarang harus terlihat seperti ini, dan perhatikan jatuh dari lingkaran hilang. Jatuh tidak mempengaruhi lampu ambient, karena mereka menerangi hal secara global. Bahkan posisi dari cahaya ambient tidak masalah sama sekali, dan Anda akan hanya benar-benar merasa perlu satu jika Anda menggunakan salah satu:
Pergi ke depan dan menjalankan proyek lagi sekarang untuk melihat apa yang lampu ambient terlihat seperti:
?? hijau semuanya Nah ya, thats apa lampu ambient lakukan. Ingat bagaimana adegan itu benar-benar hitam sebelum? Lampu Ambient mengubah "ambient" warna, namun mereka tidak benar-benar teduh hal karena mereka menganggap semua piksel sama-sama menyala Anda menggunakan ini ketika Anda ingin "dibayangi" bagian dari objek untuk terlihat lebih cerah, dan menjadi warna yang ditentukan. Jika kita menyalakan lampu menelurkan Q3D Guru kembali efeknya lebih jelas:
apa yang pernah hitam sekarang "hijau". Itu pada dasarnya semua ini jangan, jadi mari kita lihat jenis berikutnya cahaya: Directional (dan pastikan untuk menyalakan lampu bibit off lagi)
Ini terlihat seperti baru bukan? objek tampaknya telah diputar dan memiliki tali panjang yang mencuat dari itu. Hal ini karena lampu directional menunjuk ke arah posisi target dalam ruang 3D ketika Anda menempatkan mereka dalam tata letak. Coba seret cahaya sekitar dan Anda akan melihat bagaimana hal itu selalu "melihat" target. pastikan kembali cahaya di dekat posisi XYZ (250.250, -200) dan menjalankan proyek lagi:
Jadi ini adalah sebuah situs yang cukup familiar kecuali untuk warna kehijauan. Pencahayaan di sini adalah mirip dengan pencahayaan yang kita dapatkan dari cahaya menelurkan: seragam menyala dari satu arah. lampu directional bertindak semacam seperti "matahari" sehingga tidak begitu banyak posisi mereka yang penting dalam mengubah bagaimana pencahayaan terlihat, karena arah mereka. arah mendefinisikan apa arah "matahari" akan datang dari, dan semua benda yang menyala seakan ada cahaya di arah itu. Targetnya adalah hanya untuk membantu mengatur arah (dan posisi akan berguna ketika kita mulai bekerja dengan bayangan). Jika target adalah di lokasi yang nyaman, itu posisi dapat diubah dengan properti "Target"
Target menerima 3 koma dipisahkan nomor untuk x, y, z lokasi target. Mengubahnya menjadi sesuatu seperti 300,300,0 dan melihat bagaimana perubahan hal-hal:
Lampu sekarang menunjuk ke bawah ke arah posisi di ruang dunia. Itu pada dasarnya semua yang ada untuk mengetahui tentang lampu directional untuk saat ini (kami akan kembali kepada mereka ketika membahas bayangan) Mari mengubah jenis cahaya untuk "Spot" sekarang:
Lihatlah editor tata letak:
thats di whoa agak funky mencari, apa semua itu? Nah lampu Spot seperti lampu terarah dalam bahwa mereka menerima arah, tapi mereka juga seperti titik lampu di bahwa mereka memiliki jatuh dari jarak (yang sebelumnya kita set ke 200) ontop itu, karena lampu spot memiliki sudut kerucut mereka memiliki kerucut cahaya dengan topi bola yang mereka proyek daripada lingkup seperti titik lampu. Semua informasi ini, arah / sasaran / falloff sudut jarak / kerucut serta warna cahaya yang ditampilkan dalam representasi kita lihat di sini. Mari kita menjalankan proyek dan mencoba untuk membuat beberapa rasa dari itu:
Hal ini terlihat jauh lebih jelas. Ingat dalam editor kami memiliki pandangan atas ke bawah sehingga tentu saja bahwa gambar agak membingungkan. Mari kita mengubah pengaturan sedikit sebagai berikut:
Lihatlah editor tata letak lagi sekarang:
Kami dapat jenis melihat lebih baik apa ini mewakili sekarang. Lingkaran luar adalah jatuh dari jari-jari dan satu bagian dalam adalah tempat di permukaan jatuh dari jari-jari, mari kita menjalankan proyek dan melihat:
Ok, jadi sorotan cukup banyak bahwa: lampu spot! Itu membuat lingkaran kecil di lantai, tapi menyala tidak ada yang lain. Mari kita mematikan jarak falloff sepenuhnya (dengan menetapkan ke 0) untuk melihat apa cahaya tampak seperti tanpa debug falloff kerucut menghalangi itu:
Lampu sorot yang cukup berguna untuk hal-hal seperti lampu mobil, lampu jalan, dll Mereka namun jenis cahaya yang paling mahal karena mereka menampilkan banyak parameter. Anda mungkin menemukan spot sorotan terlalu tajam, ini dapat diubah dengan mengubah "falloff eksponen" parameter. Mari kita coba mengubah dari default 10 untuk sesuatu yang lebih besar seperti 100, kemudian menjalankan proyek:
Kita bisa melihat nilai yang lebih besar memberikan tempat lebih lembut, dan sebaliknya nilai yang lebih kecil memberikan tempat yang lebih tajam. Ini cukup banyak mencakup semua fitur utama dari sorotan (tidak termasuk yang berkaitan dengan bayangan pengecoran yang akan dibahas nanti) jadi mari kita pindah ke jenis berikutnya dan terakhir: lampu Belahan
Jadi tanpa penundaan lebih lanjut, mengubah jenis cahaya untuk Hemisphere:
lampu belahan adalah salah satu jenis cahaya sederhana, namun perilaku mereka agak sedikit aneh dibandingkan. Lihatlah editor tata letak:

lampu belahan mirip dengan arah dan tempat lampu di bahwa mereka memiliki arah yang mengubah bagaimana mereka menyalakan sesuatu, namun mereka hanya menunjuk ke arah asal bukan ke arah target. Alasan untuk ini adalah bahwa ini adalah cara mereka dirancang. Jika Anda memindahkan lampu belahan bumi di sekitar Anda akan melihatnya selalu menunjuk ke 0,0,0 tidak peduli apa.
Fitur unik dari lampu belahan bumi adalah bahwa mereka memiliki dua warna lebih dari satu. lampu belahan dasarnya bertindak sebagai satu set dari dua lampu arah menunjuk ke arah yang berlawanan, dan representasi dalam layout editor / debug memberitahu Anda dari apa yang membagi dua dari belahan imajiner mengelilingi tempat kejadian dengan dua warna cahaya yang berbeda dari cahaya berasal. Warna kedua dari cahaya belahan dapat dipilih dengan properti "Tanah warna":
kita akan meninggalkannya default merah muda. Mari kita menjalankan proyek sekarang:
                           
dapat kita lihat dari gambar ini bagaimana pencahayaan diatur, dua warna yang datang dari arah berlawanan. Cahaya ini mungkin tampak sedikit tidak berguna tapi tujuannya adalah untuk memiliki warna yang berbeda untuk cahaya yang datang dari langit vs cahaya yang datang dari tanah, untuk meniru kondisi pencahayaan seperti yang ditemukan saat langit berwarna biru yang tidak dapat dilakukan secara akurat dengan cahaya directional sederhana atau cahaya ambient.
Ini mencakup semua fitur utama dari lampu. Mereka memiliki berbagai tindakan yang mengubah semua parameter yang telah ditampilkan disini pada saat runtime. Selalu ingat catatan tentang menghindari menciptakan dan menghancurkan lampu pada saat runtime karena shader lambat membangun kembali yang harus diselesaikan.
Di masa depan mungkin ada rencana untuk menyertakan ditangguhkan render yang akan menghilangkan kebutuhan untuk menjadi sangat berhati-hati dengan penggunaan lampu, namun sistem seperti ini jauh dari yang dirilis (meskipun Anda dapat melihat versi percobaan itu di Q3D Guru , hanya bekerja di bawah kondisi tertentu dan akan crash jika faktor-faktor tertentu yang hadir, jadi saya tidak akan merekomendasikan menggunakannya!).
1,9    Bayangan dan Dasar-dasar Shading
Sekarang mungkin tampak aneh bahwa ada bagian yang sepenuhnya lampu, dan satu lagi dikhususkan untuk bayangan dan shading, namun alasan untuk ini adalah bahwa lampu dan bayangan sebenarnya dua tugas yang sangat berbeda untuk mencapai dalam komputer grafis. Q3D membuat proses pengaturan lampu yang bayangan relatif tanpa rasa sakit, namun ada "trik perdagangan" yang harus dipelajari, dan salah satu harus akrab dengan teknik shadow pengecoran Q3D menggunakan untuk secara efektif memanfaatkan sistem membayangi dan mendapatkan kualitas visual terbaik untuk biaya kinerja terkecil.
Untuk memulai kita akan harus memuat .capx premade lain untuk mendapatkan kita mulai. Semuanya file ini adalah sesuatu yang telah kita lihat sebelumnya sehingga seharusnya tidak ada kejutan besar. Jadi memuat file "ShadowBasics.capx" untuk mendapatkan kita mulai, .capx ini terlihat mirip dengan "LightingBasics.capx" dengan penambahan 3 lampu berwarna:
Kami akan membuat lampu ini bayang-bayang.
Langsung dari kelelawar Anda melihat ada 2 lampu spot (hijau dan merah) dan 1 arah cahaya (biru). Sementara proses untuk menyiapkan bayangan antara spot dan lampu directional sangat mirip, mereka tidak persis sama.
Sebelum kita mulai saya akan memberikan primer sedikit tentang bagaimana bayangan bekerja di Q3D. Ada banyak cara untuk mencapai bayangan rendering dengan grafis 3D, namun karena Q3D diarahkan digunakan di web dan mengoptimalkan kinerja dalam aplikasi web / game, menggunakan metode yang agak mencoba dan benar. Semua metode bayangan render memiliki kelebihan dan kekurangan, dan yang satu ini begitu terjadi untuk menjadi yang terbaik dalam kasus kami.
Q3D menggunakan metode yang dikenal sebagai pemetaan shadowyang mampu menghasilkan bayangan untuk kedua arah dan lampu sorot (namun untuk alasan kinerja titik lampu tidak dapat melemparkan bayangan). Pemetaan bayangan dicapai dengan menempatkan kamera bayangan pada posisi cahaya, dan rendering adegan dari sudut pandang kamera bayangan, melacak kedalaman permukaan kamera bayangan "melihat" melalui gambar itu diberikan. Setelah itu saat rendering adegan dari kamera utama, gambar yang diciptakan oleh kamera bayangan dibandingkan dan dikombinasikan dengan gambar utama untuk menentukan permukaan tidak terlihat oleh kamera bayangan, dengan memeriksa jika kedalaman mereka dari kamera lebih besar dari yang sesuai kedalaman permukaan kamera melihat pada saat itu, dengan cara ini dapat menentukan apakah sebuah pixel dalam bayangan atau tidak dari cahaya itu.
Tak perlu dikatakan proses ini mahal, dan melibatkan render adegan beberapa kali serta perbandingan mahal. Keuntungannya adalah bahwa kita dapat mengontrol benda-benda dapat melemparkan bayangan, dan yang objek dapat menerima bayangan. Kami juga dapat mengontrol resolusi peta bayangan yang digunakan, dan membatasi daerah yang dibayangi dengan cara yang terkendali untuk menjaga biaya komputasi rendah.



Yang mencakup dasar-dasar, jadi bagaimana ini semua berlaku untuk Q3D? Nah di Q3D langkah-langkah utama dalam mendirikan bayangan adalah sebagai berikut:
1.   Pilih mana objek dapat melemparkan dan / atau menerima bayangan

2.   Mengatur Directional dan / atau lampu Spot

3.   Mengatur Kamera Bayangan untuk lampu yang harus melemparkan bayangan.

4.   Tweak parameter bayangan untuk efek artistik / estetika yang optimal.
Itu saja, 4 langkah. Mari kita menerapkan mereka untuk adegan kami dari "ShadowBasics.capx":
Untuk memulai, mari kita memilih objek harus bayang-bayang, dan / atau menerima mereka (langkah 1.):
Melihat kejadian, tanah tidak akan pernah melemparkan bayangan karena itu datar, sedangkan benda-benda dalam adegan mungkin harus baik cor dan menerima bayangan karena mereka mungkin bayangan pada diri mereka sendiri (terutama untuk bentuk berputar):
Pilih Model Q3D disebut "tanah" dan gulir ke bawah daftar properti di mana Anda akan menemukan "Lighting Properties" bagian. Bagian ini mengontrol berbagai fitur yang berkaitan dengan bagaimana lampu / bayangan bekerja dengan objek / bahan untuk Model Q3D. Q3D Model adalah satu-satunya benda yang dapat melemparkan bayangan karena mereka adalah satu-satunya yang memiliki geometri adegan 3D. Menemukan "Bayangan" properti dan set ke "menerima" karena ini adalah apa yang kami katakan kami ingin untuk tanah:
Sekarang pilih Model Q3D disebut "Model" dan melakukan hal yang sama, kecuali pilih "Cast & Menerima" kali ini:
Ini adalah bentuk dalam adegan, dan kami katakan kami ingin mereka untuk melemparkan dan menerima bayangan. Sekarang kami telah menyelesaikan langkah 1/4 (Itu super mudah).
Langkah 2adalah untuk mengatur tempat / lampu directional, sesuatu yang telah kita lakukan di sini. Satu hal yang perlu diperhatikan untuk langkah ini, adalah bahwa posisi penting. Kamera bayangan ada di ruang 3D dan hanya bisa melihat area terbatas yang tidak akan seluruh daerah yang terkena cahaya. Aturan umum praktis adalah untuk menjaga volume shadow sekecil mungkin untuk efek terbaik, sehingga pintar untuk menempatkan lampu di posisi yang membantu mencapai hal ini. jadi sekarang kita melakukan langkah 2/4.
Langkah 3adalah langkah terpanjang, sekarang kita akan mengatur kamera bayangan untuk lampu yang kita ingin bayang-bayang. Kami akan melakukan cahaya yang satu ini pada satu waktu, jadi pastikan Anda mengikuti instruksi dengan seksama.
Cahaya pertama kita akan mengatur bayangan kamera adalah cahaya directional BIRU, jadi pilih. lampu Q3D memiliki bagian sifat yang disebut "Shadow Properties" gulir ke bawah dan lihatlah itu:
Yang pertama kami lihat adalah "Cast Bayangan", jelas jika kita ingin bayangan ini harus diubah ke ya:
Properti berikutnya adalah "Hanya Bayangan". Ini adalah sedikit membingungkan pada awalnya, tapi kita dapat memiliki (jika kita memilih demikian) untuk memiliki cahaya yang melemparkan bayangan tetapi tidak memberikan kontribusi apapun pencahayaan ke tempat kejadian, Biasanya kita tidak ingin ini jadi itu diatur untuk tidak.
3 Sifat berikutnya mengontrol frustum bayangan kamera. Apakah Anda ingat apa frustum adalah dari bagian kamera? Mendefinisikan volume yang kamera "melihat". Segala sesuatu di luar buku ini diabaikan. Pengaturan yang sebenarnya yang mengendalikan volume yang berbeda tergantung pada apakah kita memiliki tempat atau cahaya directional. Spot Lights memiliki "Piramida" frustum, sementara lampu directional memiliki "Kotak" frustum. The Box memiliki lebar dan tinggi (itu adalah kamera ortografi), sedangkan piramida memiliki sudut (itu adalah kamera perspektif). Pesawat-pesawat dekat dan jauh memiliki makna sama untuk kedua jenis frustum.
Jika debug adalah pada untuk lampu, pengaturan "Cast Bayangan" untuk ya akan membuat frustum bayangan kamera terlihat ketika proyek sedang berjalan. Mari kita menjalankan proyek sekarang dengan pengaturan saat ini (Ingat: kita hanya mengubah pengaturan untuk cahaya directional BLUE):
Perhatikan kotak oranye besar yang telah muncul, ini adalah bayangan kamera frustum, Apapun di luar volume ini tidak akan memiliki bayangan, bahkan jika diterangi oleh cahaya directional. Sebagai hal-hal yang bayangan yang cukup bagus, tidak ada benar-benar banyak tweaker untuk melakukan. Alasan untuk ini adalah bahwa volume shadow casting kecil dan digunakan dengan baik, sehingga peta bayangan tekstur adalah resolusi yang baik untuk daerah tertutup. Satu hal yang kita bisa memperbaiki adalah bahwa pesawat sejauh ini adalah benar-benar jauh. Ini mungkin tidak menjadi masalah bagi adegan ini, tapi bayangan dilemparkan terlepas dari apakah ada permukaan menghalangi mereka (mereka bisa melompat melalui dinding Anda tidak akan mengharapkan mereka untuk), jadi kami mungkin mendapatkan efek aneh jika terlalu lama dan bayangan tempat itu tidak boleh. Mari kita memperpendek kotak dengan mengubah pesawat jauh untuk 500 unit bukannya 5000:
Sekarang adegan terlihat seperti ini:
volume shadow cocok tepatnya ke daerah adegan, menawarkan hasil yang baik. Untuk saat ini kita sudah selesai dengan cahaya ini, tapi debug mungkin akan mengganggu jadi mari kita mematikannya sekarang ke lampu BIRU saja:
Mari kita sekarang mengatur bayangan untuk sorotan hijau. Proses ini sebagian besar sama, pilih, perubahan "bayang-bayang" untuk ya, dan mencoba menjalankan proyek:
frustum adalah cara terlalu besar, kita perlu menyesuaikan. Mari menyusut ke bawah untuk memiliki pesawat dekat 500, dan sudut adalah 90, sementara tempat memiliki sudut 30, jadi mari kita membuat bayangan sudut cam 30 aswell:
Kami pada dasarnya dilakukan sekarang. Perhatikan isu yang bayangan "bocor" dari sorotan. Ini adalah bug dalam versi saat ini dari three.js yang kemungkinan akan tetap dalam versi berikutnya. Untuk saat ini adalah yang terbaik yang bisa kita lakukan.
Proses untuk lampu merah hampir sama sehingga tersisa sebagai latihan untuk Anda lakukan jika Anda ingin yang melengkapi langkah 3/4.
Mari kita lanjutkan ke langkah terakhir 4. Saya akan menggunakan hanya cahaya biru dan mematikan bayangan untuk / yang merah hijau untuk meningkatkan kejelasan, jadi saya sarankan Anda melakukan hal yang sama, namun Anda tidak perlu.
bayangan mungkin terlihat sedikit terlalu gelap, atau terlalu terang tergantung pada apa yang Anda inginkan. Ini dapat diubah dengan mengubah "bayangan gelap" parameter untuk cahaya, secara default itu 0,5 sehingga memungkinkan mengubahnya ke 1:
dan preview adegan:
Bayang-bayang gelap gulita sekarang; ini adalah efek dari bayangan gelap. Nilai 0 sepenuhnya buram, 0,5 setengah transparan hitam, dan 1, penuh hitam.
Kita bisa melihat jaggies (tangga loncatan) dalam bayangan. Salah satu cara untuk memperbaiki ini adalah untuk meningkatkan resolusi peta bayangan. Namun ingat bahwa peningkatan resolusi memiliki biaya kinerja, dan mungkin mencegah bayangan dari bekerja pada beberapa perangkat keras jika Anda menggunakan nilai thats terlalu besar. Ini umumnya terbaik Anda menggunakan kekuatan 2 ukuran persegi, sehingga memungkinkan mengubahnya dari default 512.512 untuk 1024,1024 kekuasaan tertinggi berikutnya dengan memodifikasi "bayangan peta size" parameter:



yang jaggies kurang terlihat sekarang, dan bayang-bayang yang secara keseluruhan lebih tajam mencari. Masalah lain Anda mungkin telah memperhatikan jika Anda diputar pandangan sekitar, terutama pada icosahedron adalah bahwa bayangan "jerawat" terlihat, aneh mencari artefak lurik. Ini adalah disebabkan oleh masalah dengan bayangan diri yang kompleks. Ada parameter tweakable yang dapat digunakan untuk meringankan efek ini:
Close up dari "bayangan jerawat"

Ada parameter yang disebut "bayangan Bias" yang membantu meringankan masalah ini. Ia bekerja dengan mengimbangi "melihat / tidak melihat" cek oklusi oleh set "Bias". Dalam kebanyakan kasus tidak ada "terbaik" nilai untuk digunakan di sini, sehingga Anda hanya memilih apa yang Anda pikirkan terlihat baik. eksperimen saya menetap di nilai dari 0,005 menjadi cukup baik untuk meningkatkan membayangi:
Bias menunjukkan nyata "perbaikan" dari sebelumnya.
Itulah dasar-dasar bayangan. Ada tindakan tambahan untuk mengontrol jika Model Q3D cor / menerima bayangan, dan jika Q3D Lights bayangan cor dll Semua parameter yang dimodifikasi pada saat runtime dengan cara ini. Ada juga properti ekstra dalam Q3D Guru dari mematikan semua bayangan yang disebut "Shadow Maps". Anda juga dapat menggunakan Q3D Guru untuk membuat peta shadow pengguna memperbarui untuk kinerja yang lebih baik, menggunakan tindakan "perbaharui Bayangan" dan "Update Bayangan". Jika perbaharui diatur untuk tidak menyebut "Update Bayangan" update peta bayangan, seperti yang diharapkan.
Hal terakhir yang perlu diperhatikan adalah ada pilihan untuk mengubah modus filtering bayangan untuk meningkatkan kesetiaan grafis melalui aksi Q3D Guru "menetapkan jenis bayangan". Bayangan filtering adalah efek diterapkan pada peta bayangan untuk memberikan tepi halus misalnya, yang mensimulasikan "penumbra" efek. Menambahkan tindakan untuk memulai acara tata letak dan melihat:
Ada 3 pilihan: Basic, PCF, dan PCF lembut. Secara default PCF aktif, "persentase penyaringan lebih dekat" yang menghaluskan bayangan tepi. PCF lembut mirip, tapi lebih lembut dan lebih mahal (lebih sampel), dan dasar adalah yang tercepat, tapi memiliki jaggies yang paling terlihat (pada dasarnya mentah shadow data peta).
Ini mungkin untuk membuat jendela pengaturan grafis untuk memungkinkan pengguna untuk mengontrol filtering digunakan. Yang menyimpulkan porsi membayangi bagian ini. Sebagai penutup mari kita perhatikan bahwa bayangan diri adalah mungkin di Q3D:
Akhirnya kita hanya akan talke sedikit tentang shading. Kadang-kadang diinginkan untuk memiliki sebuah benda yang tampak halus, dan kadang-kadang diinginkan untuk memiliki sebuah benda yang terlihat faceted dengan shading datar:
Ada cara di Q3D untuk memilih antara dua pilihan ini, melalui "shading" properti di "Lighting Properties" bagian dari Q3D Model.
Kami pemberitahuan memperluas pilihan bahwa pilihan adalah antara "Default" dan "datar" daripada "halus" dan "datar". Alasan untuk ini adalah bahwa shading halus adalah properti yang dihasilkan oleh perangkat lunak pemodelan digunakan / model geometri. Jika model tidak memiliki normals halus untuk memulai dengan Q3D tidak dapat membuat objek terlihat halus, tetapi jika mereka normals yang ada, memilih datar akan mengabaikan mereka dan membuat model segi bukan dengan normals halus didefinisikan dari geometri





1.10    Q3D Dasar Guru Fitur
Bagian terakhir dalam bab Persiapan ini didedikasikan untuk Q3D Guru, dan beberapa fitur dasar dan fungsi kami belum dibahas belum.
Membuka "LightingBasics.capx" file lagi, kecuali kali ini kita akan bermain-main dengan Q3D Guru.
Satu pertanyaan umum pengguna tanyakan adalah "saya bisa menempatkan membangun objek di Q3D Guru adegan" dan jawabannya adalah tidak, namun apa yang bisa dilakukan adalah menempatkan membangun objek di atas atau di bawah Q3D Guru. Secara default Q3D Guru menciptakan WebGL HTML5 Canvas di atas kanvas membangun, jadi tidak menunjukkan bawahnya.
Hal ini dimungkinkan untuk membuat latar belakang transparan dengan menetapkan "BG Alpha" dari Q3D ke nilai kurang dari 1. 1 sepenuhnya buram, sedangkan 0,5 adalah setengah transparan, dan 0 sepenuhnya transparan. Sebuah latar belakang transparan akan menunjukkan sesuatu di bawahnya, sehingga ini dapat menarik / berguna dalam beberapa kasus.
Pengaturan default menempatkan Q3D kanvas di atas C2 kanvas bukan cara HANYA Q3D Guru dapat diatur namun. Ada sifat yang disebut "Render Mode" yang memberikan pengguna 3 pilihan yang berbeda:
Opsi default seperti yang telah kita bicarakan adalah "Infront". Unsur kanvas dibuat dan berlapis di atas C2 kanvas. "Di belakang" tidak persis sebaliknya, yang Q3D kanvas berlapis di bawah C2 kanvas. Di balik ini berguna ketika Anda ingin hal-hal seperti UI yang akan dibuat dalam konstruksi, sementara permainan Anda adalah 3D di kanvas Q3D, atau jika Anda ingin latar belakang 3D dalam permainan Anda misalnya. Satu-satunya hal yang perlu diperhatikan adalah bahwa dalam proyek konstruksi vanili, jika Anda menetapkan Q3D Guru untuk "Behind", Anda tidak akan melihat apa-apa, Anda hanya akan melihat putih latar belakang tata letak konstruksi, dan Q3D Canvas adalah di balik itu, sepenuhnya tertutup. Jika Anda ingin menampilkan Q3D kanvas, yang harus Anda lakukan adalah memilih lapisan dengan latar belakang dan mengatur "Transparan" untuk ya:
Dengan melakukan hal ini C2 Canvas sekarang dapat menunjukkan kanvas Q3D bawah, sementara setiap sprite / text object / etc. di C2 akan ditampilkan berlapis atas Q3D.
Final "Render Mode" pilihan adalah "Inside" yang sangat berbeda dari "Infront" dan "Behind" mode. Di dalam mengambil Q3D kanvas dan menjadikan itu untuk tekstur yang kemudian diterjemahkan ke dalam C2 seperti sprite. Dengan cara ini "dalam" adalah paling lambat dari "Render Mode" pilihan, namun memungkinkan untuk itu harus diberikan dalam membangun, sehingga Anda dapat menerapkan efek untuk itu, menutupinya dengan sprite menggunakan efek, mengatur transparansi, mempengaruhi dengan gulir, dll di dalam tidak dianjurkan karena masalah kecepatan dan fakta tekstur membuat tidak didukung oleh IE dan Firefox saat ini, tetapi selalu pilihan jika dua mode lainnya tidak memadai, atau jika Anda perlu fungsi ekstra memberikan dan tidak khawatir tentang kekurangan (misalnya jika Anda mengekspor ke Node Webkit).
Opsi yang tersedia berikutnya di Q3D Guru adalah properti yang disebut "Skala / Position", memungkinkan memperluas untuk melihat apa yang tersedia:
Autofit umumnya dianjurkan karena membuat hidup lebih mudah sehingga default, tapi kita melihat ada dua pilihan. "Skala / posisi" adalah properti yang mendefinisikan cara Q3D kanvas yang Scaled dan Diposisikan sebagai namanya. Biasanya kita tidak berpikir banyak ini, tetapi di balik layar ketika pengaturan ini di "Autofit" Q3D adalah mengubah ukuran kanvas dinamis untuk mencocokkan skala C2 kanvas dan posisi di halaman web. Lebar / tinggi dari objek dan posisi itu dalam tata letak biasanya diabaikan dalam kasus ini karena ini hanya mencoba untuk mengisi apa yang tersedia setiap saat. Jika kita mengatur ini untuk "Diposisikan" Q3D akan berhenti melakukan hal ini, dan sebagai gantinya akan posisi kanvas Q3D pada saat yang sama diimbangi itu adalah dari asal dengan sama relatif lebar / tinggi itu diberikan dalam editor tata letak, mengabaikan pengaturan C2 ini. Biasanya ini hanya benar-benar berguna ketika menggunakan "Di dalam mode" atau jika kita tahu kanvas C2 tidak dinamis rescaling. Ketika hal ini terjadi kita dapat membuat kanvas Q3D lebih kecil atau lebih besar atau offset sehubungan dengan kanvas C2, dan membuat hal-hal seperti UI bar bawah sementara render area yang lebih kecil. Secara umum dianjurkan bahwa "Autofit" digunakan karena membuat hal-hal lebih mudah, tetapi pilihan itu selalu ada untuk menggunakan "diposisikan" mode jika diperlukan.
"Anti-aliasing" adalah fitur yang hanya dapat diaktifkan melalui properti ini. Ini menghaluskan tepi bergerigi pada garis / poligon. Tidak ada tindakan untuk itu karena ini tidak mudah mungkin untuk mengubahnya selama proyek berjalan, sehingga anti aliasing adalah tetap pada startup dengan opsi pertama Q3D pertemuan.
"Shadow Maps" pilihan sudah tertutup, dan seperti yang dijelaskan, dimaksudkan untuk menonaktifkan semua pemetaan shadow jika diatur ke Off.
Opsi penyaji pada 2,4 hanya untuk mencoba mode eksperimental, sehingga tidak akan ditanggung oleh bagian ini. Hal ini cukup banyak wajib yang Anda gunakan WebGL sebagai penyaji karena tidak ada penyaji didukung benar lain pada saat ini, meskipun percobaan ditangguhkan membuat dapat dipilih di sini (kemungkinan bahkan tidak akan mulai kecuali kondisi membutuhkan terpenuhi oleh proyek).
BG Warna tentu saja menetapkan warna default adegan latar belakang. BG Alpha set adegan bawaan BG alpha.
properti pembantu Axis mengontrol apakah asal XYZ RGB pembantu muncul, dan Grid helper apakah XY plane jaringan muncul.
Kamera mengontrol apakah kamera bawaan dimulai dalam perspektif atau mode proyeksi ortografi.
cahaya bertelur seperti yang telah kita dijelaskan sebelumnya mengontrol apakah cahaya directional awal dibuat atau tidak, dan harus dimatikan setelah proyek memiliki lampu sendiri untuk digunakan.
Bingkai Lewati Ratio adalah fitur yang menarik, karena memungkinkan Anda untuk mengontrol persentase frame yang diberikan. nilai 1 berarti proyek tidak akan melewatkan setiap frame, 100% tersebut diberikan agar memberikan 60 FPS jika proyek tersebut tidak tertinggal. nilai dari 0,5 berarti 50% tersebut diberikan, sehingga memberikan 30 FPS, dll Anda dapat memilih nilai apapun dalam kisaran antara 0 dan 1, namun FPS konstan hanya dicapai jika seluruh jumlah FPS (sebuah divisi seluruh nomor dari 60 ) terpilih. Nilai ini dapat dimodifikasi dengan tindakan juga. Dalam prakteknya menggunakan itu terbatas tapi itu menarik untuk tahu itu ada jika diperlukan untuk efek artistik atau sebaliknya.
Properti yang tersedia terakhir adalah "Resolusi". Properti ini memberi dua pilihan, "Auto" dan "Gunakan Size". Auto secara otomatis memilih dan mengubah resolusi berdasarkan area jendela / kanvas tersedia, dan umumnya direkomendasikan, sehingga dipilih secara default. Gunakan Ukuran mengambil lebar / tinggi dari Q3D Guru dan menggunakan itu sebagai resolusi X / Y. Hal ini juga memungkinkan untuk mengatur resolusi dengan Q3D Guru tindakan "mengatur resolusi", namun jika "Auto" dipilih perubahan mendapatkan overwrited, sehingga "Gunakan Ukuran" harus dipilih jika Anda ingin mengontrol resolusi melalui tindakan.
Q3D Guru juga memiliki beberapa fitur yang kurang dikenal khusus tersedia melalui tindakan yang overs kiri dari versi sebelumnya, serta beberapa fungsi yang menarik dengan menggunakan canggih terbatas.
Beberapa tindakan menarik untuk dicatat adalah:
Foto: mengambil gambar saat Q3D kanvas gambar, dan kembali dengan "Q3DMaster.SnapshotURL" ekspresi.
Set Kabut:Kontrol kabut berwarna di kancah memilih yang dapat "fade" hal-hal yang mereka dapatkan jauh dari penampil, mirip dengan kabut dalam permainan tua dengan jarak imbang terbatas. Kabut membangun kembali semua shader seperti lampu lakukan dan diatur per adegan, jadi pastikan untuk tidak "memungkinkan" dan "menonaktifkan" itu pada saat runtime. Namun Anda dapat membuat kabut lemah untuk membuatnya terlihat tanpa jeda.
Coll. Pengaturan Grid:Pilih Model Q3D atau Q3D jenis objek yang mendukung tabrakan, dan mengatur ukuran hash spasial, serta mengaktifkan / menonaktifkan tampilan debug grid. Fitur ini sangat berguna jika Anda berpikir pengujian tabrakan memperlambat proyek Anda. Anda dapat melihat bagaimana ruang sedang dipartisi dan mengoptimalkan sistem sehingga membuat pemeriksaan lebih sedikit. Umumnya sel-sel jaringan harus cukup besar yang tidak terlalu banyak diciptakan, tetapi cukup kecil untuk memisahkan sebanyak obyek mungkin. Tweaker selalu berbeda per proyek.
Buat Cube Kamera:ini adalah fitur warisan, namun itu tidak ada persamaannya belum di versi. Anda dapat membuat Camera Cube yang dikendalikan oleh id-nya / nama, dan membuat adegan menjadi tekstur peta kubus menggunakan Perbarui Cube Camera.
Kamera untuk membuat & Scene untuk membuat: Pilih adegan dan kamera untuk membuat dengan dua tindakan tersebut jika tidak ada Q3D viewports dalam proyek untuk menimpa pengaturan.
Salah satu fitur utama dari Q3D program master adalah kemampuan untuk mengontrol kamera, yang sudah kita bahas, tetapi ada juga kemampuan untuk mengelola beberapa adegan bersamaan. Sejujurnya tidak banyak pengguna telah menggunakan fitur ini sehingga Anda mungkin mengalami bug dalam kasus yang jarang, namun melaporkan mereka umumnya akan menghasilkan perbaikan muncul dalam versi.
Anda dapat mengatur adegan banyak cara yang sama seperti yang Anda mengelola kamera, namun ada beberapa perbedaan. Anda membuat adegan bernama dengan "Add Scene" tindakan. Secara default Q3D selalu menciptakan adegan yang disebut "Default" yang dipetik. setelah Anda menambahkan adegan baru dengan nama baru, Anda dapat mengambilnya dengan "Pick Scene" sekali adegan diambil, semua hal berikutnya yang perlu adegan memilih adegan dijemput, jadi misalnya, Anda membuat objek dalam adegan dipetik, Anda membuat objek anak-anak dari adegan baru jika mereka Q3D Tata Letak objek dan Anda sebut "Perubahan orang tua untuk adegan", dan tindakan Guru Q3D yang memodifikasi sifat adegan seperti warna latar belakang / alpha / kabut semua khusus untuk adegan dipetik. Q3D viewports dapat membuat adegan yang berbeda dengan kamera yang sama,



2. Blender Pengekspor
2.1    Mengekspor Obj file untuk Q3D
Seperti disebutkan sebelumnya, Q3D dapat menggunakan Obj file untuk model. Blender dan banyak paket pemodelan mendukung format obj. Q3D dapat langsung men-download dan menggunakan Obj file, namun mereka terbatas dan tidak dianjurkan dibandingkan dengan jauh lebih fleksibel three.js format JSON. Ini hampir selalu ide yang lebih baik untuk mengimpor Obj ke dalam paket pemodelan dan mengekspornya ke .json, tetapi ada kasus yang jarang terjadi di mana Anda mungkin ingin menggunakan Obj mengajukan pula sehingga pengaturan dasar yang bekerja dengan baik diuraikan dalam bagian ini singkat .
Sejak blender dan three.js (dan dengan ekstensi Q3D) pergi tangan dan tangan, Semua mengekspor akan dilakukan dengan menggunakan eksportir Blender dan pengaturan, namun seharusnya tidak sulit untuk memahami apa apa di alat pilihan Anda jika Anda memilih untuk tidak menggunakan blender.
Ketika mengekspor Obj file untuk Q3D, memuat model Anda ke Blender, pilih apa yang Anda ingin mengekspor, kemudian pergi ke File> Export> Wavefront (obj)
Setelah mengklik ini Anda harus mendapatkan jendela ekspor baru di mana Anda dapat memilih direktori, nama file, dan pilih berbagai pilihan ekspor. Perhatikan bahwa Q3D hanya membaca model statis dari file .obj, dan membutuhkan normals / Uvs untuk tepat shading / texturing. Wajah harus Triangulasi atau mereka tidak akan muncul:



2.2    Instalasi three.js eksportir R71



2.3    Mengekspor .json model
Q3D V2.4 sangat merekomendasikan Anda menggunakan three.js JSON Model Format 3. Mengekspor ke format ini cukup sederhana dan cepat dan ada banyak tutorial online tentang cara untuk melakukannya untuk three.js. Setelah Anda memiliki three.js eksportir dipasang di blender dari bagian sebelumnya, Anda baik untuk pergi.
Jika Anda hanya mencoba untuk mengekspor geometri statis prosedur adalah sebagai berikut; pilih semua objek yang ingin Anda ekspor, kemudian pergi ke
File> Export> Tiga (JSON):
Anda akan diberi normal jendela ekspor blender di mana Anda dapat memilih pilihan nama file, direktori, dan ekspor. Pilih nama file dan direktori sesukamu, kemudian gulir ke pilihan ekspor dan membuat seleksi ini, perhatikan bahwa Anda dapat mengambil Normals / UVs jika model Anda tidak memiliki untuk mengurangi ukuran file / mengurai waktu yang sangat sedikit:
Jika Anda ingin bahan ekspor diatur dengan blender itu lebih rumit, dan akan tergantung pada apa yang sebenarnya Anda inginkan. Tekstur dapat "dihubungkan" dalam untuk "bahan Model" kemudian dimasukkan dalam file proyek di C2 dan akan secara otomatis men-download dengan model. Jika ini yang diinginkan Anda dapat memeriksa "Textures" dan "Bahan Face" atau "Bahan" tombol. Dalam C2 Anda harus mengatur "bahan-bahan model" untuk "ya" pada Model Q3D untuk menggunakan bahan-bahan diekspor, atau yang lain Q3D hanya akan menganggap Anda tidak peduli tentang bahan-bahan model dan ingin menggunakan sistem bahan Q3D, Anda mungkin harus bermain-main untuk menemukan apa yang bekerja untuk Anda:
Mengekspor Animasi lebih rumit dan tergantung pada jenis animasi yang ingin Anda ekspor. Untuk animasi morph Anda harus memilih "Morph animasi" dan ??? tidak tahu
3. Animasi Fitur
3.1    Q3D Sprite Animasi
3.2    Q3D Model Tekstur Animasi
3.3    Q3D Model Morph Animasi
3.4   Q3D Model rangka Animasi




4. Fisika dan Tabrakan
4.1    Built-in pengujian Tabrakan
4.2    Raycasting dengan Q3D Raycaster
4.3    Raycasting dengan Q3D Viewport
4.4    Fisika dengan Oimo



5. Trik Berguna
5.1    Bekerja dengan transparansi
5.2    Bekerja dengan lampu
5.3    Preloading & loader



6. Fitur Lanjutan
6.1    Q3D viewports
6.2    Parameter tekstur
6.3    Bahan Model
6.3    Ganti Model
6.4    Perubahan Jenis Bahan
6.5    .qfx Shaders & menggunakan seragam



7. Contoh?


Share:

1 comment:

  1. Bang QD3 Plugin ini berfungsi juga ga fitur nya di mobile?

    ReplyDelete

Popular Posts

Featured Post

Cara Menambahkan Iklan Admob Pada Aplikasi Android - Appybuilder / Thunkable / App Inventor

Cara Menambahkan Iklan Admob Pada Aplikasi Android - Appybuilder / Thunkable / App Inventor Untuk menambahkan iklan  Admob  pada aplikasi,...

Formulir Kontak

Name

Email *

Message *

Follower

statistics

Blog Archive

Popular Posts