Thiết kế nhân vật

Một phần của tài liệu Tổng quan về Unity Engine (Trang 34)

Trang 35 CHƯƠNG 4. THIẾT KẾ MÔI TRƯỜNG VÀ NHÂN VẬT

Hình 4.14. Một mô hình nhân vật.

Việc thiết kế nhân vật cũng tương tự như giai đoạn đầu cùa việc thiết kế môi trường, đó là dựng mô hình 3D. Tuy nhiên khi phát triển về sau, việc thiết kế nhân vật không chỉ đơn giản là tạo ra một mô hình tĩnh không có khả năng tương tác mà nhân vật cần phải có thêm các yếu tố khác (sẽđược đề cập sau) như khả chuyển động (được thông qua quá trình thiết kế diễn hoạt), trí thông minh và khả năng tương tác với môi trường và các nhân vật khác (thông qua mảng lập trình).

Khác với thiết kế môi trường khi được hỗ trợ một phần bởi Unity, việc thiết kế mô hình nhân vật khá phức tạp khi gần như phụ thuộc hoàn toàn vào các ứng dụng dựng hình 3D, điều này đòi hỏi chúng ta phải có những kỹ năng cần thiết để đảm bảo nhân vật được thiết kế hoàn chỉnh và phù hợp với trí tưởng tượng (kịch bản).

Nhân vật là một trong những mô hình 3D cần được chăm chút và xây dựng chi tiết nhất trong quá trình thiết kế các mô hình 3D cho trò chơi.

5.1. CƠ BN V DI

5.1.1. Hot cnh (Animation)

Hoạt cảnh là một c

hình bất kỳ góp phần tạo nên các chuy ra bằng cách sử dụng h

những thay đổi của các mô hình trong c (thường là 24 hình/s) sẽ gây c

5.1.2. Din hot

Thuật ngữ diễn ho Game trong Unity, diễn ho là sử dụng các phần mềm thi Unity. Mỗi cách có một ư CHƯƠNG 5. DIN HOT N HOT nh (Animation) t cảnh chuyển động, trong cảnh có thể có m o nên các chuyển động trong cảnh. Hoạt cảnh th

ng hệ thống Frame làm căn bản chuyển động. Các frame mang a các mô hình trong cảnh xuất hiện trong khoảng th

gây cảm giác chuyển động.

Hình 5.1. Một hoạt cảnh thay đạn.

n hoạt nhằm chỉ việc thiết kế các chuyển động. Đ n hoạt được thực hiện đồng thời và kết hợp bở

m thiết kế diễn hoạt và sử dụng công cụ thiế t ưu điểm và chức năng riêng bổ sung cho nhau.

có một hoặc nhiều mô nh thường được tạo ng. Các frame mang ng thời gian đủ nhanh ng. Đối với phát triển ởi 2 cách khác nhau ết kế diễn hoạt của sung cho nhau.

Trang 37 CHƯƠNG 5. DIỄN HOẠT

Đối với phát triển Game, diễn hoạt có thể chia làm 2 loại: diễn hoạt một đối tượng và diễn hoạt cắt cảnh. Trong đó, diễn hoạt cho một đối tượng là việc tạo ra các hoạt cảnh cho một đối tượng bất kỳ (bao gồm nhận vật) nhằm làm tài nguyên cho việc thiết kế các hành động của các đối tượng theo các tình huống trong trò chơi. Ví dụ như thiết kế các hoạt cảnh mô phỏng chuyển động đi, chạy, nhảy của nhân vật phục vụ cho lập trình chuyển động cho nhân vật. Diễn hoạt hoạt cắt cảnh là việc kết hợp nhiều hoạt cảnh đơn lẻ của nhiều đối tượng trong môt cảnh nhằm mô tả một diễn biến nào đó được sắp đặt trong kịch bản của trò chơi.

