1. Trang chủ
  2. » Luận Văn - Báo Cáo

ứng dụng trí tuệ nhân tạo trong xây dựng game

120 2K 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 120
Dung lượng 2,08 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin ứng dụng trí tuệ nhân tạo trong xây dựng game

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

ỨNG DỤNG TRÍ TUỆ NHÂN TẠO

KHÓA LUẬN CỬ NHÂN TIN HỌC

TP HCM, 2005

Trang 2

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

NGUYỄN THANH PHONG - 0112191

ỨNG DỤNG TRÍ TUỆ NHÂN TẠO

TRONG XÂY DỰNG GAME KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN TH.S BÙI TIẾN LÊN

NIÊN KHÓA 2001-2005

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Trang 5

LỜI CẢM ƠN

Em sẽ không thể hoàn thành luận văn nếu không có sự hướng dẫn và chỉ bảo tận tình của thầy Bùi Tiến Lên Em xin chân thành cảm ơn sự chỉ bảo của thầy

Em cũng rất cảm ơn các thầy cô trong khoa Công nghệ Thông tin trường Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh đã tận tình giảng dạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho em hoàn thành luận văn này

Xin chân thành cảm ơn sự giúp đỡ, động viên của của tất cả các bạn trong quá trình thực hiện luận văn

Em cũng muốn cảm ơn những người thân trong gia đình đã động viên, giúp

đỡ và tạo điều kiện để hoàn thành luận văn

Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nổ lực của bản thân, nhưng luận văn chắc chắn không tránh khỏi những thiếu xót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của các thầy cô và các bạn

Sinh viên thực hiện Nguyễn Thanh Phong

Trang 6

Mục lục

MỤC LỤC

Chương 1 GIỚI THIỆU 1

1 Lý do chọn đề tài 1

1.1 Các ngôn ngữ lập trình game 1

1.2 Phân loại game 2

1.2.1 Game hành động 2

1.2.2 Game nhập vai 3

1.2.3 Game đua xe 3

2 Mục đích của đề tài 3

Chương 2 CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI 4

1 Mô tả các thủ tục tìm kiếm rộng, sâu và sâu dần 6

2 Thuật giải tìm đường đi có giá thành nhỏ nhất AT 7

3.Tìm kiếm với tri thức bổ sung 8

4.Tìm đường đi trên đồ thị tổng quát 9

Chương 3 GAME ENGINE 12

I WED editor: 13

1 Những khái niệm cơ bản 13

a Giao diện người dùng 13

b Thanh Icon 15

c Mode 15

d Thiết kế một khung cảnh 14

e Hướng đối tượng 16

f Cửa sổ dự án 18

2 Các lệnh trong WED 19

2.1.Các lệnh trong các thực đơn 19

2.1.1 Thực đơn file 20

2.1.2 Thực đơn edit: 24

Trang 7

Mục lục

2.1.3 Thực đơn mode 25

2.1.4 Thực đơn Object 29

2.1.5 Thực đơn Texture 32

2.1.5 Thực đơn View 33

2.1.6 Thực đơn help 34

2.2 Giao diện sử dụng 35

2.3 Cửa sổ dự án 36

2.3.1 Tab đối tượng 36

2.3.2 Tab Views 38

2.3.3 Tab Texture 38

2.3.4 Tab Resource 41

2.4 Cửa sổ Bookmark 41

2.5 Thuộc tính của khối 41

2.6 Thuộc tính của thực thể 43

3 Thiết kế một map 45

4 Thực thể 46

4.1 Thực thể mô hình 46

4.2 Thực thể Sprite 47

4.3 Thực thể Map 47

4.4 Thực thể Địa hình (terrain) 48

4.5 Bóng 48

4.5 Thuộc tính trong suốt 49

II CÁCH SỬ DỤNG MED 50

1 Trình thiết kế 50

1.1 Các thực đơn 50

1.1.1 Thực đơn File 50

1.1.2 Thực đơn Edit 53

1.1.3 Thực đơn View 55

Trang 8

Mục lục

1.1.4 Thực đơn Options 56

1.1.5 Thực đơn Help 57

1.2 Toolbars 58

1.2.1 Toolbar File 58

1.2.2 Toolbar Edit 58

1.2.3 Toolbar Select 60

1.2.4 Toolbar Mesh 60

1.2.5 Toolbar các đối tượng cơ sở 61

1.2.6 Toolbar view 62

1.2.7 Toolbar Frame 63

1.2.8 Thanh trạng thái 64

2.Trình thiết kế Skin 64

2.1 Các thực đơn 65

2.1.1 Thực đơn File 65

2.1.2 Thực đơn Edit 66

2.1.3 Thực đơn View 67

2.2 Các Toolbar 68

2.2.1 Toolbar Skin 68

2.2.2 Toolbar Edit 68

2.2.3 Toolbar Paint 69

III SED, C-Script editor 70

1 Giao diện sử dụng 71

2 Soạn thảo 72

2.1 Lệnh Insert 72

2.2 Dòng chú thích 72

2.3 Nhảy đến một đoạn mã 72

2.4 Sử dụng danh sách các thành phần 73

Trang 9

Mục lục

2.6 Soạn thảo thông minh 73

3 Cấu hình 74

4 Thực đơn 75

4.1 Thực đơn File 75

4.2 Thực đơn Edit 76

4.3 Thực đơn Options 76

4.4 Thực đơn Tools 77

4.5 Thực đơn Debug 77

IV Giao tiếp với các DLL 79

1 Bắt đầu với SDK 79

2 Sử dụng đối tượng C-Script trong một DLL 82

3 Sử dụng các hàm API 83

4 Lập trình một game trong C++ 87

Chương 4 CÀI ĐẶT 89

I Người chơi 89

1 Chuyển động vật lý 89

a Gia tốc, quán tính và lực ma sát 89

b Rơi từ trên xuống 93

2 Cách di chuyển camera theo người chơi 97

2.1 Tầm nhìn của người thứ nhất 97

2.2 Quay tự do tầm nhìn của người thứ 3 101

2.3 Cách để cho camera tránh chạm vào tường 106

II Xe tự động 108

Tránh chướng ngại vật trên đường đi 108

Trang 10

Chương 1: Giới thiệu

sự lôi cuốn rất mạnh mẽ của nó Hầu như ai đã sử dụng máy tính đều đã giải trí bằng một số game nào đó trên máy tính Có thể nói Game là một thể loại phóng phú nhất trong tất cả các loại chương trình trên máy tính

Mặc dù các chương trình Game rất nhiều, nhưng để có thể viết ra được một game hay, có thể chơi được quả là một điều không dễ Tuy vậy, với niềm đam

mê về game máy tính, em cũng muốn tiếp cận với lĩnh vực này

Tại sao lại sử dụng ngôn ngữ 3D Game Studio để viết game?

Trang 11

Chương 1: Giới thiệu

Với hàng trăm game đã được phát hành, 3D Game Studio xứng đáng là một ngôn ngữ lập trình game lớn Với 3D Game Studio, chúng ta có thể:

- Tạo ra một game đơn giản từ những script mẫu có sẵn

- Tạo ra các game thương mại viết bằng ngôn ngữ script

- Có thể sử dụng VisualC++ hoặc Delphi để kết hợp với 3D Game Studio

để viết game

Có rất nhiều tài liệu hướng dẫn lập trình game bằng 3D Game Studio Ngay

cả với những người chưa có kiến thức về lập trình, nhưng nếu theo từng bước hướng dẫn tạo một game hành động đơn giản thì cũng có thể hoàn thành nó trong một thời gian ngắn

Theo Dr.Dobb's Journal: “Đây là bộ công cụ tuyệt vời để nhanh chóng tạo

ra mẫu ban đầu và phát triển ứng dụng 3D” Chúng ta có thể sử dụng ngôn ngữ script trong 3D Game Studio để viết và phân phối một game thương mại Dưới đây là những game thương mại được làm bằng 3D Game Studio:

