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.
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.
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:
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?
Bang QD3 Plugin ini berfungsi juga ga fitur nya di mobile?
ReplyDelete