Membangun rumah

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Butuh banyak iterasi dan pengujian cepat di awal proses untuk membuat rumah ini menyenangkan dan menyeramkan, mudah untuk dijelajahi, dan sesuatu yang ingin Anda telusuri lebih dalam. Kami akan menunjukkan kepada Anda bagaimana kami memikirkan ruang tersebut dan membangunnya menggunakan paket untuk mempercepat pembaruan kursi individu dan seluruh ruangan menjelang akhir.

Mulai dengan layout 2D

Karena rumah ini merupakan mayoritas area yang dapat dimainkan dan satu karakter itu sendiri, kami ingin memikirkan dengan baik tentang bagaimana memastikan rumah tersebut tetap terasa nyata dan menyenangkan. Kami mulai dengan gagasan bahwa rumah tersebut harus berisi beberapa lelucon visual dan audio, lore, dan ruangan teka-teki yang rusak. Kami ingin pemain awalnya mendekati rumah dengan sedikit pengetahuan tentang apa yang terjadi, sambil belajar tentang apa yang terjadi pada rumah dan keluarga yang tinggal di sana saat mereka bermain.

Untuk menyeimbangkan semua elemen penting ini, kami mulai membayangkan lingkungan 3D dengan layout 2D! Dimulai dengan figuring out cerita utama, atau momen kunci yang kami ingin pemain alami, kami menggambar layout ruang tersebut, dan memikirkan bagaimana kami ingin membimbing pemain ke tempat yang kami inginkan sambil menjaga lingkungan yang terasa lebih besar dari kehidupan.

Draft awal tentang tampilan area yang dapat dimainkan dan lingkungan sekitarnya.

Setelah kami memiliki draft awal tentang layout keseluruhan, kami menggunakan terrain untuk dengan cepat mengatur perbukitan, danau, jalan, dan jalan masuk menuju rumah. Kami tidak peduli dengan kualitas visual dari demo saat itu, tetapi sebaliknya fokus pada berapa lama waktu yang dibutuhkan untuk mencapai rumah dan apa yang diperlukan untuk memberikan pemain sekilas tentang rumah dan kejadian di langit.

Konsep awal tentang bagaimana kami ingin pemain mendekati rumah. Untuk mendorong pemain agar ingin melihat lebih dekat rumah tersebut, kami menggunakan pohon untuk menghalangi pandangan mereka sambil tetap memberikan sekilas tentang rumah dan kejadian di langit.

Dengan menggunakan bagian sederhana serta aset Creator Store, kami dapat dengan cepat menambahkan konten yang akan membantu kami membentuk lingkungan, termasuk:

  • Membuat jalan berbelok agar pemain tidak dapat melihat sepanjang jalan.
  • Menambahkan pohon dengan area yang lebih padat di mana kami ingin membuat jelas bahwa pemain tidak dapat mengakses, bersama dengan area yang lebih tipis di mana kami ingin mendorong mereka untuk menjelajahi.
  • Mengangkat jalan masuk rumah sehingga ketika pemain mendekatinya, mereka harus mendaki. Ini memberikan rumah tersebut kehadiran yang lebih menakutkan.
  • Menempatkan kejadian raksasa di balik badai di langit sehingga pemain dapat melihat sebagian, tetapi tidak semuanya, sampai mereka mendekati rumah itu sendiri.
  • Menempatkan dan menentukan bentuk umum dari rumah yang akhirnya kami pilih.

Tidak ada jumlah pengalaman yang menjamin bahwa ide pertama Anda adalah yang terbaik. Inilah mengapa kami memasukkan aset ke Studio dengan cepat dan menggunakan bagian sederhana serta aset Creator Store untuk mengisi lingkungan dengan aset sementara. Ini memungkinkan kami untuk tidak harus membuat semuanya di depan, dan kami dapat mulai melakukan pengujian permainan dalam beberapa hari pertama.

Versi paling awal menggunakan bagian sederhana dan Creator Store.

Meskipun kami ingin pada akhirnya mengganti aset sementara dengan aset kami sendiri, satu-satunya hal yang kami pedulikan di awal adalah menyusun dasar-dasarnya dan bermain dengan pengalaman untuk memastikan lingkungan itu menyenangkan untuk dijelajahi dan tidak terlalu besar atau terlalu banyak "jalur lurus" sehingga pemain didorong untuk menjelajahi.

