Đẳng Cấp Học Sinh

Đẳng Cấp Học Sinh

Đại Ân 2
 
Trang ChínhPortalCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Game Maker (phần 8): Tạo đồ họa 3D 'giả cầy'

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
zavasaki11
Thành Viên Cấp 2
Thành Viên Cấp 2


Tổng số bài gửi : 21
Join date : 03/05/2012
Age : 23
Đến từ : Đại Ân 2

Bài gửiTiêu đề: Game Maker (phần 8): Tạo đồ họa 3D 'giả cầy'   Mon May 21, 2012 4:54 pm

Rất nhiều trò chơi điện tử nổi tiếng đã dùng đến kỹ thuật giả 3D như Đế Chế, Diablo, Command and Conquer, SimCity và nhiều game chiến thuật hoặc mô phỏng khác. Về nguyên tắc, phương pháp làm game như vậy là có thể với phần mềm Game Maker (nhưng chú ý rằng sản xuất một trò chơi mang tính thương mại cao đòi hỏi rất nhiều công sức của một đội ngũ giỏi).



Nguyên tắc làm game giả 3D là đặt thế giới ảo này dưới góc nhìn cố định 45 độ. Bạn cần sử dụng đến phương pháp tạo hình chiếu song song như đã nói ở phần trước. Thực ra, với cách này, các vật thể ở xa sẽ không nhỏ đi. Hãy giả định thế giới ảo bao gồm những ô vuông như hình bên trái. Khi chuyển sang góc nhìn giả 3D, mọi thứ sẽ trông như hình bên tay phải. Mỗi ô vuông sẽ biến thành hình thoi. Để thuận tiện, chúng ta dùng hình thoi với tỷ lệ 2x1 (ví dụ như 32x16 pixel).



Làm tương tự đối với hình nền, chúng ta có được kết quả sau:



Những hình nền như vậy có thể tạo ra dễ dàng với Game Maker. Trước hết, hãy tạo ra một nền có các ô lát rồi chỉnh sửa nền này, phóng to các bức vẽ và quay nó theo một góc 45 độ và cuối cùng co lại theo chiều dọc 50%. Nếu không, bạn có thể dùng một tập hợp các ô lát nền đã được tạo theo hình chiếu song song. Trong phần chỉnh sửa room, hãy dùng một mạng lưới hình chiếu song song sẵn có.

Ưu điểm của góc nhìn giả 3D so với góc nhìn thông thường là bộ não của chúng ta ngay lập tức chuyển đổi các hình thoi đó thành hình vuông dưới một góc nhìn nào đó và điều này sẽ tạo ra hình ảnh 3 chiều. Rõ ràng là bạn vẫn phải bóp méo góc nhìn do kích cỡ của vật thể không đổi theo khoảng cách. Do đó, bạn có thể dùng kỹ thuật hạn chế tầm nhìn để tránh các sai sót quá lộ.

Khi đã có một hình nền đẹp, bạn sẽ đặt được các vật thể lên đó. Những vật thể này cũng cần có dáng vẻ 3D từ góc nhìn 45 độ. Việc tạo ra các vật thể kiểu này không hề đơn giản và thường là công đoạn tốn thời gian nhất.

Mỗi vật thể đều có bóng đổ trên sàn và chú ý rằng cái bóng này rất quan trọng. Bóng sẽ dùng để phát hiện các “đụng độ” hay nói một cách khác là được dùng làm “mặt nạ” đụng độ. Vì vậy, đối với mỗi vật thể, bạn cần phải làm hai sprite: hình của vật thể thật sự và “mặt nạ” của cái bóng. Tốt nhất nên tạo vị trí gốc của sprite và đặt “mặt nạ” này ở chính giữa cái bóng. Ví dụ như ở dưới đây là hình chi tiết dạng “tường” có thể dùng làm một mê cung giả 3D và “mặt nạ” bóng tương ứng. Dấu gạch chéo là vị trí gốc. “Mặt nạ” trong trường hợp này có độ lớn chính xác bằng một mặt trong hình.



Bằng cách xác định đụng độ trên cái bóng, các sprite được chồng lên nhau, miễn là các bóng đổ không đè lên nhau và đây chính là điều mà chúng ta cần. Ví dụ, khi một quả bóng di chuyển trên các khối đá, các sprite có thể chồng lên nhau; nhưng cuộc “đụng độ” với một bức tường diễn ra khi bóng của quả bóng đụng vào bóng của bức tường.

Như trong trường hợp tạo hình chiếu song song, chúng ta đặt “độ sâu” của mỗi instance là –y. Theo cách này, các instance được vẽ theo một trật tự chính xác.

Dù vậy, vẫn có một khó khăn là khi tạo room, các sprite không được vẽ theo trật tự này. Điều này khiến cho việc tạo cảnh chính xác trở nên khó khăn. Tốt nhất là nên bắt đầu theo nguyên tắc từ trên xuống và dùng chức năng phân loại instance bằng tọa độ y.

Cuối cùng là phần chuyển động. Do góc nhìn, hướng chuyển động theo chiều ngang nên tăng gấp đôi so với chiều dọc. Cũng vậy, khi sử dụng các phím mũi tên để định hướng chuyển động, bạn nên để các vật thể di chuyển chéo hơn là chiều dọc hay ngang.

Một ví dụ về làm game giả 3D