Diễn hoạt đối tượng (diễn hoạt nhân vật) thường được thực hiện trong các ứng dụng hỗ trợ thiết kế diễn hoạt và được xuất ra kèm theo các mô hình 3D như một thành phần dữ liệu của mô hình cho phép lập trình viên truy xuất và sử dụng chúng. Trong khi đó diễn hoạt cắt cảnh thường được thực hiện trực tiếp trong Engine (Unity) bằng cách sử dụng dữ liệu hoạt cảnh của các đối tượng riêng lẽ kết hợp với một vài diễn hoạt khác được thiết kế trực tiếp bằng công cụ tạo diễn hoạt trong Unity để xây dựng nên một đoạn cắt cảnh, thông thường các đoạn cắt cảnh này được xây dựng thành một scene riêng để thuận tiện cho việc diễn hoạt và chia nhỏ màn chơi nhằm làm cho đoạn cắt cảnh được tập trung thiết kế chi tiết hơn.

5.2. THIT K DIN HOT BNG PHN MM CHUYÊN DNG

Việc thiết kế diễn hoạt trên các phần mềm hỗ trợ sẽ đòi hỏi nhiều kỹ năng và kinh nghiệm hơn so với diễn hoạt trong Unity. Đa số các phần mềm hỗ trợ thiết kế diễn hoạt đều dựa trên 2 thành phần cơ bản đó là: hệ thống khung xương và hệ thống frame. Hệ thống khung xương phổ biến là biped và bone, đây là những thành phần cần được gắn vào đối tượng (nhân vật) trước khi thực hiện diễn hoạt nhằm mục đích ràng buộc chuyển động của các bộ phận trên đối tượng với nhau cũng như nhằm làm chủ thểđiều khiển sự biến dạng của các thành phần được gắn với chúng trong đối tượng.

Khác với khung xương, hệ thống frame là một thành phần của hệ thống chương trình chứ không phải là một thành phần gắn với đối tượng. Hệ thống này bao gồm một timeline (đường thời gian) trên đó có chứa các frame là những nút chứa dữ liệu về vị trí

và góc xoay của các thành phần của đối tượng (hay của hệ thống xương) ứng với những thời điểm khác nhau.

Một số phần mềm hỗ trợ thiết kế diễn hoạt: Autodesk 3D Studio Max, Autodesk Maya, Autodesk Motion Builder, Blender, …

Việc thiết kế diễn hoạt được đề cập ở trên được làm trực tiếp bởi người thiết kế thông qua trí tưởng tượng và các phép thử. Ngoài cách này, chúng ta còn một cách thiết kế diễn hoạt khác đó là sử dụng công nghệ Motion Capture, công nghệ này cho phép chúng ta sử dụng các hệ thống khung xương và frame trong các phần mềm thiết kế diễn hoạt cùng việc kết nối giữa máy tính với máy camera và các cảm biến được gắn với một diễn viên diễn hoạt nhằm ghi lại các chuyển động của diễn viên sau đó lưu lại thành dữ liệu diễn hoạt được biết với tên gọi là Motion Capture Data mà chúng ta có thể sử dụng vào trong diễn hoạt của các nhân vật trong trò chơi. Cách diễn hoạt có ưu điểm rất mạnh là mô phỏng chuyển động trực tiếp từ thực tế vào nên chuyển động sẽ rất tự nhiên và gần như giống thật, tuy nhiên nó cần được đầu tư một khoảng chi phí khá lớn cho các thiết bị kỹ thuật hỗ trợ và thuê diễn viên diễn hoạt.

5.3. DIN HOT VI UNITY

Unity cung cấp khả năng thiết kế diễn hoạt tương tự như các ứng dụng hỗ trợ thiết kế diễn hoạt khác. Bao gồm hệ thống Keyframe và khả năng tùy chỉnh thuộc tính của các Frame. Tuy nhiên trong Unity không hỗ trợ hệ thống khung xương mà diễn hoạt sẽđược thực hiện trực tiếp trên đối tượng hoặc hệ thống khung xương được thiết kế từ trước trong các phần mềm hỗ trợ diễn hoạt.