1.2 Phân loại game

Thể loại của game thì rất phong phú và đa dạng, ở đây chúng ta chỉ xét các thể loại game thường thấy nhất là:

1.2.1 Game hành động

Game hành động xuất hiện rất nhiều trong cả game 3D và game 2D Game loại này có đặc điểm chúng là tính co giật trong game, như trong game bắn

Trang 12

Chương 1: Giới thiệu

súng Game hành động thường đơn giản hơn tất cả các loại game khác bởi vì những người bình thường dễ dàng biết cách chơi và chơi hay game này

1.2.2 Game nhập vai

Game nhập vai thường có hai đặc trưng là: sự thay đổi, phát triển nhân vật

và một câu chuyện mà trong đó nhân vật sẽ trải qua

1.2.3 Game thể thao

Game thể thao là sự thách thức cho các nhà thiết kế game Không giống như hầu hết các thể loại game khác, người chơi biết rất ít về nó, trong game thể thao người chơi biết rất rõ vì nó mô phỏng một môn thể thao có sẵn trong thực tế

2 Mục đích của đề tài

Tìm hiểu ngôn ngữ lập trình game trong 3D GameStudio:

- Tìm hiểu về WED, một chương trình thiết kế khung cảnh trong game

- Tìm hiểu về MED, một chương trình thiết kế các mô hình trong game

- Tìm hiểu về SED, trình soạn thảo dùng để viết các câu lệnh script để kết nối các mô hình được tạo ra trong MED, các khung cảnh được tạo ra trong WED và sử dụng những hàm có sẵn trong SED hoặc trong các DLL khác để tạo ra một game

Sử dụng thuật toán cổ điển A* tìm kiếm đường đi để một đối tượng có thể chuyển động theo một hướng mong muốn nào đó

Trang 13

Chương 2: Các thuật toán tìm đường đi

Việc tìm “đường dẫn” từ trạng thái xuất phát (S0) đến trạng thái kết thúc (Sn) gồm có một số bước sau đây:

− Chọn không gian tìm kiếm thích hợp

− Tiến hành tìm kiếm có hệ thống và hiệu quả trong không gian tìm kiếm

− Sử dụng triệt để các nguồn tri thức liên quan trong quá trình tìm kiếm tương ứng với miền đối tượng cụ thể

Không gian tìm kiếm của một vấn đề cần giải trên máy tính thường được biểu diễn bằng đồ thị hay một dạng đặt biệt của đồ thị là cây Đồ thị là một tập hợp giữa các đỉnh và các cung nối giữa các đỉnh Các cung có thể được định hướng hoặc không định hướng, gán giá trị hoặc không gán giá trị

Cây là đồ thị định hướng đặt biệt có duy nhất một đỉnh mà không có cung nào hướng đến (gốc của cây), và mỗi đỉnh khác của cây chỉ có duy nhất một cung hướng đến

Sau khi bài toán hoặc vấn đề được biểu diễn lại dưới dạng đồ thị hoặc cây:

− Mỗi đỉnh là một trạng thái của quá trình giải bài toán

− Mỗi cung là tác động biến đổi quá trình từ giai đoạn này sang giai đoạn khác

Như vậy, việc giải quyết một bài toán cũng chỉ là tìm đường đi từ trạng thái ban đầu đến trạng thái mong muốn được biểu diễn qua hai đỉnh nào đó của đồ

Trang 14

Chương 2: Các thuật toán tìm đường đi

thị hoặc cây tìm kiếm Nhiều bài toán phức tạp nếu giải quyết bằng phương pháp tìm kiếm ngẫu nhiên thì hầu như vô vọng vì số đường đi có thể sẽ tăng lên theo hàm mũ của số đỉnh Chính ở đây biểu lộ toàn bộ bản chất của trí tuệ nhân tạo khi giải quyết các vấn đề: Đó là nghệ thuật xử trí với các vấn đề lớn bằng cách giảm số lượng tìm kiếm

Các thủ tục tìm kiếm điển hình bao gồm:

− Tìm kiếm rộng: đường đi được tìm theo mọi hướng có thể ở mỗi bước

− Tìm kiếm sâu: đường đi sâu mãi theo một hướng đến khi nào không tiếp tục được nữa mới chuyển sang hướng khác

− Tìm kiếm sâu dần: kết hợp tìm kiếm rộng và tìm kiếm sâu trên cơ sở cho trước mức sâu n rồi tìm kiếm rộng ứng với mức sâu đó

− Tìm kiếm cực tiểu hóa giá thành: mỗi cung của cây (đồ thị) được gán giá thành và hướng tìm kiếm được xác định bởi việc cực tiểu hóa giá thành đường đi

− Tìm kiếm với tri thức bổ sung: hướng tìm kiếm được xác định với tri thức bổ sung ở mỗi bước

Trước hết các thủ tục tìm kiếm rộng, sâu và sâu dần sẽ được mô tả qua một

ví dụ Sau đó một số thuật giải tìm kiếm cực tiểu hóa giá thành và bổ sung tri thức sẽ được trình bày chi tiết

Trang 15

Chương 2: Các thuật toán tìm đường đi

1 Mô tả các thủ tục tìm kiếm rộng, sâu và sâu dần

Tìm kiếm rộng: quá trình tìm kiếm sẽ lần lượt là A, B, C, D, E, F, G, H, I,

Trang 16

Chương 2: Các thuật toán tìm đường đi

ứng với mức sâu 3: (A,E,K), (B,F), (C,G,L), (C,H,M), (D,I), (D,J,N)

2 Thuật giải tìm đường đi có giá thành nhỏ nhất

AT (Algorithm for Trees) với mỗi đỉnh n tương ưng số g(n) là giá thành đường đi từ đỉnh đầu tới n (g(n) có thể chưa xác định đối với các đỉnh thuộc

phần cây chưa hướng đến) Mỗi đỉnh n có thể là:

− Đỉnh đóng: nghĩa là đỉnh đã được xem xét;

− Đỉnh mở: là đỉnh giả định sẽ được xem ở bước sau;

− Đỉnh ẩn: là đỉnh mà hàm g(n) tương ứng chưa được tính đến và chưa được xem xét đến

Thuật giải AT gồm các bước sau:

Bước 1: Đầu tiên, mọi đỉnh n và mọi giá trị g(n) đều là ẩn Mở đỉnh đầu tiên

(coi đỉnh đầu tiên là đỉnh mở và đặt giá trị g tương ứng bằng 0)

Bước 2: Chọn đỉnh mở với giá thành g tương ứng nhỏ nhất Gọi đỉnh này là

N, nếu N là đỉnh mục tiêu thì đường dẫn tới N là đường đi có giá thành nhỏ nhất g(n) và vấn đề đã được giải Nếu không còn đỉnh mở nào thì cây biểu diễn vấn đề không có đường đi tới mục tiêu Nếu có từ 2 đỉnh trở lên cùng giá trị g nhỏ nhất thì kiểm tra trong số đó có đỉnh mục tiêu không? Nếu có thì chọn đỉnh mục tiêu đó và quá trình giải kết thúc Nếu không thì chọn tùy

ý một đỉnh trong số đó và gọi là N

Bước 3: Đóng đỉnh N và mở các đỉnh sau N (có cùng hướng đến N), với

mỗi đỉnh sau N gọi là s, ta tính:

g(s)=g(N)+(giá thành cung từ N tới s) Bước 4: Quay trở lại bước 2

Thuật giải AT đã được chứng minh là luôn luôn tìm được đường đi với giá thành nhỏ nhất nếu như tồn tại đường đó trên đồ thị và là thuật giải tối ưu theo nghĩa số đỉnh đóng trong quá trình tìm kiếm là ít nhất

Trang 17

Chương 2: Các thuật toán tìm đường đi