Chúng ta có thể xem ví dụ isometric.gmd. Bạn có thể tìm thấy tập tin này tại thư mục threed/example trong file nén 3D.zip, có thể download tại diễn đàn của [You must be registered and logged in to see this link.]. (Bạn chỉ cần nhấn chuột vào Download rồi lưu tập tin, giải nén và sử dụng). Nhưng chú ý là tập tin này chạy trên phiên bản cũ gmaker.exe trong tập tin nén gmaker52.zip (download bản cũ [You must be registered and logged in to see this link.]



Đầu tiên, tốt hơn hết là bạn thiết kế mê cung trên giấy và điều này là rất khó trong khi tạo room. Sau đó, tạo một nền phủ lên toàn bộ khu vực mê cung.

Tiếp theo là công đoạn tạo các sprite. Như đã nói ở trên, chúng ta cần hai sprite cho mỗi vật thể: hình thật sự và “mặt nạ” để kiểm tra “đụng độ”. (Thực ra, chúng ta có thể dùng một “mặt nạ” chung cho rất nhiều vật thể). Hãy đảm bảo mỗi sprite được vẽ gọn gàng trên sàn và vị trí gốc được đặt chính giữa mặt nạ bóng.

Để làm cho mọi thứ đẹp hơn, chúng ta nên thêm vào một cánh cổng. Cổng này gồm 3 phần: trụ trái, phải cao hơn tường và có màu khác. Chúng cũng dùng đến mặt nạ giống như những bức tường khác. Phần cánh cổng thì khác, nó bao gồm một khối cao hơn nhưng không cần đến mặt nạ vì quả bóng có thể di chuyển ở bên dưới. Nhưng chúng ta vẫn cần đặt vị trí gốc ở trung tâm của cái bóng (nếu không, chiều sâu của nó sẽ bị sai).

Đối với mỗi chi tiết cố định, chúng ta đặt độ sâu trong sự kiện khởi tạo. Đối với quả bóng, hãy đặt các chỉ số trong sự kiện End Step. Phần còn lại của game là một trò chơi mê cung đơn giản. Khi nhấn một phím mũi tên, chúng ta có thể di chuyển quả bóng đi theo chiều chéo góc, giả định là vị trí mới đến không xảy ra đụng độ. Khi quả bóng và cái bóng của nó đụng vào một lá cờ (chính là cái bóng của lá cờ) thì cuộc chơi mê cung này kết thúc.



Việc tạo ra các room lúc này đòi hỏi nhiều công sức hơn. Bạn phải đặt tất cả các chi tiết dạng tường một cách chính xác và thực hiện từ trên xuống dưới. Hãy dùng chức năng sắp xếp các instance theo tọa độ y nếu như bị sai và dùng một mạng carô 16x8 giả 3D để chỉnh các instance một cách chính xác. Trong quá trình làm, bạn cũng có thể xóa những instance nằm ở lớp dưới vì như thế sẽ dễ sắp đặt các instance hơn.

Có một xảo thuật cho bản demo này là khi giữ phím cách (Space), bạn có thể nhìn thấy quả bóng lăn xuyên qua tường. Điều này hết sức hữu dụng khi một vật thể di chuyển có thể biến mất hoàn toàn đằng sau các vật thể khác và bạn có thể thực hiện theo cách sau:

Tạo ra một vật thể khác, gọi là “quả bóng trong suốt” và có độ sâu là -100000 (nằm trên tất cả các vật thể khác). Khi nhấn phím cách, một instance của vật thể này được tạo ra và khi thả phím, vật thể này sẽ bị hủy đi. Hãy đảm bảo vật thể này có cùng vị trí như quả bóng thật sự kia với cùng sprite, nhưng đặt giá trị alpha là 0,2. Kết quả là chúng ta có được một hình “trong suốt” của quả bóng ngay trước bức tường.

Bạn hãy thử chạy chương trình gmaker.exe phiên bản 5 rồi mở đường dẫn đến tập tin isometric.gmd. Dùng công cụ Run để chạy trò chơi này và 4 phím mũi tên để di chuyển quả bóng.

Các chú ý thêm

Bạn có thể tận dụng các Resource ngay trên trang Game Maker hoặc nhiều trang khác để làm phong phú thêm thế giới trò chơi của mình.

Nói chung, các trò chơi giả 3D rất thích hợp đối với nhiều trò chơi. Ứng dụng lớn nhất của kỹ thuật này là tạo ra vẻ ngoài hấp dẫn cho game với “giá rẻ”. Có rất nhiều nguồn hình ảnh ở trên mạng, bạn chỉ cần gõ từ khóa “isometric tiles” vào trang tìm kiếm như Google hay Yahoo là có thể tìm được. Dưới đây là một số kết luận để quá trình tạo không gian giả 3D được tốt đẹp:

- Khi không thể “đi” sau những vật thể nào đó (như núi non hay rừng rậm), tốt hơn hết là bạn nên vẽ chúng trên nền rồi dùng một số vật thể “vô hình” để tránh việc các vật thể di chuyển có thể đè lên chúng.

- Khi một vật thể trải dài trên nhiều ô lát (tile), hãy chia nó ra thành nhiều phần nhỏ để tránh các rắc rối với độ sâu.

- Luôn phải đặt vị trí gốc ở mặt chiếu đứng của vật thể. Nhưng ví dụ như một con chim đang bay có vị trí gốc cách khá xa nó thì không nhất thiết phải làm.

- Trong một số ít trường hợp, mối quan hệ về độ sâu giữa hai vật thể còn phức tạp hơn nữa và có thể dùng một vài dòng lệnh.

Nguồn : [You must be registered and logged in to see this link.]
Về Đầu Trang Go down
Xem lý lịch thành viên
 

Game Maker (phần 8): Tạo đồ họa 3D 'giả cầy'

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Đẳng Cấp Học Sinh :: Lập Trình - Thiết Kế :: Phát Triển Game :: Game Maker-