Cuplikan awal dari pendekatan jalan masuk.

Rencanakan setiap ruangan

Eksterior hanya dimaksudkan sebagai cita rasa dari keseluruhan cerita untuk membenamkan pemain dan membuat mereka mengenal dunia yang mereka mainkan. Karakter utama adalah rumah itu sendiri, dan kami ingin pemain menghabiskan sebagian besar permainan mereka di dalamnya mencari rahasia dan menemukan kejutan di setiap ruangan. Untuk melakukan ini, kami perlu memikirkan ruangan mana yang harus ada di rumah, kapan kami ingin pemain menemui mereka, dan di mana mereka harus ada di dalam rumah. Kami menggambar layout 2D untuk rumah, dan tim membahas ide-ide untuk hal-hal menarik yang bisa terjadi. Tidak ada ide yang diabaikan pada titik ini.

Blueprint awal 2D dengan deskripsi tentang peristiwa menyeramkan yang ingin kami hadirkan di setiap ruangan.

Kami menggunakan kotak 2D dari setiap ruangan untuk memikirkan bagaimana kami ingin mengatur mereka satu sama lain. Setiap ruangan harus menjadi kesempatan untuk melakukan sesuatu, dan kami mengeluarkan banyak ide, termasuk penggunaan utama dari setiap ruangan, lelucon menyeramkan apa yang dapat kami gunakan untuk mengejutkan pemain, dan teka-teki potensial yang dapat mereka hadapi.

Setiap ruangan harus bekerja sama, dan kami ingin menceritakan cerita secara perlahan dan bertahap. Kami tahu kami tidak bisa mengontrol ke mana seseorang pergi terlebih dahulu, jadi kami merencanakan beberapa teka-teki yang lebih sulit berada lebih jauh dari pintu depan dan lebih sulit untuk ditemukan. Ini berarti menambahkan beberapa lantai ke rumah, termasuk attic dan basement untuk tujuan permainan dan tema. Teka-teki terakhir di basement yang terlihat jahat dan menakutkan? Daftarkan kami!

Bangun layout 3D

Semua perencanaan awal dan ide di dunia tidak menjadikan pengalaman menyenangkan, jadi sudah saatnya untuk mulai membuat ide itu menjadi 3D! Layout eksternal sudah diblokir dan kami membuat ruang untuk rumah itu untuk diperluas atau diperkecil. Iterasi awal dilakukan di aplikasi 3D lain di mana kami dapat membuat kotak sederhana dan bentuk untuk mulai mengubah gambar 2D menjadi ruang yang dapat dimainkan. Anda mungkin menemukan bahwa membangun versi awal di Studio dan menggunakan bagian sederhana adalah metode favorit Anda. Tidak ada cara yang salah, selama Anda cepat mendapatkan ide Anda ke 3D dan dapat dimainkan!

Pemandangan dari atas layout. Anda akan memperhatikan bahwa itu dibalik dari konsep.
Mesh abu-abu adalah mesh sederhana yang dapat Anda gunakan untuk mulai membangun ruang di 3D.

Tidak ada yang menjadi lebih mudah saat pekerjaan semakin kompleks, jadi penting bagi kami untuk sering bereksperimen dan menemukan struktur lingkungan yang ingin kami buat. Iterasi awal rumah sesederhana gambar yang Anda lihat di atas, dan bentuk sederhana memungkinkan kami untuk fleksibel mungkin dan dengan cepat mengubah ukuran ruangan sambil bermain melalui demo. Skala juga penting di awal, jadi kami selalu membangun dengan avatar baik di aplikasi 3D kami maupun di dalam Studio sehingga kami dapat tahu seberapa besar pintu atau seberapa tinggi langkah seharusnya.

Kami ingin baik karakter realistis dan blok merasa alami dalam skala dengan eksterior rumah.
Ketika mereka berada di dalam rumah, kami ingin segalanya terasa luas, tetapi tidak berukuran sangat besar!

Kami menjalani banyak iterasi kecil dan besar untuk menetapkan apa yang kami miliki di demo akhir. Bandingkan draft awal di atas dengan versi foyer yang jauh lebih akhir, dan Anda akan melihat banyak keputusan asli yang kami buat setelah bermain di dalam rumah dapat dipertahankan!

