Bagaimana saya bisa menerapkan efek rumput jalan pintas?

22

Saya telah melihat beberapa tangkapan layar dari game seperti Rocket League dan FIFA:

Liga roket

Liga roket

FIFA

dan saya mulai bertanya-tanya orang akan mencapai efek rumput jalan pintas.

Apakah itu shader? Apakah itu geometri yang sebenarnya? Atau hanya paha depan bertekstur? Jika ada yang bisa mengarahkan saya ke suatu arah, itu akan sangat dihargai.

Daniel Holst
sumber
5
+1, pertanyaan yang sangat menarik. Saya akan membayangkan bahwa itu mungkin shader (geometri kemungkinan akan menyebabkan lag, paha depan bertekstur mungkin akan terlihat lebih datar) tetapi saya tidak sepenuhnya yakin.
Superdoggy
2
Dalam perender perangkat lunak biasanya dilakukan dengan pemetaan perpindahan dan banyak simpul. Setelah melihat lebih dekat tampaknya mereka menggunakan ini juga di sini, dengan LOD yang sangat pintar. Saya kira shader perpindahan sedang digunakan kemungkinan besar.
akaltar
Saya pikir mereka menggunakan pemetaan paralaks. Saya cukup yakin tentang itu di screenshot Rocket League.
Tara
@ Tartar ya saya pikir Anda benar tentang itu. Dan bagaimanapun mereka melakukan LOD itu 100% mulus
Daniel Holst
Saya akan mencoba untuk membuat ulang ini menggunakan shader dan tessellation.
Daniel Holst

Jawaban:

7

Anda mungkin ingin melihat teknik shading bulu. Inilah yang akan saya gunakan untuk jenis rumput ini, karena semakin pendek rumput semakin baik kinerjanya (lebih sedikit lapisan).
Pada dasarnya ini bekerja dengan cara melapisi permukaan yang sama beberapa kali secara bertahap: beberapa lapisan

masukkan deskripsi gambar di sini

Anda juga dapat mengubah offset horizontal untuk membuat rumput terlihat bengkok.

Martin Ciz
sumber
itu cukup menarik sehingga saya pikir saya bisa menyarankan untuk masuk lebih jauh ke dalamnya dimulai dengan artikel ini
Leggy7
2

Kemungkinan besar shader yang menggunakan Pemetaan Parallax Occlusion , yang menggunakan peta normal untuk kedalaman "palsu" dan bayangan dalam tekstur. Lihat DI SINI untuk contoh.

Sunting: Seperti yang ditunjukkan oleh @Leggy, kemungkinan besar itu adalah pemetaan perpindahan karena kaki tampaknya bergerak di antara rumput. Bagaimanapun, ini adalah semacam pemetaan ketinggian ketinggian :)

Bluk
sumber
Saya kira tidak, karena dalam kasus itu kaki tidak akan muncul di belakang daun. Pemetaan perpindahan terdengar bagi saya cara yang paling mungkin mereka lakukan ini
Leggy7
Saya pikir itu akan benar jika itu bukan rumput pendek, di mana Anda dapat "menurunkan lantai", dan jika saya ingat dengan benar, pemetaan paralaks lebih cepat untuk dihitung. Tetapi Anda mungkin benar, saya akan mengedit jawaban saya.
Bluk
2
Anda dapat menggunakan pemetaan oklusi paralaks dan menulis ke buffer kedalaman untuk menyumbat kaki dan kemungkinan besar teknik yang digunakan. Shader Uber melakukan hal yang sama dengan demo yang dapat diunduh. assetstore.unity3d.com/en/#!/content/39959
Seph