3 Tìm kiếm với tri thức bổ sung

Thuật giải AT là thuật giải tìm kiếm đường đi tốt nhất đối với các cây chỉ có thông tin về đỉnh, cung và giá thành cung Nhưng trong nhiều trường hợp việc tìm kiếm đường đi sẽ được định hướng rõ thêm nếu sử dụng các tri thức thu được dựa trên những hiểu biết về tình huống vấn đề ở mỗi bước Các thủ tục tìm kiểm dựa trên 3 cách tiếp cận:

− Không tính đến các tri thức bổ sung ngoài thông tin về đỉnh, cung, giá thành

− Sử dụng tri thức bổ sung để tìm cách giải riêng biệt cho vấn đề mà bỏ qua việc xây dựng cây biểu diễn cho vấn đề

− Xây dựng biểu diễn vấn đề dưới dạng cây có tính đến tri thức bổ sung trong cấu trúc cây hoặc giá thành các cung

Ngoài ra có có cách tiếp cạn theo hướng xây dựng các thuật giải “vạn năng”, tìm kiếm đường đi với tri thức bổ sung Họ thuật giải này mang tên là

AKT(Algorithm for knowledgeable Tree search) Tri thức bổ sung ở mỗi đỉnh được tương ứng một giá trị Chẳng hạn đó là ước lượng giá thành đường

đi từ n đến mục tiêu (như vậy là ước lượng giá thành đường đi con chương biết đến)

Thuật giải AKT gồm các bước sau:

a) Đầu tiên, mọi đỉnh cũng như giá trị g, , là chưa biết Mở đỉnh đầu tiên (o) và gán g(0), sử dụng tri thức bổ sung để ước tính h(0) và tính

hf

)0()0()0

b) Chọn đỉnh mở có giá trị nhỏ nhất Gọi đỉnh này là N Nếu

N là mục tiêu thì đường tới N là đường đi có giá thành nhỏ nhất g(N) Nếu không tồn tại đỉnh mở nào thì cây không tồn tại đường đi tới mục tiêu Nếu có

)()(n h n g

f

+

=

Trang 18

Chương 2: Các thuật toán tìm đường đi

từ 2 đỉnh mở trở lên cùng giá trị nhỏ nhất, hãy kiểm tra trong các đỉnh này

có chứa mục tiêu không? Nếu một trong các đỉnh này là mục tiêu thì vấn đề đã được giải quyết, còn không thì chọn tùy ý một trong các đỉnh này là N

f

c) Đóng đỉnh N, mở đỉnh sau N Với mỗi đỉnh S sau N ta tính g(s)=g(N)+(giá thành cung từ N đến S) Sử dụng tri thức bổ sung ở bước này, ước lượng h∧(s) và gán cho f(s) giá trị f∧(s)=g(s)+h∧(s)

h∧ ≡ KT là thủ tục hoàn toàn tuyệt đối (các đỉnh đóng đúng là các đỉnh nằm trên đường đi ngắn nhất đến mục tiêu) Trong trường hợp không có tri thức bổ sung, h∧(n)=0 và AKT suy biến thành AT Ta thấy rõ ràng rằng giữa

và sẽ tồn tại các thuật giải với mức độ hiệu quả rất thú vị Nếu (với mọi n), A

0

=

h h∧ =h h

h∧ ≤ KT sẽ bảo đảm tìm ra được đường đi giá thành nhỏ nhất và tối ưu theo nghĩa sử dụng số đỉnh đóng ít nhất so với mọi thuật giải cũng chỉ làm việc với các tri thức như vậy

Nếu h∧ >h (với mọi n, hoặc với một số đỉnh) AKT không bảo đảm tìm được đường đi giá thành nhỏ nhất nhưng đường đi mà AKT tìm ra vẫn dùng được trong nhiều trường hợp thực tiễn giải quyết vấn đề

4 Tìm đường đi trên đồ thị tổng quát

Các phần trên đã trình bày thuật giải tìm đường đi trên đồ thị dạng cây Tuy nhiên biểu diễn dạng cây nhiều khi sẽ lặp lại quá nhiều một trạng thái Điều đó

sẽ tăng thêm thời gian tim kiếm Để khắc phục cần nới bỏ điều kiện mỗi đỉnh chỉ có một cung hướng đến và do vậy phải nghiên cứu thuật giải tìm đường đi

Trang 19

Chương 2: Các thuật toán tìm đường đi

trên một đồ thị dạng tổng quát Ta cũng có thể mở rộng thuật giải AKT thành thuật giải tổng quát A* như sau:

Bước 1: Đầu tiên, mọi đỉnh và các giá trị g, , đều xem như chưa biết,

mở đỉnh đầu tiên 0, gán cho g(0)=0, ước lượng và gán

hf

)0(

hf(0)= h∧(0)

Bước 2: Chọn đỉnh mở với giá trị nhỏ nhất và gọi là N Nếu N là mục tiêu thì đường dẫn tới N đã tìm được và g(N) là giá thành của đường đi đó Nếu không tồn tại đỉnh mở thì đồ thị đó không tồn tại đường đi đến mục tiêu Nếu có từ 2 đỉnh mở trở lên cùng giá trị và 1 trong 2 đỉnh đó là mục tiêu thì quá trình tìm đường đi cũng kết thúc, còn không thì chọn tùy ý một trong 2 đỉnh đó là N

+

= g h f

f

Bước 3: Đóng đỉnh N và đối với mỗi đỉnh sau đó, ta tính g′(s)=g(N)+ (giá thành cung từ N đến S) Nếu đỉnh S đã mở và g(s)≤g′(s) thì bỏ qua S Ngược lại ta mở S và đặt g(s)=g′(s), tính h(s) và ∧f(s)=g(s)+h∧(s)

Bước 4: Quay về bước 2

Bây giờ chúng ta có thể dùng A* để tìm đường đi ngắn nhất giữa 2 thành phố dựa theo bản đồ giao thông với tri thức bổ sung có thể là khoảng cách đường chim bay từ điểm (thành phố) n tới mục tiêu (thành phố cần đến) Do khoảng cách đường chim bay bao giờ cũng nhỏ hơn khoảng cách đường giao thông nên với mọi n Thuật giải A* với tri thức bổ sung như trên sẽ tìm được đường đi ngắn nhất (hoặc giá thành nhỏ nhất) với mức độ hiệu quả càng cao nếu càng gần h(n)

)