Iterasi kemudian dari layout rumah. Sebagian besar layout tetap sama seperti greybox awal!

Perabotan dan properti

Kami membutuhkan banyak perabotan dan properti untuk mengisi rumah sebesar ini, jadi sebelum kami mulai membuat grey box dari kontennya, kami membuat dokumen untuk melacak semua yang bisa kami gunakan yang akan melengkapi jenis ruangan yang ada dan teka-teki yang sedang kami proses dalam pembuatan. Dengan mencatat semua pemikiran kami di satu tempat, kami bisa mengorganisir, memprioritaskan, dan melihat di mana kami bisa menggunakan kembali konten di ruangan yang berbeda. Meskipun ini merupakan perencanaan di awal yang cukup, ini menyelamatkan kami dari membuat konten yang tidak cukup atau terlalu banyak barang yang tidak perlu.

Daftar ini memberi kami pemahaman yang baik tentang apa yang perlu diprioritaskan saat membuat grey boxing konten dan mempopulasikannya di seluruh rumah. Dengan menambahkan konten prioritas tinggi lebih awal, kami bisa dengan mudah melihat kapan aset berulang, memiliki proporsi yang salah, atau ketika mereka memerlukan variasi kedua atau pertukaran tekstur saat berada di ruangan tertentu. Beberapa konten yang kami blokir lebih awal pada akhirnya tidak penting untuk pengalaman dan dihapus, tetapi kami tidak kehilangan banyak pekerjaan dalam proses tersebut karena semuanya hanya cepat diblokir. Untuk semua perabotan dan properti yang kami simpan, kami menjadikannya sebagai paket dalam fase pemblokiran, dan ini memudahkan kami untuk mengganti semuanya di seluruh rumah dengan versi akhir mereka.

Versi awal yang diblokir abu-abu.
Versi konten akhir.

Karena jumlah aset yang dibutuhkan untuk demo ini, menggunakan kembali tekstur sebanyak mungkin sangat penting untuk menjaga anggaran memori kami. Banyak perabotan berbagi trim yang sama atau lembaran tileable untuk kayu, logam, batu, kaca, dan kain, dan kami memanfaatkan tekstur transparan di mana pun kami bisa. Misalnya, kami menggunakan tekstur transparan untuk kain sehingga kami bisa memiliki variasi warna tanpa harus membuat tekstur Albedo kedua. Untuk informasi lebih lanjut tentang cara menggunakan kembali tekstur, lihat Perencanaan, Penggunaan Kembali, dan Anggaran.

Empat tekstur yang kami gunakan kembali di beberapa ruangan.

Fotogrametri

Kami tahu kami memerlukan lebih banyak konten daripada waktu yang kami miliki untuk membuatnya sendiri, jadi kami memutuskan untuk mempercepat proses pembuatan konten berkualitas tinggi pada lembar tekstur 1:1 dengan memanfaatkan fotogrametri yang bersumber dari Creative Commons (CC0). Fotogrametri adalah proses menangkap ratusan gambar objek dari setiap sudut untuk membuat model berkualitas tinggi dengan proporsi yang akurat, dan model Creative Commons sebagian besar adalah model gratis yang biasanya bersifat edukatif yang dapat Anda gunakan dan/atau bagikan secara legal. Model-model ini dapat berkisar dari aset yang dipahat tangan hingga aset yang dibuat dari fotogrametri, dan bekerja dengan mereka dalam proses ini membuat kami bisa melewatkan langkah yang memakan waktu untuk menciptakan model resolusi tinggi yang detail.

Latar belakang cerita yang kami buat untuk keluarga menggambarkan mereka sebagai "pengumpul eksentrik" yang terlibat dalam praktik okultisme. Mereka telah mengumpulkan artefak dari seluruh dunia, dan kami ingin rumah tersebut dipenuhi dengan benda-benda yang mencerminkan cerita itu. Kami dapat memperoleh data scan dari konten museum CC0 untuk model seperti antik, patung, dan taksidermi, kemudian mulai pekerjaan pemetaan UV, retopologisasi, dan pemrosesan tekstur yang diperlukan untuk mengoptimalkan mereka untuk Studio.

