Bài 2 - Địa hình- Bài giảng Cấu trúc dữ liệu và giải thuật | Trường Đại học Bách khoa Hà Nội

Unity ở các phiên bản gần đây không còn cung cấp sẵn cho chúng ta một số các texture và các tài nguyên khác cho việc thiết kế địa hình nữa. Chúng ta cũng có thể sử dụng các texture tự tạo hoặc tìm các terrain texture / terrain asset trên Unity Store. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

Thông tin:
10 trang 4 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Bài 2 - Địa hình- Bài giảng Cấu trúc dữ liệu và giải thuật | Trường Đại học Bách khoa Hà Nội

Unity ở các phiên bản gần đây không còn cung cấp sẵn cho chúng ta một số các texture và các tài nguyên khác cho việc thiết kế địa hình nữa. Chúng ta cũng có thể sử dụng các texture tự tạo hoặc tìm các terrain texture / terrain asset trên Unity Store. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

67 34 lượt tải Tải xuống
I 2 ĐA NH
1. TẠO ĐA HÌNH
Để tạo địa hình trong Unity, ta chn menu GameObjects | Create Others | Terrain
Chn Terrain va to, ta thy ca s Inspector như sau
Trong đó
Paint Terrain: Bao gm nhiu công c để th “vẽ” địa hình. Chng hạn như:
o (Raise / Lower Terrain): S dụng để nâng cao b mặt địa hình. S dng kết
hp với phím Shift để h địa hình
o (Paint Holes): S dụng để n các phn của địa hình. Công c này cho phép
to ra khong trống trong địa hình. th dùng để tạo hang động vách
đá
o (Paint Texture): V texture lên địa hình
o (Set Height): S dng phím Shift n vào một độ cao nào đó để ly mu,
sau đó ta có thể s dng công c này để nâng độ cao đến bng mẫu đó
o (Smooth Height): Làm mn b mặt địa hình, giúp địa hình các vùng lân cn
có độ cao tương đồng hơn
o (Stamp Terrain): S dụng để đóng dấu mt hình dng brush lên trên
Heightmap hin ti. Hu ích khi to mt brush tùy chnh bng cách s dng
Texture.
(Place Trees): Đặt cây lên b mặt địa hình
(Paint Details): Đặt các chi tiết nh như cỏ cây hoa lá lên b mặt đa hình
(Terrain Settings): Thay đổi các thiết lp của địa hình.
2. THIT K HÒN ĐO
Để làm quen vi các công c thiết kế địa hình ca Unity, chúng ta s tiến hành thiết kế mt
hòn đảo.
Dựng địa hình
Trước tiên chúng ta to ra một địa hình mi, vào Terrain Settings chn Terrain Width và
Terrain Length là 500 (tương đương với 500m x 500m)
Sau đó chúng ta s dng công c Raise / Lower Terrain, Smooth Terrain Paint
Height và to hình một hòn đảo dạng như hình vẽ ới đây
3. V TEXTURE
Unity các phiên bn gn đây không còn cung cp sn cho chúng ta mt s các texture
các tài nguyên khác cho vic thiết kế địa hình na. Chúng ta cũng thể s dng các
texture t to hoc tìm các terrain texture / terrain asset trên Unity Store.
Chn công c Paint Texture , n vào button Edit Textures và chn Add Texture…
Sau đó chúng ta lần lượt thêm vào các texture Grass (Hill), Good Dirt, Grass & Rock Cliff
(Layered Rock). Mục Normal map chúng ta để trng đây chúng ta không sử dng
Normal map. Chúng ta đ nguyên giá tr size ca texture (15, 15), tr Cliff (Layered
Rock) chúng ta chn size là (70, 70).
Ngay sau khi chúng ta vừa thêm vào texture đầu tiên thì toàn b đa hình ca chúng ta s
đưc ph texture đó. Vì địa hình ca chúng ta phn ln là c xanh nên để cho d dàng các
bn nên thêm texture Glass (Hill) đầu tiên.
Tiếp theo các bn chn texture Good Dirt để tô vào những vùng xung quanh hòn đo bng
Brush thích hợp. Lưu ý là các bạn có th chnh Brush size, Opacity và Target Strength ca
Brush.
Kết qu thu được tương tự như hình sau:
Tiếp theo, chúng ta s s dng texture Grass&Rock để v nhưng vùng núi cao, theo
ng là các vùng núi cao c s khó mọc hơn vùng đồng bng.
Cui cùng, chúng ta s dùng texture Cliff (Layered Rock) để v lên đnh núi cao nht.
Chúng ta có được một hòn đảo (tương đối) hoàn chỉnh như sau
4. ĐI DO QUANH HÒN ĐO
Như vậy hòn đảo của chúng ta đã tương đối hoàn tt. Gi chúng ta có th đi dạo mt vòng
quanh hòn đảo để kim tra những gì chúng ta đã xây dựng.
Chúng ta có th thay đổi v trí ca Main Camera để xem các góc khác nhau tại hòn đảo.
Các khác chúng ta th download mt gói character controller bt k (ví d Starter
Asset First Person Character) sau đó thêm prefab FPS Controller vào địa hình.
Chi tiết xem thêm ti Ph lc 1
-
ng dẫn cài đặt Starter Assets First Person Character
Controller.
5. ĐT Y
Chọn địa hình va to, n vào công c Place Tree
n vào Edit Trees… và chn Add Tree
Trong ca s Add Tree hin ra, n vào vòng tròn bên cnh mc Tree và chn mô hình cây
bt k. đây ta chọn hình Palm sẵn trong Terrain Asset. Ta cũng th thay đi
giá tr Bend Factor, là độ tác động của gió lên độ nghiêng ca cây (ví d: 2)
Việc đặt cây lên địa hình cũng tương t như vic v texture lên địa hình. Chú ý khi v
nếu zoom quá xa thì Unity s t động không hin th lên ca s Scene, do đó khi đặt cây
lên địa hình nên zoom vào mt khong cách nhất định
6. V CÁC C CÂY HOA LÊN ĐA NH
Chn công c Paint Details trong thanh công c của địa hình. Cũng tương t như v
cây, chúng ta th dùng công c này đ v các chi tiết nh như cỏ, hoa, lá… lên b mt
địa hình. Các chi tiết này s dng công ngh billboarding, thc cht các texture 2D
nhưng luôn quay v phía người chơi to cm giác 3D.
Tương t, ta n vào Edit Details… và chn Add Grass Texture.
Tiếp theo, ta chn Detail Texture Grass, chn màu sc Healthy Color Dry Color cho
phù hp vi màu sc của địa hình
Để c mc rải rác đồng thời cũng giảm thiu tiêu tn tài nguyên ca máy tính, ta nên
chn Brush thưa hơn khi v c lên địa hình. Tương t như khi v cây ci, Unity s không
hin th các chi tiết này tr phi chúng ta zoom vào tht gn.
7. SKYBOX
Chn menu Assets | Import Package | Skyboxes
Chn menu Edit | Render Settings… ca s Inspector n vào Skybox Material và chn
skybox phù hp
8. ÁNH NG
Địa hình ca chúng ta va to cnh ngoài trời, do đó chúng ta sẽ s dng Directional
Light để làm ngun ánh sáng chính cho khung cnh. Vi các loi ánh sáng khác chúng ta
cũng làm tương t.
Mặc định, khi to ra Project mới, Unity đã tạo ra mt Directional Light. Nếu chưa có, chúng
ta chn menu GameObject | Create Other | Directional Light
Ta có th chọn đối tượng ánh sáng này và rotate hướng ánh sáng cho phù hp. Mc dù ta
cũng thể thay đi v trí của đối tượng này nhưng vic này không tác dng trong game
vì ánh sáng chiếu ca Directional Light là ánh sáng song song.
9. NƯC
c, water thc cht chmt mt phẳng bình thường, tuy nhiên các hiu ng to bóng
b mt (shader) khiến cho nhìn vào có cm giác 3 chiu.
Để tạo ra nước để s dng trong Unity, th tìm trên Unity Asset Store vi t khóa
“water shader”. Đối vi các phiên bản Unity cũ hơn, Unity có tích hợp Basic water shader
trong Standard Asset.
Các bn download mt asset water shader bt k add vào Scene. Chnh v trí sao cho
độ cao y cao hơn mặt đất tâm đt ti chính giữa địa hình. Sau đó phóng to đối tượng
Water để bao trùm c địa hình.
Kết qu thu được như hình dưới
Luyn tp:
S dụng Unity Asset Store đ download các tài nguyên tĩnh như nhà cửa, đất đá, cây cối… để thêm vào mô
hình
Các tài nguyên trên store có th có t l không chun, các bn có th cn phi phóng to/thu nh để phù hp
vi khung cnh.
Tham khảo video hướng dn tạo địa hình https://www.youtube.com/watch?v=nCDGjLRecrs
| 1/10