Trang 39 CHƯƠNG 5. DIỄN HOẠT

Hình 5.2. Cửa sổ thiết kế diễn hoạt trong Unity.

Cửa sổ Animation trong Unity được truy xuất bằng cách vào menu Window/Animation. Tại đây, chúng ta thấy giao diện của cửa sổ thiết kế diễn hoạt (hay cửa sổ biên tập Animtion) tương tự như nhiều phần mềm hỗ trợ diễn hoạt khác. Cửa sổ cho phép chúng ta tạo ra các Animation Clip cho bất kỳ một đối tượng hay đối tượng con của một đối tượng nào đó đang được chọn trong scene, chúng ta có thể record, tạo ra các frame trên thanh time line, điều chỉnh vị trí và thuộc tính của các frame này, chạy thử animation, …

Hình 5.3. Animation event.

Khi thiết kế diễn hoạt trong Unity, chúng ta được Unity cung cấp cho một khả năng rất hữu ít đó là Animation Event, chức năng này cho phép chúng ta gọi và thực thi một hàm bất kỳ có trong script được gắn với đối tượng được diễn hoạt tại một điểm bất kỳ trên timeline.

Trang 41 CHƯƠNG 6. HIỆU ỨNG

CHƯƠNG 6. HIU NG 6.1. H THNG PARTICLES (PARTICLES SYSTEM) 6.1.1. Khái nim

Hình 6.1. Hiệu ứng khói, lửa – một ví dụđại diện cho particle.

Particles là một thành phần rất quan trọng và không thể thiếu trong các trò chơi. Có thể hiểu một cách đơn giản, particle là tâp hợp các hạt được đính kèm các hình ảnh, vật liệu với hình dáng và màu sắc cụ thể nhằm mô phỏng một hiệu ứng nào đó trong thực tế, ví dụ như hiệu ứng lửa, khói, hiệu ứng nổ của một vật nào đó… Particle trong Unity được giới thiệu dưới dạng một hệ thống bao gồm các Components đảm nhận các vai trò khác nhau.

6.1.2. Các thành phn (Components) trong Particle system: a. Particle Emitter a. Particle Emitter

Hình 6.2. Emitter component.

Trong bất kỳ một hệ thống Particle nào, emitter là thành phần phụ trách hình dạng của Particle. Trong Unity, có 2 loại emitter là Ellipsoid Particle Emitter và Mesh Particle Emitter.

Ellipsoid emitter là loại emitter được dùng phổ biến nhất cho các hiệu ứng như khói, bụi và các yếu tố môi trường được tạo ra trong một không gian xác định. Nó được gọi là Ellipsoid là vì nó tạo ra các hạt bên trong một hình cầu được kéo dài một cách thích hợp.

Mesh emitter tạo ra các hạt được gắn trực tiếp với một lưới 3D và có thể diễn hoạt dọc theo các đỉnh của lưới hoặc đơn giản là phát ra từ các điểm trên lưới. Nó được phổ biến hơn trong mục đích kiểm soát vị trí của các hạt, cho phép chúng ta kiểm soát hình dạng của particle theo chính xác hình dạng mong muốn.

Về thành phần, cả 2 đều có những thiết lập tương tự như sau:

Trang 43 CHƯƠNG 6. HIỆU ỨNG

- Năng lượng (Energy): Lượng thời gian mà hạt tồn tại trong thế giới trước khi tựđộng hủy.

- Emission: Số lượng hạt phát ra tại một thời điểm. - Vận tốc (Velocities): tốc độ của hạt khi di chuyển

b. Particle Animator

Hình 6.3. Animator component.

Particle Animator phụ trách về hành động của các hạt trong khoảng thời gian chúng tồn tại. Các hạt có một tuổi thọ và sẽ bị phá hủy sau đó. Ví dụ như lửa, Particle cần được diễn hoạt về sự thay đổi màu sắc, hình dáng của mỗi hạt trong thời gian sống của chúng