Mesh data scan asli dengan tekstur Diffuse.

Pemetaan UV adalah proses pemodelan 3D untuk mengungkapkan mesh model 3D dan memproyeksikan gambar 2D ke dalamnya. "U" dan "V" mewakili sumbu tekstur 2D karena "X", "Y", dan "Z" mewakili sumbu model 3D. UV biasanya otomatis saat pemindaian dilakukan, dan biasanya dilakukan dengan buruk untuk tujuan pengembangan game. Misalnya, UV untuk model fotogrametri tertentu bisa tampak seperti sekumpulan bidang individual, tetapi ini tidak efisien untuk pengalaman mobile ketika kreator dibatasi hingga 10,000 verteks. Terkadang kami beruntung dengan data pemindaian, tetapi sebagian besar waktu kami perlu memperbarui atau benar-benar mengulang koordinat tekstur dua dimensi ini untuk tujuan pengalaman.

Data pemindaian asli dengan UV otomatis.

Selain itu, sebagian besar mesh dari model hanya akan menyertakan tekstur Diffuse dengan informasi pencahayaan yang dibakar ke dalam tekstur ketika model dipindai. Meskipun ini bisa berguna sebagai dasar untuk tekstur Albedo mesh, ini masih memerlukan pembersihan manual di mana kami perlu mengecat cahaya dan bayangan. Jika sebuah mesh memiliki pencahayaan arah yang kuat, itu mungkin terlihat aneh di mana pencahayaan dunia tidak cocok. Oleh karena itu, kami harus menciptakan kembali sebagian besar tekstur PBR untuk model yang kami gunakan dari konten museum CC0.

Tekstur data pemindaian asli dengan pencahayaan yang dibakar ke dalam diffuse.

Rendering berbasis fisika (PBR) adalah konsep menggunakan shading dan pencahayaan yang realistis dengan lebih akurat mensimulasikan dan mewakili material dan pencahayaan di dunia nyata. Itu penting bagi kami saat menciptakan tekstur PBR untuk tidak memiliki informasi pencahayaan yang dibakar ke dalam tekstur Albedo karena mesin Studio menghitung ini dari Pencahayaan Berbasis Gambar (IBL), selain menggunakan Normal, Roughness, dan nilai permukaan Metalness untuk dengan benar mewakili material dunia nyata. Sebagai perbandingan, tekstur Diffuse mungkin memiliki beberapa atau seluruh detail dari peta individual ini yang dipanggang ke dalam satu tekstur, yang membantu ketika Anda mungkin perlu tekstur Diffuse untuk membawa detail itu sendiri tanpa bantuan tekstur PBR atau IBL lainnya. Saat Anda memutuskan untuk menyimpan tekstur Diffuse atau membuat tekstur PBR Anda sendiri, pertimbangkan desain Anda sendiri atau batas anggaran memori untuk apa yang masuk akal untuk pengalaman Anda sendiri.

Mesh dari data pemindaian yang kami gunakan biasanya cukup baik, tetapi beberapa mesh perlu dibersihkan. Misalnya, beberapa mesh memiliki lubang bermasalah yang perlu diisi, tepi yang bergerigi yang perlu diperhalus, atau tepi tipis yang perlu d tebal. Untuk proses ini, kami menggunakan Zbrush untuk mengedit data pemindaian.

Catatan dari kiri ke kanan: Terlalu tipis dan bergerigi | Model keseluruhan perlu sedikit dihaluskan | Juga terlalu tipis dan bergerigi. Isi dan haluskan. | Isi lubang.
Mesh yang sama setelah kami membersihkan data pemindaian.

Proses ini tidak sempurna, tetapi dengan membersihkan model resolusi tinggi, itu sangat lebih mudah untuk secara otomatis atau manual melakukan retopologisasi mesh model. Retopologisasi adalah proses memodifikasi distribusi dan struktur tepi model 3D, dan untuk tujuan kami, retopologisasi memungkinkan tekstur bake yang lebih baik ketika membuat versi resolusi lebih rendah dari model resolusi tinggi. Model resolusi lebih rendah jauh lebih mudah pada kinerja, terutama di perangkat mobile, dan itu masih mempertahankan detail resolusi tinggi dari mesh dan tekstur.