Preview text:

BÀI 2 –ĐỊA HÌNH 1. TẠO ĐỊA HÌNH
Để tạo địa hình trong Unity, ta chọn menu GameObjects | Create Others | Terrain
Chọn Terrain vừa tạo, ta thấy cửa sổ Inspector như sau Trong đó •
Paint Terrain: Bao gồm nhiều công cụ để có thể “vẽ” địa hình. Chẳng hạn như:
o (Raise / Lower Terrain): Sử dụng để nâng cao bề mặt địa hình. Sử dụng kết
hợp với phím Shift để hạ địa hình
o (Paint Holes): Sử dụng để ẩn các phần của địa hình. Công cụ này cho phép
tạo ra khoảng trống trong địa hình. Có thể dùng để tạo hang động và vách đá
o (Paint Texture): Vẽ texture lên địa hình
o (Set Height): Sử dụng phím Shift và ấn vào một độ cao nào đó để lấy mẫu,
sau đó ta có thể sử dụng công cụ này để nâng độ cao đến bằng mẫu đó
o (Smooth Height): Làm mịn bề mặt địa hình, giúp địa hình các vùng lân cận
có độ cao tương đồng hơn
o (Stamp Terrain): Sử dụng để đóng dấu một hình dạng brush lên trên
Heightmap hiện tại. Hữu ích khi tạo một brush tùy chỉnh bằng cách sử dụng Texture. •
(Place Trees): Đặt cây lên bề mặt địa hình •
(Paint Details): Đặt các chi tiết nhỏ như cỏ cây hoa lá lên bề mặt địa hình •
(Terrain Settings): Thay đổi các thiết lập của địa hình. 2. THIẾT KẾ HÒN ĐẢO
Để làm quen với các công cụ thiết kế địa hình của Unity, chúng ta sẽ tiến hành thiết kế một hòn đảo. Dựng địa hình
Trước tiên chúng ta tạo ra một địa hình mới, vào Terrain Settings chọn Terrain Width và
Terrain Length là 500 (tương đương với 500m x 500m)
Sau đó chúng ta sử dụng công cụ Raise / Lower Terrain, Smooth Terrain Paint
Height
và tạo hình một hòn đảo dạng như hình vẽ dưới đây 3. VẼ TEXTURE
Unity ở các phiên bản gần đây không còn cung cấp sẵn cho chúng ta một số các texture và
các tài nguyên khác cho việc thiết kế địa hình nữa. Chúng ta cũng có thể sử dụng các
texture tự tạo hoặc tìm các terrain texture / terrain asset trên Unity Store.
Chọn công cụ Paint Texture
, ấn vào button Edit Textures và chọn Add Texture…
Sau đó chúng ta lần lượt thêm vào các texture Grass (Hill), Good Dirt, Grass & Rock Cliff
(Layered Rock).
Mục Normal map chúng ta để trống vì ở đây chúng ta không sử dụng
Normal map. Chúng ta để nguyên giá trị size của texture là (15, 15), trừ Cliff (Layered
Rock)
chúng ta chọn size là (70, 70).
Ngay sau khi chúng ta vừa thêm vào texture đầu tiên thì toàn bộ địa hình của chúng ta sẽ
được phủ texture đó. Vì địa hình của chúng ta phần lớn là cỏ xanh nên để cho dễ dàng các
bạn nên thêm texture Glass (Hill) đầu tiên.
Tiếp theo các bạn chọn texture Good Dirt để tô vào những vùng xung quanh hòn đảo bằng
Brush thích hợp. Lưu ý là các bạn có thể chỉnh Brush size, Opacity và Target Strength của Brush.
Kết quả thu được tương tự như hình sau:
Tiếp theo, chúng ta sẽ sử dụng texture Grass&Rock để vẽ ở nhưng vùng núi cao, theo tư
tưởng là ở các vùng núi cao cỏ sẽ khó mọc hơn vùng đồng bằng.
Cuối cùng, chúng ta sẽ dùng texture Cliff (Layered Rock) để vẽ lên đỉnh núi cao nhất.
Chúng ta có được một hòn đảo (tương đối) hoàn chỉnh như sau
4. ĐI DẠO QUANH HÒN ĐẢO
Như vậy hòn đảo của chúng ta đã tương đối hoàn tất. Giờ chúng ta có thể đi dạo một vòng
quanh hòn đảo để kiểm tra những gì chúng ta đã xây dựng.
Chúng ta có thể thay đổi vị trí của Main Camera để xem các góc khác nhau tại hòn đảo.
Các khác là chúng ta có thể download một gói character controller bất kỳ (ví dụ Starter
Asset – First Person Character) sau đó thêm prefab FPS Controller vào địa hình.
Chi tiết xem thêm tại Phụ lục 1 - Hướng dẫn cài đặt Starter Assets – First Person Character Controller. 5. ĐẶT CÂY
Chọn địa hình vừa tạo, ấn vào công cụ Place Tree
Ấn vào Edit Trees… và chọn Add Tree
Trong cửa sổ Add Tree hiện ra, ấn vào vòng tròn bên cạnh mục Tree và chọn mô hình cây
bất kỳ. Ở đây ta chọn mô hình Palm có sẵn trong Terrain Asset. Ta cũng có thể thay đổi
giá trị Bend Factor, là độ tác động của gió lên độ nghiêng của cây (ví dụ: 2)
Việc đặt cây lên địa hình cũng tương tự như việc vẽ texture lên địa hình. Chú ý khi vẽ là
nếu zoom quá xa thì Unity sẽ tự động không hiển thị lên cửa sổ Scene, do đó khi đặt cây
lên địa hình nên zoom vào một khoảng cách nhất định
6. VẼ CÁC CỎ CÂY HOA LÁ LÊN ĐỊA HÌNH
Chọn công cụ Paint Details
trong thanh công cụ của địa hình. Cũng tương tự như vẽ
cây, chúng ta có thể dùng công cụ này để vẽ các chi tiết nhỏ như cỏ, hoa, lá… lên bề mặt
địa hình. Các chi tiết này sử dụng công nghệ billboarding, thực chất là các texture 2D
nhưng luôn quay về phía người chơi tạo cảm giác 3D.
Tương tự, ta ấn vào Edit Details… và chọn Add Grass Texture.
Tiếp theo, ta chọn Detail Texture Grass, chọn màu sắc Healthy Color Dry Color cho
phù hợp với màu sắc của địa hình
Để cỏ mọc rải rác và đồng thời cũng giảm thiểu tiêu tốn tài nguyên của máy tính, ta nên
chọn Brush thưa hơn khi vẽ cỏ lên địa hình. Tương tự như khi vẽ cây cối, Unity sẽ không
hiển thị các chi tiết này trừ phi chúng ta zoom vào thật gần. 7. SKYBOX
Chọn menu Assets | Import Package | Skyboxes
Chọn menu Edit | Render Settings… Ở cửa sổ Inspector ấn vào Skybox Material và chọn skybox phù hợp 8. ÁNH SÁNG
Địa hình của chúng ta vừa tạo là cảnh ngoài trời, do đó chúng ta sẽ sử dụng Directional
Light
để làm nguồn ánh sáng chính cho khung cảnh. Với các loại ánh sáng khác chúng ta cũng làm tương tự.
Mặc định, khi tạo ra Project mới, Unity đã tạo ra một Directional Light. Nếu chưa có, chúng
ta chọn menu GameObject | Create Other | Directional Light
Ta có thể chọn đối tượng ánh sáng này và rotate hướng ánh sáng cho phù hợp. Mặc dù ta
cũng có thể thay đổi vị trí của đối tượng này nhưng việc này không có tác dụng trong game
vì ánh sáng chiếu của Directional Light là ánh sáng song song. 9. NƯỚC
Nước, water thực chất chỉ là một mặt phẳng bình thường, tuy nhiên các hiệu ứng tạo bóng
bề mặt (shader) khiến cho nhìn vào có cảm giác 3 chiều.
Để tạo ra nước để sử dụng trong Unity, có thể tìm trên Unity Asset Store với từ khóa
“water shader”. Đối với các phiên bản Unity cũ hơn, Unity có tích hợp Basic water shader trong Standard Asset.
Các bạn download một asset water shader bất kỳ và add vào Scene. Chỉnh vị trí sao cho
độ cao y cao hơn mặt đất và tâm đặt tại chính giữa địa hình. Sau đó phóng to đối tượng
Water để bao trùm cả địa hình.
Kết quả thu được như hình dưới Luyện tập:
Sử dụng Unity Asset Store để download các tài nguyên tĩnh như nhà cửa, đất đá, cây cối… để thêm vào mô hình
Các tài nguyên trên store có thể có tỉ lệ không chuẩn, các bạn có thể cần phải phóng to/thu nhỏ để phù hợp với khung cảnh.
Tham khảo video hướng dẫn tạo địa hình https://www.youtube.com/watch?v=nCDGjLRecrs
Document Outline

  • BÀI 2 –ĐỊA HÌNH
    • 1. Tạo địa hình
    • 2. Thiết kế hòn đảo
    • 3. Vẽ texture
    • 4. Đi dạo quanh hòn đảo
    • 5. Đặt cây
    • 6. Vẽ các cỏ cây hoa lá lên địa hình
    • 7. Skybox
    • 8. Ánh sáng
    • 9. Nước