c. Particle Renderer

Hình 6.4. Renderer component.

Thành phần Renderer xác định sự xuất hiện của mỗi hạt. Particles là hiệu ứng hoạt cảnh những hình vuông (2D) sử dụng kỹ thuật billboarding để chúng luôn xuất

hiện đối mặt trước camera. Particle renderer trong Unity có thể được xuất hiện bởi nhiều cách khác nhau nhưng billboarding luôn thích hợp cho mọi trường hợp sử dụng.

Renderer cũng là thành phần đảm nhận việc xử lí các vật liệu được áp vào hệ thống. Giống như Particles được kết xuất bởi các hoạt cảnh 2D, áp dụng particle shader cho vật liệu trong thành phần renderer giúp chúng ta tạo ra những ảo ảnh hoạt cảnh 2D không theo dạng hình vuông bằng cách sử dụng kênh alpha (trong suốt) bao quanh textures.

6.2. HIU NG HÌNH NH (IMAGE EFFECTS)

Hiệu ứng hình ảnh (image effects) là các script được cung cấp bởi Unity nhằm thực hiện các xử lí điều khiển Render texture. Các hiệu ứng này được gắn vào camera và tùy chỉnh các thông số nhằm tác động trực tiếp đến quá trình kết xuất hình hỉnh của camera tạo ra các hiệu ứng mà chúng ta có thể nhìn thấy qua camera của nhân vật. Một số hiệu ứng hình ảnh:

Hình 6.5. Trước và sau áp dụng PostEffect.

- Antialiasing (PostEffect): Hiệu ứng khử răng cưa, hiệu ứng này sử dụng các công nghệ được hỗ trợ từ card đồ họa để thực hiện khử bỏ hoặc giảm răng cưa của hình ảnh sau khi chiết xuất.

Trang 45 CHƯƠNG 6. HIỆU ỨNG

Hình 6.6. Hiệu ứng Bloom and Lens Flares.

- Bloom and Lens Flares: Blooming là một hiệu ứng quan học mà ánh sáng từ một nguồn sáng xuất hiện rò rỉ vào các đối tượng xung quanh. Hiệu ứng Bloom and Lens Flares tạo nên vẻ chói khi nhìn vào các vị trí được chiếu sáng nhiều, đồng thời hiệu ứng này cũng gây phát sinh ra các tia sáng một cách hiệu quả. Hiệu ứng này rất đặc biệt, nó tạo ra một sự khác biệt lớn với hình ảnh kết xuất mà không có hiệu ứng này. Nó thường được ứng dụng vào các môi trường phép thuật trong Game, các môi trường trong giấc mơ. Hiệu ứng này thực chất là một phiên bản nâng cấp từ hiệu ứng Glow, cung cấp khả năng kiểm soát tốt hơn chi phí kết xuất hình ảnh.

- Color Correction Curves: Hiệu ứng này cung cấp khả năng phối trộn các kênh màu cơ bản (Red, Green, Blue) giúp thay đổi hay xác định tông màu chủ của hình ảnh được kết xuất của trò chơi.

Hình 6.7. Trước và sau khi áp dụng hiệu ứng Contrast Enhance.

- Contrast Enhance: Hiệu ứng này có tác dụng cải thiện độ tương phản, giúp hình được rõ nét và giống thực tế hơn.

Trang 47 CHƯƠNG 6. HIỆU ỨNG

- Crease: Là một kỹ thuật nhằm tạo nên đường viền bên ngoài các đối tượng trong hình ảnh được kết xuất.

Hình 6.9. Hiệu ứng Depth of Field.

- Depth of Field 3.4: Hiệu ứng này là một trong những hiệu ứng phổ biến nhất được sử dụng trong hầu hết các tựa Game hiện nay. Nó mô phỏng thuộc tính của thấu kính camera. Trong thực tế, camera không thể phản ánh rõ nét mọi vật thểở mọi khoảng cách, mà với mỗi khoảng cách khác nhau, hình ảnh sẽ thể hiện sự rõ nét khác nhau.