Untuk retopologisasi manual atau otomatis, Anda dapat menggunakan aplikasi 3D pilihan Anda. Kami memilih untuk menggunakan 3DS Max untuk retopologisasi manual, dan Zbrush untuk retopologisasi otomatis menggunakan Zremesher atau Decimation Tool. Alat Zremesher memungkinkan kami melakukan retopologisasi otomatis untuk mempertahankan quads yang memerlukan jumlah verteks yang lebih tinggi untuk mempertahankan bentuk, sedangkan alat Decimation memungkinkan kami melakukan retopologisasi otomatis menggunakan segitiga dengan jumlah verteks yang lebih rendah namun tetap dapat mempertahankan bentuk.

Alat Zremesher di Zbrush.
Alat Decimation di Zbrush.

Terlepas dari rute otomatis yang bisa kami pilih untuk model/mesh kami, kami kemungkinan perlu melakukan pembersihan karena retopologisasi otomatis sangat bergantung pada mesh resolusi tinggi, bagaimana ia dibangun, dan algoritmanya. Kami cenderung memilih rute pengurangan dengan mesh tertriangulasi karena lebih penting bagi kami untuk memiliki jumlah verteks yang lebih rendah sambil tetap mempertahankan bentuk aslinya.

Overlapping dan topologi buruk menyebabkan kesalahan normal permukaan yang dapat terjadi saat retopologisasi otomatis. Ini perlu diperbaiki, jika tidak kami akan memiliki masalah mesh dan pencahayaan pada model.
Proses menggambar tangan pada wajah mengikuti normal permukaan resolusi tinggi.

Setelah kami menyelesaikan proses retopologisasi mesh dengan UV baru, kami perlu membakar dan mentransfer detail mesh resolusi tinggi dan tekstur. Marmoset memudahkan proses ini saat membakar peta mesh dan mentransfer semua tekstur asli dari model resolusi tinggi ke resolusi rendah, tetapi Anda mungkin menemukan alur kerja dan metode lain di aplikasi 3D lainnya yang bekerja lebih baik untuk Anda. Terlepas dari alat yang digunakan, pastikan semua tekstur asli pada model resolusi tinggi ditetapkan pada model saat membakar.

Menetapkan tekstur asli pada model resolusi tinggi ke model gagak saat membakar.
UV baru dan tekstur PBR berukuran 512 dengan pencahayaan yang dicat keluar.
Retopologisasi secara manual dengan tekstur yang ditransfer. Melakukannya secara manual berarti kami bisa mengontrol cara geometri mengalir dan di mana kami menghabiskan verteks. Sering kali ini adalah pilihan yang lebih baik, terutama ketika mesh resolusi tinggi terdiri dari banyak objek terpisah atau memiliki bentuk yang bermasalah.
Retopologisasi secara otomatis dalam aplikasi 3D. Melakukan ini secara otomatis menghemat waktu dalam membuat mesh resolusi rendah secara manual, tetapi pertukarannya adalah mesh dengan jumlah verteks yang lebih tinggi untuk mempertahankan siluet dan model yang lebih sulit dikerjakan saat membuat UV.

Setelah kami menyelesaikan Albedo, Normal, Metalness, dan Roughness PBR textures di Substance Painter, aset baru kami siap untuk diimpor ke dalam Studio! Ada beberapa perbedaan kualitas antara aset data pemindaian vs. aset retopologisasi, tetapi akhirnya itu adalah pertukaran yang berharga ketika aset hanya 1.000 verteks bukan 1.000.000. Ini juga menjaga anggaran memori kami tetap utuh dan memungkinkan pengalaman berjalan lebih lancar.

Data pemindaian gagak.
Aset dalam game yang retopologisasi secara manual.
Data pemindaian candlestick.
Aset dalam game yang retopologisasi secara otomatis.

Manfaatkan paket