(n

h

)()(n h n

Trang 20

Chương 2: Các thuật toán tìm đường đi

là các trọng số cho biết vai trò của g và tham gia trong quá trình giải Ngoài

ra cũng cần thêm các ước lượng về giá thành (độ phức tạp) của việc xác định

và tập đỉnh đóng để có cơ sở đánh giá hiệu quả của thuật giải một cách đầy đủ

h

h

Trang 21

Chương 3: Game Engine

Chương 3

GAME ENGINE

Có thể định nghĩa engine như một loại máy móc làm cho xe chạy, nó hoạt động bên trong, như chuyển năng lượng động lực vào trục xe làm xe chuyển động Người lái xe không quan tâm đến những gì xảy ra bên trong

Một engine 3D cũng được định nghĩa như vậy Khi chúng ta gọi một hàm khởi động và gởi một mô hình 3D đến graphic adapter (GA), engine 3D sẽ giao tiếp với GA và hiển thị mô hình 3D lên màn hình

Công việc của engine là làm những việc khó chịu ở cấp thấp như: giao tiếp với card đồ họa, biến đổi các mô hình, làm việc với các phép toán khó hiểu như phép biến đổi ma trận…

Các nhà lập trình game cũng giống như người lái xe, khi sử dụng một engine, họ không cần quan tâm một engine thực sự làm việc như thế nào, họ chỉ cần xác định đưa vào những gì, và engine sẽ đưa ra kết quả

Có rất nhiều định nghĩa khác nhau về engine Các nguyên lý tổng quát mà 1 engine phải có :

1 Quản lý dữ liệu trong vùng mà nó chịu trách nhiệm

2 Tính toán dữ liệu theo nhiệm vụ của nó

3 Xử lý dữ liệu đến instance sau của nó, nếu cần thiết

4 Nhận dữ liệu để quản lý và tính toán từ các instance có trước

3D GameStudio cũng là một game engine Nó bao gồm 3 thành phần sau: WED editor, MED, C-Script editor Chúng ta cùng tìm hiểu cách sử dụng của 3

bộ phận của 3D GameStudio

Trang 22

Chương 3: Game Engine – Cách sử dụng WED

I WED editor

WED là một trình biên soạn Lập trình viên có thể sử dụng nó để tạo ra một thế giới ảo của game WED là công cụ để kết hợp lại toàn bộ các thành phần: level (được tạo ra bởi WED), các mô hình (được tạo ra bởi MED) và các mã lệnh (được viết trong SED) tạo ra sản phẩm cuối cùng

Với WED, chúng ta có thể tạo ra được một khung cảnh 3D hết sức dễ dàng

mà không cần phải có bất cứ kinh nghiệm gì về việc tạo hình 3D Với cả những người mới bắt đầu và những nhà thiết kế chuyên nghiệp, WED cũng sẽ là một công cụ rất cần thiết có thể tạo ra một khung cảnh 3D chuyên nghiệp một cách đơn giản và nhanh chóng

1.Những khái niệm cơ bản

a Giao diện sử dụng

Khi mở WED, màn hình giao diện sau sẽ xuất hiện:

Trang 23

Chương 3: Game Engine – Cách sử dụng WED

Đây chính là môi trường mà chúng ta sẽ làm việc để tạo ra một game trong 3D GameStudio Tạo ra một game 3D, tức là đưa những đối tượng vào môi trường 3D này, và gắn các thuộc tính và hành vi mà chúng ta đã lập trình vào chúng, hoặc chọn từ một danh sách các hành vi đã được tạo sẵn

Đầu tiên, chúng ta cần chú ý đến 4 cửa sổ 2D và 3D Mỗi cửa sổ tượng trưng cho một khung nhìn ở mỗi góc khác nhau trong lúc thiết kế game Có thể cuộn một cửa sổ bằng cách click và rê chuột phải, và có thể phóng to, thu nhỏ bằng nút lăn

Khung nhìn 3D sẽ cho chúng ta thấy trước một game sẽ được thể hiện như

thế nào Chúng ta có thể chuyển khung nhìn 3D sang các dạng khung lưới,

đặc, kết cấu Trong mục Preferences chúng ta có thể chọn cách biểu diễn đồ

họa trong khung nhìn 3D Mục cuối cùng dùng để điều chỉnh độ sáng nền để cho ra một quang cảnh giống thực, nhưng vẫn không hoàn giống với sản phẩm cuối cùng

Trang 24

Chương 3: Game Engine – Cách sử dụng WED

Khi click phải vào khung nhìn 3D và chọn GXL Properties, thì các đặc

điểm như độ sáng và tầm nhìn có thể được thay đổi

Chúng ta có thể tìm thấy thanh bar ở phía trên, phía dưới là dòng trạng thái và

phía trái là cửa sổ dự án Nó chứa các cửa sổ Objects, Views, Textures và

Resources

b Thanh Icon

Thanh bar này chứa những hàm thường dùng trong các menu, và chúng ta

có thể gọi một hàm bằng cách nhấp chuột Khi rê chút đến một Icon sẽ xuất hiện một dòng chữ gần con chuột để giải thích ý nghĩa của nút này Có thể cho

hiển thị hay ẩn đi các thanh bar File, Edit và View bằng cách chọn vào menu

View/Toolbar Ngoài ra, chúng ta có thể di chuyển từng thanh bar đến bất cứ

đâu trên cửa sổ Mặc định, sau đây là thứ tự của các nút trên thanh bar:

New, Open, Save, Copy, Paste, Undo, Build, Run, Select, Move, Rotate, Scale, Vertex Move, Edge Move, Face Move, Add Object, Delete Object, Snap on/off, Snap Mode, Snap Size, Axis Restriction, Eye Move, Eye Rotate, Eye Zoom, Camera Move, Camera Walkthru, Scope Up, Scope Down

c Mode

Chế độ Select: Nếu chế độ này được chọn, khi nhấn

nút trái chuột thì một khối, nhóm hoặc một đối tượng nào đó sẽ được chọn Nếu không chọn được đối tượng mong muốn, có thể là nó đang được phủ bởi một đối tượng khác, vì thế chỉ cần nhấn nút chuột trái tiếp đến khi nào chọn được thì thôi Chúng ta có thể chọn nhiều

Trang 25

Chương 3: Game Engine – Cách sử dụng WED

quanh chúng, hoặc giữ phím [CTRL] trong khi chọn các đối tượng

Chế độ Move: Nếu chế độ này được chọn, thì có thể di chuyển một đối

tượng bằng cách nhấn nút trái chuột và rê nó đến vị trí mong muốn Hãy nhìn vào các khung nhìn để kiểm tra xem đối tượng có đến được nơi mong muốn hay không Cũng có thể di chuyển các đối tượng bằng các phím di chuyển

Chế độ Rotate: Nếu chế độ này được chọn, ta có thể quay các khối và các

nhóm được chọn bằng cách nhấn nút trái chuột và rê trái hoặc phải tùy theo ý muốn Trong mỗi khung nhìn, chúng ta chỉ có thể quay một đối tượng theo một hướng nào đó Cũng có thể quay các đổi tượng bằng các phím di chuyển

Chế độ Scale: nhấn và rê nút trái chuột để thay đổi kích thướt của khối và

nhóm đã chọn Nếu rê lên thì chiều cao của khối sẽ tăng lên, rê qua trái thì chiều rộng của khối sẽ được tăng lên Nếu giữ [CTRL] trong khi thay đổi kích thướt thì kích thướt theo chiều dọc và chiều ngang sẽ cùng thay đổi một lượng bằng nhau Khối sẽ được phồng ra hay co vào một cách đối xứng, vì thế chúng

ta cần phải di chuyển khối trở lại đúng vị trí sau khi thay đổi kích thướt của nó

Trang 26

Chương 3: Game Engine – Cách sử dụng WED

WED xem tất cả mọi thứ đều là đối tượng Một đối tượng có thể là một thực thế, một khối, hoặc một nhóm các đối tượng Việc nhóm các đối tượng lại cho phép chúng ta xây dựng nên các cấu trúc như: cầu thang, một chiếc vòm, một chiếc cầu, hoặc một chiếc ghế từ những khối đơn giản Việc nhóm các đối tượng sẽ giúp chúng ta tạo ra được những căn phòng phức tạp và tạo ra một khung

cảnh (level) một cách nhanh chóng từ các cấu trúc

đó Như vậy, một khung cảnh sẽ được cấu tạo từ những cấu trúc phức tạp như các căn phòng trên, được tạo thành từ những cấu trúc đơn giản hơn, vì chính những cấu trúc này được tạo ra từ những đối tượng nhỏ hơn nữa hay chỉ ra từ các khối

Phương pháp thiết kế hướng đối tượng này sẽ dấu đi những thông tin không cần thiết với người dùng Với nó, chúng ta có thể xây dưng một khung cảnh từ những đối tượng có thực mà không cần phải sử dụng hàng ngàn các khối và đỉnh Phương pháp này

có tính dễ điều chỉnh và dễ mang chuyển Người sử dụng có thể tạo ra các cấu trúc khác nhau một cách độc lập, để từ đó tạo ra một thư viện các đối tượng phức tạp để có thể sử dụng lại sau này Vì thế chúng ta sẽ không phải mất thời gian để xây dựng lại những đối tượng tương tự nhau Điều này gợi ra một hướng khác là cách sử dụng các cấu trúc và đối tượng đã được tạo sẵn trong các thư viện

Với thực đơn Object, chúng ta có thể chèn một khối cơ sở (có nhiều loại

khác nhau), một đối tượng 3D đã được tạo sẵn, hoặc chèn vào các tài nguyên

Trang 27

Chương 3: Game Engine – Cách sử dụng WED

ánh sáng (light) hoặc âm thanh (sound), camera, vị trí (positon), địa hình (terrain), mô hình 3D (model), các sprite 2D, các đường dẫn (path)

một đối tượng sẽ hiện ra một thực đơn và chọn Properties sẽ có thể thay đổi

được thuộc tính của các đối tượng Nếu nhấn vào dấu “+” các đối tượng trong nhóm này sẽ được mở ra, vì thế các đối tượng này có thể được chọn và sửa đổi một cách riêng biệt Đối tượng có thể bị khóa lại bằng cách nhấn phải chuột

và chọn Render Style/Disable

Views: nhấp phải chuột vào Views List vị trí các cửa sổ có thể được chọn,

lưu và gọi lại

Texture: Để tạo ra một khung cảnh trong đó các bức tường có một kết cấu xác định, chúng ta cần phải mở tập tin *.WAD chứa nhiều kết cấu khác nhau

Chọn thực đơn Texture / Texture Manager / Add WAD (hoặc nhấp phải vào kết cấu mặc định và chọn Texture Manager / Add WAD ) Chúng ta có thể chọn

nhiều tập tin WAD cùng lúc, và cũng có thể thêm một kết cấu nào đó đến vào một tập tin WAD Hình ảnh của các kết cấu trong tập tin WAD sẽ xuất hiện dưới thanh WAD tương ứng và có thể được cuộn lên bằng thanh cuộn được đặt

ở phía bên phải Nếu nhấp vào một thanh WAD nào đó, thì hình ảnh của tập tin WAD tương ứng sẽ được mở ra hoặc đóng lại

Khi nhập double chuột vào một kết cấu của một WAD thì kết cấu này sẽ được gắn vào đối tượng đang chọn

Trang 28

Chương 3: Game Engine – Cách sử dụng WED

Nhấp phải chuột vào một kết cấu trong một WAD, một thực đơn xuất hiện, lúc này chúng ta có thể xóa kết cấu này khỏi WAD hoặc đổi tên của nó, và cũng có thể thay đổi các thuộc tính của nó Với thực đơn này chúng ta có thể thêm một kết cấu mới vào WAD từ các ảnh có dạng PCX, BMP hoặc TGA, và

cũng có thể đánh dấu các kết cấu thường dùng vào bookmarks, lưu WAD hoặc

mở texture manager

Cửa sổ Object sẽ hiển thị kết cấu của một đối tượng được chọn Trong cửa

sổ Texture chúng ta sẽ luôn luôn thấy hình ảnh và tên của một kết cấu mà con

chuột đang chỉ đến nó trong WAD Nếu đóng WAD lại hoặc di chuyển chuột ra

ngoài cửa sổ project, thì kết cấu được chọn cuối cùng vẫn được giữ trong cửa

sổ này

Kích thướt của các cửa sổ có thể được thay đổi bằng cách kéo rê chuột ở cạnh bên dưới của cửa sổ

Resources: danh sách tất cả các tập tin có liên quan đến việc thiết kết game

Nếu nhấp double vào một hành vi, thì mã nguồn sẽ được hiện thị ở một cửa sổ khác

Trang 29

Chương 3: Game Engine – Cách sử dụng WED

Giao tiếp với những loại tập tin

mà nó có hỗ trợ Chúng ta có thể

mở tập tin MAP và QLE và các tập tin trung gian $$M, và lưu chúng với định dạng WMP

Trong phiên bản chuyên nghiệp, chúng có thể được lưu trữ trong định dạng MAP

Map properties: mở cửa sổ thuộc tính map

Add script: đưa những đoạn mã mẫu vào đoạn mã main

Build WMB: trước khi có thể sử dụng các khung cảnh được thiết kế trong

WED, phải chuyển từ định dạng thiết kế (WMP) đến định dạng WMB, là

định dạng mà engine có thể hiểu được Lệnh này đưa ra một hộp thoại cho phép chọn lựa những tùy chọn khác nhau để biên dịch tập tin thiết kế

(WMP)

Run level: bắt đầu engine và kết hợp mã nguồn với khung cảnh thiết kế

Chúng ta có thể chọn chế độ cửa sổ hoặc chế độ fullscreen, chế độ D3D

hoặc không Hoặc chúng ta có thể khởi động engine trực tiếp (chạy file ACKNEX.EXE) và kiểm tra level của mình Nó nằm ở thư mục BIN, và

Trang 30

Chương 3: Game Engine – Cách sử dụng WED

chúng ta có thể tạo ra một đường tắt trên desktop để khởi động và gọi level của mình

Starter: Trong phiên bản chuyên nghiệp nó tạo ra một tập tin có định dạng

ACKNEX.WDF cho đoạn mã hiện tại ACKNEX.WDF xác định các thuộc tính bắt đầu của ứng dụng trước khi chuyển đến chế độ fullscreen: hiển thị một biểu tượng, hiển thị thông tin biên dịch…

Resource: Trong phiên bản chuyên nghiệp: tạo ra một thư mục con CD

trong thư mục WORK Bên trong có chứa một tập tin tài nguyên WRS đây

là tập tin nén và mã hóa tất cả các tập cần thiết cho game, một tập tin EXE

để khởi động nó, và tập tin WEDS.EXE cùng với một vài tập tin khác Tất

cả các tập tin trong thư mục CD có thể được phân phối tự do Nếu sự phân phối trình soạn thảo level là không được phép, WEDS.EXE,

WWMP2WMB.EXE và WEDS.DAT trong thư mục CD cần được xóa đi

Bằng không, các tập tin WMP và WAD trong game phải được kèm theo cho người dùng cuối WEDS là một phiên bản có giới hạn của WED Nó chỉ

được dùng để biên soạn level trong lúc phân phối game – nó không thể được dùng như là một phần mềm riêng biệt Nó sử dụng tất cả các thực thể

và hành vi tìm thấy trong tập tin tài nguyên Các đoạn mã trong các tập tin script không thể thay đổi được – đó luôn luôn là tập tin có chứa đoạn mã

chính Các tập tin WAD có thể được gọi đến như là thành phần bên ngoài, nhưng không thể sửa lại được RESOURCE, PUBLISH và STARTER thì

không được hoạt động Tất cả những đặc điểm còn lại WED có thể sử dụng được Tất cả những tập tin nằm trong dấu ngoặc góc (<>) trong mã nguồn,

và tất cả các tập tin nằm trong level được đưa ra bởi câu lệnh khai báo level

đều được đưa vào tài nguyên Tuy nhiên có một vài tập tin vẫn phải tuân theo các quy luật hiện tại và không thể được truy xuất từ tập tin tài nguyên:

Trang 31

Chương 3: Game Engine – Cách sử dụng WED

các tập tin DLL, âm thanh và bất kì tập tin nào được truy xuất bằng lệnh

file_ đều phải được đưa vào bằng tay trong lúc phân phối game

Publish: tạo ra một thư mục con CD trong thư mục WORK, và sao chép tất

cả các tập tin cần thiết cho game vào đó Một tập tin EXE để bắt đầu game cũng được tạo ra, và có thể tự do phân phối Chú ý rằng tập tin EXE đã bị

khóa – nó không thể bắt đầu một game khác hoặc với một đoạn mã đã bị

thay đổi Toàn bộ thư mục CD có thể được chép vào CD-ROM để phân

phối Tất cả các tập tin được gọi đến cùng với dấu ngoặc góc (<>), và cùng

với dòng khai báo level, đều được đưa vào thư mục CD

Recent Files: hiển thị 4 tập tin map gần nhất để có thể mở nhanh hơn

Preferences: lệnh này để cho chúng ta có thể thay đổi một vài tùy chọn

trong WED Tùy chọn khác có thể được thay đổi trong tập tin

OPTIONS.SCR trong thư mục data

Map Properties

Mở một cửa sổ thuộc tính map, ở đây chúng ta có thể chọn hoặc tạo ra một tập tin script, chọn lựa màu, và chọn

lựa kích thướt quan hệ (Nexus)

với engine cho map Tập tin script phải nằm trong cùng thư mục với tập tin map Một tập tin script mới

có thể được tạo bằng cách nhấn vào nút New Kích thướt của nexus tùy

thuộc vào level lớn nhất trong game, và phải được tăng lên nếu thông điệp

nexus too small xuất hiện Bảng màu được đưa ra từ một tập tin PCX hoặc

BMP 8 bit hoặc từ một tập tin RAW được phát sinh trong qua trình build

Tất cả các kết cấu 8 bit cũng phải được sửa lại để phù hợp với nó Một bảng

Trang 32

Chương 3: Game Engine – Cách sử dụng WED

màu thì luôn luôn rất cần thiết ngay cả khi màu của các kết cấu sử dụng là các màu thật, để duy trì khả năng của engine để chạy trong chế độ 8-bit Tất

cả các màu là các giá trị RGB có phạm vi giá trị từ 0 255 Ánh sáng bầu trời được phát ra bởi hộp bầu trời bao quanh level

Khi nhấn chuột vào nút new script,

một hộp thoại mới xuất hiện cho phép chọn lựa bất cứ loại script mẫu nào tìm

thấy trong thư mục template_6, hoặc

một script trống rỗng Theo phương pháp này chúng ta có thể chọn lựa những script mẫu cũ hay là mới hoặc thêm vào các mẫu script mặc định

Các script mẫu cũ được sử dụng trong hướng dẫn này Chúng chỉ dành cho những game bắn súng đơn giản, và không được đề nghị trong các game thương mại

Các script mẫu mới thì mềm dểo và mạnh hơn, có thể dễ dàng kết hợp với mã nguồn riêng của chúng ta và thích hợp với các game thương mại

Để thay đổi 4 màu sương mù (fog) Có thể thay đổi nó bằng

cách thay đổi biến fog_color

trong tập tin script

Trang 33

Chương 3: Game Engine – Cách sử dụng WED

Để thay đổi ánh sáng mặt trời (sunlight), màu sắc ở xung quanh (ambient), vòm trời (sun azimuth), độ cao của mặt trời (sun elevation)

2.1.2 Thực đơn edit

undo: quay lại bước sau cùng cut: cắt phần đang chọn copy: sao chép phần đang chọn paste: dán

Select_None: bỏ chọn Delete: xóa phần đang chọn

Duplicate: Tạo ra một bản sao của đối tượng được

chọn Các đối tượng cũng có thể được nhân đôi bằng cách giữ phím [SHIFT]

và rê chuột, hoặc nhấn phím [INS] trong khi rê chuột

Hollow Block: hàm này chỉ dành cho các khối Nó làm trống rỗng đi một khối

đặc, phân ra nhiều khối mỏng hơn bao quanh một khu vực trống rỗng bên trong Lệnh này thường được sử dụng để tạo ra một căn phòng được cấu thành

từ nhiều khối hình lập phương

CSG Subtract: làm việc giống như một vật để cắt một cái bánh Nó khoét lỗ

bên trong các khối đặc bằng cách sử dụng đối tượng được chọn như là vật để cắt Nó xóa đi những phần của các khối khác mà giao với đối tượng được chọn Kết cấu của vật cắt được gán cho mặt phẳng bị cắt Hàm này được sử dụng để chặt đứt các mảnh từ các khối, hoặc tạo ra một lỗ trống giữa 2 căn phòng để

Trang 34

Chương 3: Game Engine – Cách sử dụng WED

làm một cửa đi Hàm này chỉ có tác dụng cho các khối và không có tác dụng trên các nhóm và thực thể

Chế độ Object: chỉ những loại đối tượng có thể chọn và thay đổi được

All Objects: tất cả các đối tượng đều có thể được chọn và thay

của một thông điệp lỗi hoặc cảnh báo trong quá trình BUILD Chỉ tiến đến khối

có số được phát sinh ra trong quá trình build Nếu khối đó được chứa trong một nhóm thì tất cả nhóm sẽ được đánh dấu, và chúng ta có thể sử dụng lệnh scope

down và lặp lại lệnh Find Object để tìm kiếm lại khối này

2.1.3 Thực đơn mode

Một chế độ trong WED đưa ra cách thức hoạt động mặc định khác nhau của các nút chuột Có 11 chế độ soạn thảo khác nhau, đó là:

• Object Select

Trang 35

Chương 3: Game Engine – Cách sử dụng WED

Object Select: chế độ này cho phép chọn một đối tượng để nhận một hành động

tiếp theo Để chọn đối tượng, đặt con chuột trên một đối tượng và nhấn nút chuột trái vào đối tượng cho đến khi đối tượng chuyển sang màu đỏ Quá trình chọn đối tượng đi từ đối tượng gần nhất đến đối tượng xa nhất nằm ở vị trí dưới con trỏ Chúng ta có thể chọn nhiều đối tượng bằng cách rê một hình chữ nhật xung quanh các đối tượng đó, hoặc giữ phím [CTRL] trong khi nhấn trái chuột vào các đối tượng Chế độ chọn đối tượng cũng được đưa vào trong các

chế độ Object Move, Object Rotate và Object Scales Để chọn các đối tượng

trong các chế độ này, hãy nhấn trái chuột và không di chuyển chuột

Object Move: Chế độ này cho phép thay đổi các đối tượng được chọn Để di

chuyển một đối tượng, nhấn trái chuột để chọn một đối tượng trong cửa sổ thiết

kế, rê nó đến vị trí mới và thả chuột ra Chúng ta cũng có thể di chuyển một đối tượng bằng các phím di chuyển Chúng ta chỉ có thể di chuyển đối tượng song

Trang 36

Chương 3: Game Engine – Cách sử dụng WED

song với cửa sổ thiết kế Khi Snap được kích hoạt trên thanh bar, đối tượng chỉ

có thể di chuyển theo tọa độ gốc (World Snap), theo gốc tọa độ của một nhóm (Local snap), hoặc theo gốc tọa độ của riêng đối tượng (Delta snap) Nút Move

Restrict trên thanh bar hạn chế sự di chuyển theo hướng dọc và hướng ngang

Giữ phím [INS] trong khi di chuyển để tạo ra một bản sao của đối tượng ở vị trí của con chuột

Object Rotate: Chế độ này cho phép thay đổi hướng của đối tượng được chọn

Để quay một đối tượng, hãy nhấn trái chuột vào đối tượng đó trên cửa sổ thiết

kế, rê nút trái hoặc phải chuột và thả ra Việc này sẽ làm cho đối tượng quay theo hướng ngược chiều kim đồng hồ và cùng chiều kim đồng hồ trong mặt phẳng song song với cửa sổ Chúng ta cũng có thể quay các đối tượng bằng các phím mũi tên

Object Scale: Chế độ này cho phép thay đổi kích thướt của các đối tượng

Tương tự như Object Move và Rotate, chúng ta có thể thay đổi kích thướt của

một đối tượng bằng cách: chọn đối tượng, rê và thả chuột theo ý muốn Theo mặc định, tại một thời điểm, WED sẽ giới hạn chỉ thay đổi kích thướt theo hai chiều 2 chiều này được xác định bởi các trục của mặt phẳng song song với cửa

sổ Khi thay đổi kích thướt của một nhóm các đối tượng, chỉ kích thướt của các khối trong nhóm đó mới được thay đổi Các thực thể chỉ có thể thay đổi kích

thướt theo cách riêng Nút Axis Restriction trên thanh bar sẽ hạn chế sự thay

đổi kích thướt theo hướng dọc hoặc hướng ngang Nếu phím [CTRL] được giữ trong lúc rê chuột, thì kích thướt của đối tượng sẽ được thay đổi bằng nhau theo

2 hướng

Vertex Move: hàm này chỉ dành cho các khối hoặc cách đối tượng đường dẫn

(path) Nó cho phép thay đổi hình dạng của một khối bằng cách thay đổi vị trí của các đỉnh Trong chế độ này, các đỉnh của khối được chọn sẽ được hiển thị

Trang 37

Chương 3: Game Engine – Cách sử dụng WED

mới Khi biên dịch map, tất cả các khối đặc phải có hình dạng lồi Chúng ta không thể thay đổi vị trí của một đỉnh mà làm cho khối có hình dạng lõm Điều này xảy ra khi chúng ta rê một đỉnh ra khỏi mặt phẳng của bề mặt Trong

trường hợp này, WED sẽ phát sinh ra một lỗi Nếu nhấn vào nút Ignore thì khối

có dạng không hợp lệ này sẽ bị giữ lại và việc này có thể tạo ra nhiều lỗi trong map – vì thế đừng nên mạo hiểm Bằng không WED sẽ chuyển khối trở lại trạng thái gốc

Face Move: Hàm này chỉ dành cho các khối Nó cho phép di chuyển một bề

mặt của một khối đến vị trí khác Trong chế độ này, các điểm màu vàng xuất hiện ở giữa tất cả các bề mặt của nó Để di chuyển một mặt, nhấp chuột phải

vào điểm màu vàng và kéo rê nó đến vị trí mới Khi sử dụng chế độ Snap, chuyển đến Delta Snap để tránh tình trạng làm méo mó các khối Di chuyển

một mặt có thể làm méo mó một khối, làm cho nó có hình dạng lõm không có giá trị Trong trường hợp này WED sẽ phát sinh ra một lỗi Nếu nhấn vào nút

Ignore thì khối có dạng không hợp lệ này sẽ bị giữ lại và việc này có thể tạo ra

nhiều lỗi trong map – vì thế đừng nên mạo hiểm Bằng không WED sẽ chuyển khối trở lại trạng thái gốc

Eye Move: Chế độ này thay đổi vị trí của con mắt ảo đang nhìn vào cửa sổ thiết

kế Theo mặc định, tất cả các tiêu điểm của 4 cửa sổ đều nằm tại một điểm trong không gian Nếu di chuyển một khung nhìn của một cửa sổ thiết kế, thì khung nhìn của tất cả các cửa sổ thiết kế khác sẽ tự động cập nhật theo tiêu điểm mới Để di chuyển vị trí tiêu điểm này, nhấn chuột trái và kéo rê chuột trong bất kì cửa sổ nào Sự di chuyển này chỉ nằm trong mặt phẳng song song với cửa sổ Để di chuyển tiêu điểm tiến tới và lùi ra trong trong khung nhìn 3D, nhấp phải và kéo rê chuột tới và lùi ra trong cửa sổ thiết kế 3D Chúng ta cũng

có thể dùng phím mũi tên để di chuyển vị trí của tiêu điểm

Trang 38

Chương 3: Game Engine – Cách sử dụng WED

Eye Rotate: Chế độ này cho phép thay đổi hướng của khung nhìn trong cửa sổ

thiết kế 3D Có 2 cách thực hiện Cách thứ nhất là quay tròn khung nhìn xung quanh tiêu điểm thiết kế Vị trí của con mắt ảo thay đổi nhưng vị trí của tiêu điểm thiết kế thì không Vì thế cách thực hiện này sẽ không có tác dụng trong cửa sổ 2D Bằng cách nhấp trái và kéo rê chuột trong cửa sổ thiết kế 3D Mặc định, chế độ này sử dụng giao diện quả cầu thạch anh, thì hành động quay sẽ trông giống như việc quay một quả cầu thạch anh xung quanh tiêu điểm Nếu

tùy chọn Invert Mouse được kích hoạt trong cửa sổ cấu hình (config), thì chế độ

này sẽ sử dụng tương tác quay theo quỹ đạo Lúc đó, chúng ta sẽ di chuyển vị trí của con mắt qua trái và phải xung quanh vị trí tiêu điểm Cách thứ 2 là con mắt của khung nhìn 3D vẫn nằm ở vị trí đó, nhưng khung nhìn sẽ nhìn lên, nhìn

xuống, nhìn trái, nhìn phải Nếu tùy chọn View/Lock Views được chọn, chế độ

này sẽ đưa ra một tiêu điểm thiết kế mới dựa trên hướng của khung nhìn mới,

và cập nhật các khung nhìn 2D có liên quan Để quay khung nhìn, nhấn phải và kéo rê chuột trong cửa sổ thiết kế 3D

Eye Zoom: Chế độ này cho phép phóng to hoặc thu nhỏ khung nhìn 2D Nhấp

trái chuột trong bất kì cửa sổ nào và kéo rê chuột lên và xuống Trong khung nhìn 3D, chế độ này cho phép tăng và giảm khoảng cách giữa vị trí con mắt của khung nhìn 3D với vị trí của tiêu điểm

Walk-thru: Chế độ này cho phép di chuyển khung nhìn 3D trong toàn bộ khung

cảnh thiết kế sử dụng giống như camera Fly-thru Trong chế độ này, chúng ta

có thể sử dụng chuột để nhìn trái, phải, trên, dưới và di chuyển bằng cách dùng

các phím mũi tên hoặc nút phải chuột Giữ [shift] để nhân đôi tốc độ Phím [Home] và phím [End] cho phép di chuyển theo chiều dọc [Pgup], [PgDn],

Left/Right cho phép rẽ xung quanh trục chính Ấn phím [ESC], [SPACE], hoặc

[ENTER] bất cứ lúc nào muốn thoát khỏi chế độ WalkThrough

Trang 39

Chương 3: Game Engine – Cách sử dụng WED

Grouping: Thực đơn con – Nhóm và giới hạn lại các đối

tượng, đây chính là đặc trưng hướng đối tượng của WED

Khi nhóm và giới hạn lại, chúng ta có thể xem nhiều nhóm như là những đối tượng có thực Chúng ta có thể nhóm các đối tượng bằng cách sử dụng các lệnh theo sau:

Add To: Sử dụng lệnh này để thêm những đối tượng được

chọn vào một nhóm Màu của các đối tượng được chọn sẽ chuyển sang màu da cam để chúng ta biết rằng đối tượng

đã được đánh dấu chuẩn bị gom thành nhóm

Finish: Lệnh này nhận ra các đối tượng đã được đánh dấu

hoặc được chọn và nhóm chúng lại thành một đối tượng mới

Ungroup: Lệnh này sẽ phân nhóm được chọn ra thành các đối tượng riêng

rẽ

Scope: Thực đơn con - việc này tương tự như tập hợp các thư mục trong một hệ

thống tập tin WED định nghĩa giới hạn của một đối tượng là tập hợp các thành phần con của nó Nếu chúng ta muốn thay đổi các thành phần con của một đối tượng, đầu tiên chúng ta cần phải nhảy tới phạm vi của đối tượng này WED

cung cấp 2 lệnh scope up và scope down để thực hiện các mục tiêu này Giới

hạn dưới cuối cùng là các bề mặt của một khối, trong khi giới hạn trên cùng thì luôn luôn là toàn bộ map

Scope up: lệnh này sẽ thoát ra khỏi phạm vi của một đối tượng Nếu phạm

vi hiện thời là toàn bộ level, và có nhiều đối tượng trong phạm vi hiện thời, WED sẽ tạo ra một phạm vi mới và đặt tất cả các đối tượng vào một nhóm mới Hàm này tương tự với lệnh chuyển về thư mục cha trong hệ thống tập tin

Trang 40

Chương 3: Game Engine – Cách sử dụng WED

Scope down: lệnh này cho phép tiến vào phạm vi của một nhóm các đối

tượng Mặc định, tất cả mọi thứ, ngoài đối tượng được chọn sẽ không xuất

hiện trong cửa sổ thiết kế Scope down sẽ dấu đi những thông tin không cần

thiết, tức là dấu đi phần còn lại của khung cảnh mà chỉ làm việc với đối tượng được chọn Hàm này tương tự với lệnh chuyển về thư mục con trong

Add Primitive: Thực đơn con này cung cấp một vài khối cơ sở mà chúng ta có

thể sử dụng trong WED Những khối cơ sở này gồm có các loại: hình lập phương, hình cầu, hình tam giác, và các hình lăng trụ có số cạnh khác nhau

Add Prefab: Thực đơn con này đưa ra khoảng 500 loại đối tượng, được sắp

xếp vào một vài nhóm, được sử dụng trong WED Đồ đạc, cửa, xe cộ hoặc các kiến trúc có giá trị khác Các đối tượng được làm sẵn nằm trong thư mục

PREFAB và có thể được thêm vào bởi người dùng

Add Light: đặt một nguồn sáng tĩnh vào map Chúng ta có thể thay đổi màu sắc

(chỉ trong một vài phiên bản) và độ sáng bằng cách thay đổi các giá trị Red,

Green, Blue (từ 0 25) và phạm vi của nguồn sáng Nếu Red và Green được gán

là 0 thì ánh sáng có màu trắng thì độ sáng của nó được thay đổi bởi giá trị Blue

Add Sound: Đặt một tài nguyên âm thanh tĩnh (tập tin WAV) vào map Chúng

ta có thể điều chỉnh độ lớn và phạm vi của tài nguyên âm thanh

Add Position: Đặt một vị trí vào map Vị trí có thể được xác định trong lúc viết

mã Nếu không có thực thể người chơi, vị trí đầu tiên được sử dụng là vị trí bắt

Ngày đăng: 23/11/2012, 08:13

HÌNH ẢNH LIÊN QUAN

đối tượng bằng cách kéo rê một hình chữ nhật xung - ứng dụng trí tuệ nhân tạo trong xây dựng game
i tượng bằng cách kéo rê một hình chữ nhật xung (Trang 24)
nexus too small xuất hiện. Bảng màu được đưa ra từ một tập tin PCX hoặc BMP 8 bit hoặc từ một tập tin RAW được phát sinh trong qua trình build - ứng dụng trí tuệ nhân tạo trong xây dựng game
nexus too small xuất hiện. Bảng màu được đưa ra từ một tập tin PCX hoặc BMP 8 bit hoặc từ một tập tin RAW được phát sinh trong qua trình build (Trang 31)
2.3.3. Tab Texture - ứng dụng trí tuệ nhân tạo trong xây dựng game
2.3.3. Tab Texture (Trang 47)
sổ Texture. Khi nhấp vào một kết cấu thì hình ảnh của nó sẽ được xuất hiện ở - ứng dụng trí tuệ nhân tạo trong xây dựng game
s ổ Texture. Khi nhấp vào một kết cấu thì hình ảnh của nó sẽ được xuất hiện ở (Trang 47)
Settings: Xuất hiện bảng điều chỉnh các thuộc tính của một kết cấu.  - ứng dụng trí tuệ nhân tạo trong xây dựng game
ettings Xuất hiện bảng điều chỉnh các thuộc tính của một kết cấu. (Trang 48)
File: Tên tập tin địa hình, map, mô hình, ảnh của thực thể (tối đa 32 kí tự).  - ứng dụng trí tuệ nhân tạo trong xây dựng game
ile Tên tập tin địa hình, map, mô hình, ảnh của thực thể (tối đa 32 kí tự). (Trang 52)
4.1. Thực thể mô hình - ứng dụng trí tuệ nhân tạo trong xây dựng game
4.1. Thực thể mô hình (Trang 55)
Một mô hình làm ột đối tượng 3D có thể chuyển động, được lưu trữ trong tập tin ngoài MDL - ứng dụng trí tuệ nhân tạo trong xây dựng game
t mô hình làm ột đối tượng 3D có thể chuyển động, được lưu trữ trong tập tin ngoài MDL (Trang 55)
MED được sử dụng để tạo hoặc chuyển đổi định dạng các mô hình hoặc các địa hình 3D trong 3D GameStudio - ứng dụng trí tuệ nhân tạo trong xây dựng game
c sử dụng để tạo hoặc chuyển đổi định dạng các mô hình hoặc các địa hình 3D trong 3D GameStudio (Trang 59)
Mở hoặc đưa một mô hình hoặc địa hình. Danh sách các tập tin này đưa ra nhiều định dạng khác nhau - ứng dụng trí tuệ nhân tạo trong xây dựng game
ho ặc đưa một mô hình hoặc địa hình. Danh sách các tập tin này đưa ra nhiều định dạng khác nhau (Trang 62)
Vertices Ticks: Thể hiện tất cả các đỉnh bằng hình chữ - ứng dụng trí tuệ nhân tạo trong xây dựng game
ertices Ticks: Thể hiện tất cả các đỉnh bằng hình chữ (Trang 65)
Điều chỉnh sự hoạt động của mô hình. Các nút từ trái qua phải: - ứng dụng trí tuệ nhân tạo trong xây dựng game
i ều chỉnh sự hoạt động của mô hình. Các nút từ trái qua phải: (Trang 72)
Skin Mesh From ASC: Nhập một skin cho mô hình từ một tập tin. Chúng ta phải xuất một mạng lưới trước mới có thể nhập được - ứng dụng trí tuệ nhân tạo trong xây dựng game
kin Mesh From ASC: Nhập một skin cho mô hình từ một tập tin. Chúng ta phải xuất một mạng lưới trước mới có thể nhập được (Trang 74)
Pen: Vẽ/Tô mô hình với màu đang chọn. - ứng dụng trí tuệ nhân tạo trong xây dựng game
en Vẽ/Tô mô hình với màu đang chọn (Trang 79)
3. Cấu hình - ứng dụng trí tuệ nhân tạo trong xây dựng game
3. Cấu hình (Trang 83)
Hình sau đây sẽ biểu diễn vị trí của camera trong trường hợp này: Lúc này chúng ta cần chỉnh lại mã nguồn như sau:  - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình sau đây sẽ biểu diễn vị trí của camera trong trường hợp này: Lúc này chúng ta cần chỉnh lại mã nguồn như sau: (Trang 114)
Hình sau đây sẽ biểu diễn vị trí của camera trong trường hợp này: - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình sau đây sẽ biểu diễn vị trí của camera trong trường hợp này: (Trang 114)
Hình 1 - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình 1 (Trang 117)
Hình 2 - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình 2 (Trang 118)
Hình 3 - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình 3 (Trang 118)
Hình 2  Nếu một nút chứa một chướng ngại vật thì ta xem nút đó là nút không có  giá trị, sẽ không được chọn trong lúc tìm đường đến đích - ứng dụng trí tuệ nhân tạo trong xây dựng game
Hình 2 Nếu một nút chứa một chướng ngại vật thì ta xem nút đó là nút không có giá trị, sẽ không được chọn trong lúc tìm đường đến đích (Trang 118)
Với thuật toán như vậy, trong hình 3 để tìm đường đi từ điểm bắt đầu (bd) đến - ứng dụng trí tuệ nhân tạo trong xây dựng game
i thuật toán như vậy, trong hình 3 để tìm đường đi từ điểm bắt đầu (bd) đến (Trang 119)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w