Hình 6.10. Hiệu ứng Detect Effect. - Edge Detect Effect Normals.

Hình 6.11. Hiệu ứng Fisheye. - Fisheye image effect.

Trang 49 CHƯƠNG 6. HIỆU ỨNG Hình 6.12. Hiệu ứng Global Fog. - Global Fog. Hình 6.13. Hiệu ứng Sun Shafts. - Sun Shafts. - Tilt Shift. - Vignetting.

Hình 6.14. Hiệu ứng Blur. - Blur image effect.

Hình 6.15. Hiệu ứng Color Correction. - Color Correction image effect.

- Contrast Stretch image effect. - Edge Detection image effect. - Glow image effect.

- Grayscale image effect. - Motion Blur image effect. - Noise image effect.

- Sepia Tone image effect.

Trang 51 CHƯƠNG 7. GIAO DIỆN

CHƯƠNG 7. GIAO DIN 7.1. CƠ BN V GIAO DIN

Giống như giao diện trong các phần mềm, giao diện trong Game cũng được thiết kế với mục đích truyền tải thông tin đến người chơi và giúp người chơi có thể giao tiếp với hệ thống của trò chơi.

Về cơ bản, chúng ta có thể chia giao diện trong một trò chơi thành hai thành phần riêng biệt. Trong đó, một thành phần đảm nhiệm chức năng cho phép người chơi thao tác với hệ thống bao gồm menu và các tùy chỉnh cấu hình, thành phần này thường được trình bày dưới dạng các label, button, combobox, slider, … tương tự như một phần mềm bình thường. Thành phần thứ hai với một tên gọi cụ thể là HUD (Heads-Up Display), thành phần này là thành phần gắn liền trong suốt quá trình trải nghiệm nội dung trò chơi của Game thủ, HUD thông thường là phần giao diện thể hiện các thông tin xoay quanh nhân vật (trạnh thái sức khỏe, máu, năng lượng, …), các chỉ dẫn và gợi ý từ trò chơi đến Game thủ hay các thông tin về các tiến trình đang diễn ra trong hệ thống của trò chơi (loading , checkpoint save, …)

7.2. THIT K GIAO DIN

7.2.1. Menu và các tùy chnh h thng

Như đã được đề cập, thành phần giao diện này thông thường được trình bày dưới dạng các control phổ biến trong các phần mềm. Tuy nhiên với sự phát triển mạnh của các Engine cùng khả năng sáng tạo vô hạn của các nhà phát triển, thành phần này mỗi ngày càng được tùy chỉnh, cách điệu thêm nhằm giảm bớt sự nhàm chán đối với những kiểu giao diện cũ kỹ và đơn giản, đồng thời để thể hiện hay làm cho phù hợp với phong cách nghệ thuật, nội dung của trò chơi.

Mặc dù có hỗ trợ về GUI, nhưng Unity gần như không cung cấp bất kì một môi trường thuần thiết kế giao diện nào. Mọi công việc thiết kế giao diện nếu dùng sự hỗ trợ sẵn có của Unity phải được hoàn toàn thực hiện thông qua code.

Hình 7.1. Một số Controls cơ bản trong Unity.

Những Controls cơ bản mà Unity cung cấp sẽ hoàn tương tự nhau. Tuy nhiên Unity cung cấp cho chúng ta khả năng tùy biến nhằm tạo ra một hình dáng, phong cách riêng cho GUI trong trò chơi của mình thông qua 2 công cụ là GUIStyles và GUISkins vốn là 2 script đã được Unity xây dựng sẵn.

Trang 53 CHƯƠNG 7. GIAO DIỆN

Hình 7.3. GUIStyles và GUISkins.

Ngoài những controls cơ bản và 2 công cụ trên, Unity còn một số hỗ trợ cho

Một phần của tài liệu Tổng quan về Unity Engine (Trang 34)