Paket adalah sistem yang memungkinkan Anda menyimpan dan menggunakan versi dari baik objek tunggal atau sekelompok objek, dan ketika Anda memperbarui versi itu, itu memperbarui semua instance dari objek atau grup tersebut sekaligus. Misalnya, jika Anda membuat objek pohon dan menempatkan ratusan objek tersebut di dalam pengalaman Anda, Anda hanya perlu memperbarui paket agar ratusan pohon diperbarui ke versi baru Anda sekaligus. Kami tahu sejak awal bahwa kami akan memiliki dua keadaan dari sebagian besar ruangan di rumah, keadaan normal dan keadaan rusak, dan kami perlu memelihara kedua salinan rumah dan isinya sepanjang proses iterasi. Untuk alasan ini, kami memutuskan objek mana yang perlu dibagikan di setiap keadaan rumah dan mengubahnya menjadi paket.

Contoh paket untuk seluruh kamar tidur. Apa pun yang unik untuk keadaan normal atau rusak ada di luar paket ini.

Paket memungkinkan kami untuk memodifikasi segala sesuatu dari trim kayu pada panel dinding hingga seluruh ruangan, maka kedua keadaan ruangan akan diperbarui ke perubahan kami. Kami juga dapat mengubah objek SurfaceAppearance menjadi paket sehingga kami bisa memperbarui penampilan material di mana-mana di seluruh pengalaman sekaligus. Menggunakan kembali material sangat penting untuk membuat demo seefisien mungkin untuk perangkat meskipun dengan kompleksitas yang jelas.

Sebagai contoh, gambar berikut menampilkan paket model armillary dengan group anak aset yang kompleks, termasuk paket penampilan permukaan logam yang kami gunakan di beberapa tempat dalam demo. Di mana pun kami memperbarui paket penampilan permukaan logam, kami juga dapat melakukan pembaruan massal yang akan memaksa paket model armillary untuk memperbarui juga paket penampilan permukaan anak.

Aset Armillary
Paket Model Armillary
Paket Penampilan Permukaan Logam

Untuk informasi lebih lanjut tentang cara mengubah objek individu atau sekelompok objek seperti Models atau Folders menjadi paket, atau cara memilih pencipta paket untuk akses edit, lihat Paket. Kami memilih untuk menetapkan Vistech Demo Group sebagai pencipta semua paket kami karena itu memungkinkan semua orang dalam kelompok kami mengakses dan mengedit paket kapan saja mereka membutuhkannya. Ini juga memungkinkan kami untuk berbagi paket ini di setiap pengalaman yang dimiliki kelompok!

Kami mengatur paket induk, seperti armillary di atas atau seluruh ruangan, untuk secara otomatis memperbarui sehingga perubahan pada model atau folder secara otomatis dibagikan ke seluruh instance paket tersebut tanpa kami harus memeriksa secara manual. Proses ini memungkinkan kami membuat perubahan dengan lancar untuk setiap keadaan normal dan rusak dari ruangan. Misalnya, dua gambar berikut menunjukkan keadaan normal dan rusak dari ruang belajar yang dibuat melalui paket yang sama. Hanya beberapa item di luar paket mereka yang berbeda, bahkan mengingat bahwa keadaan rusak terbalik!

Menggunakan paket memungkinkan kami membuat dua versi dari satu ruangan, sambil hanya menangani konten satu.

Alih-alih bekerja sepenuhnya di file tempat yang sama dengan pengalaman, kami membangun tempat penyimpanan aset dengan semua komponen kami dengan tautan paket. Setiap kali kami melakukan perubahan pada paket di tempat penyimpanan ini, itu akan diperbarui secara otomatis dan segera di seluruh setiap tempat yang menggunakan paket tersebut. Kami bisa memodifikasi objek, menambahkan fungsi, dan mengerjakan detail tanpa harus berurusan dengan suasana dan pencahayaan pengalaman utama yang dapat membuat sulit untuk melihat apa yang kami lakukan.

Tempat penyimpanan aset dengan setiap komponen dalam demo.

Paket memberi kami lebih banyak kebebasan untuk menjelajahi berbagai ide dalam 3D tanpa harus melakukan banyak pekerjaan tambahan. Kami bisa merencanakan, menguji, atau bahkan kembali ke versi sebelumnya dari aset jika suatu eksperimen tidak berhasil dalam praktik atau merusak pengalaman. Ada banyak kali di mana jam kerja dikembalikan dengan kembali ke versi dalam paket. Pada akhirnya, kami tidak bisa mencapai tingkat penyelesaian akhir dalam demo ini tanpa paket.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.