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ânloại game.2
1.2.1. Gamehành động.2
1.2.2. Gamenhậ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ìmkiế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
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
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
2.5. Kiểm tra cú pháp.73
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ầmnhìn của người thứnhất.97
2.2. Quaytựdo tầmnhìn của người thứ3.101
2.3. Cách đểcho camera tránh chạmvào tường.106
II. Xe tự động.108
Tránh chướng ngại vật trên đường đi.108
120 trang |
Chia sẻ: lethao | Lượt xem: 2493 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Ứng dụng trí tuệ nhân tạo trong xây dựng game, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bằng cách nhấp phải và kéo rê
chuột, và phóng to, thu nhỏ bằng nút lăn chuột hoặc giữ phím [SHIFT] và rê
nút chuột phải. Khi di chuyển một khung nhìn trong cửa sổ WED sẽ tự động
cập nhật các khung nhìn khác tùy vào vị trí của tiêu điểm mới. Chúng ta có thể
khóa hoặc mở khóa khung nhìn của 4 cửa sổ bằng cách chọn Lock Views.
Engine sử dụng hệ tọa độ thuận tay phải trong lúc thiết kế. Để hiểu được hệ
thống này, hãy tưởng tượng về con đường đi hằng ngày. Chiều dương của trục
X chỉ về hướng đông, và hướng đến cạnh bên phải trong cửa sổ khung nhìn
trên. Chiều dương của trục Y chỉ về hướng bắc, và hướng lên trên trong cửa sổ
khung nhìn trên. Còn trục Z thì chỉ chiều cao của khung cảnh. Chiều dương của
trục Z tiến ra bên ngoài cửa sổ khung nhìn trên và hướng về phía chúng ta. Cửa
sổ sau lưng quy định khung nhìn hướng đến hướng bắc, và cửa sổ bên cạnh quy
định khung nhìn hướng đến hướng tây. Hệ thống lưới của cửa sổ không chia
lưới tọa độ theo bội số của 10, như chúng ta mong đợi mà được chia theo bội số
của 8 (có thể điều chỉnh trong Preference). Theo phương pháp này chúng ta có
thể dễ dàng tạo ra một đối tượng có chính xác cùng kích thướt với kết cấu của
mình, thông thường kích thướt của nó chính là bội số của 2 (như 64x64,
128x128, hoặc 256x256). Sử dụng mạng lưới mặc định và kích thướt của kết
cấu, ví dụ với một kết cấu 128x128 điểm sẽ bao phủ 128 hình lập phương đơn
vị mà không cần phải lợp thêm vào nữa. Kích thướt của một hộp lưới nhỏ, và
số hộp nhỏ trên hộp lưới lớn, được cho biết trên thanh tiêu đề.
35
Chương 3: Game Engine – Cách sử dụng WED
Trong cửa sổ 3D chỉ là một khung nhìn quay xung quanh tiêu điểm thiết kế
trong không gian. Cửa sổ 3D có thể được biểu diễn ở dạng khung dây, rắn,
hoặc kết cấu để xem trước. Cách biểu diễn này có thể được thay đổi bằng cách
chọn thực đơn View/Render. Trong Preferences chúng ta có thể chọn giữa phần
mềm biểu diễn cơ sở (GXL_BASE) và biểu diễn DirectX 8.1(GXL_DX81) cho
khung nhìn 2D và khung nhìn 3D. Tất cả chúng cũng đều hiển thị màu sắc của
nguồn sáng và đưa ra một khung nhìn khá thực cho toàn cảnh, tuy nhiên nó
không có cùng chất lượng như sản phẩm cuối cùng. Nếu phần mềm biểu diễn là
DirectX, chúng ta có thể điều chỉnh các tham số biểu diễn bằng cách nhấn phải
chuột vào cửa sổ và chọn GXL_Properties. Lúc này chúng ta có thể điều chỉnh
tác dụng của mặt trời, ánh sáng được biểu diễn trong cửa sổ 3D.
Chúng ta có thể đưa các khung nhìn của các cửa sổ thiết kế trở về trạng thái
ban đầu bằng lệnh View/Home. Cửa sổ thiết kế có giới hạn theo chiều sâu.
Nhiều đối tượng của khung cảnh sẽ không được hiển thị nếu nó vượt ra khỏi
phạm vi nào đó của khung nhìn. Nó rất hữu ích khi chúng ta xây dựng một
level quá lớn, bởi vì nó có thể làm giảm số đối tượng được hiển thị trên màn
hình. Chúng ta có thể điều chình giá trị khoảng cách trong GXL_Properties
hoặc sử dụng lệnh View/Decrease ViewDepth và View/Increase View Depth.
Để dọn dẹp cửa sổ thiết kế trong lúc xây dựng level, chúng ta có thể tắt việc
hiện thị các thực thể trong map. Chúng ta có thể việc này bằng cách bỏ chọn
tùy chọn Show Entities trong cửa sổ Preferences.
2.3. Cửa sổ dự án
2.3.1. Tab đối tượng
Cửa sổ này hiển thị danh sách tất cả các đối tượng ở dạng cây trong toàn bộ
level. Đối tượng được chọn được làm nổi bật trong cây danh sách. Chúng ta có
thể chọn một đối tượng bằng cách nhấp double vào nó. Có thể chọn nhiều đối
36
Chương 3: Game Engine – Cách sử dụng WED
tượng trong cây đối tượng bằng cách giữ phím [CTRL] trong khi nhấp vào các
đối tượng. Khi nhấp phải vào một đối tượng sẽ đưa ra tùy chọn sau đây:
Scope to: Giới hạn lại một nhóm trong cửa sổ
2D và 3D.
Goto Object: Trung tâm của khung nhìn được
chọn bao quanh đối tượng được chọn.
New Group: Tạo ra một nhóm mới bên trong
nhóm hiện tại.
Ungroup: Đưa các đối tượng ra khỏi nhóm
hiện tại.
Cut/Copy/Delete: Thay đổi một đối tượng
hoặc nhóm đối tượng.
Render style:
Chọn loại biểu diễn (khung dây, đặc, kết cấu) của đối
tượng hoặc nhóm. Cũng cho phép nó không được chọn
(disable) và di chuyển đối tượng, và làm cho nó không thể
nhìn thấy được (invisible) trong khung nhìn.
Đối tượng hoặc nhóm các đối tượng có thể được bỏ qua trong quá trình biên
dịch, để tăng tốc độ biên dịch để kiểm tra các phần khác trong toàn level. Để
làm điều này, chúng ta có thể nhấp chuột phải vào đối tượng và chọn Render
Style->Ignore
Properties: mở ra cửa sổ thuộc tính của đối tượng.
37
Chương 3: Game Engine – Cách sử dụng WED
2.3.2 Tab Views
Cửa sổ này hiển thị một danh sách các khung nhìn đã được lưu, và cho phép
lưu vị trí một khung nhìn nào đó bằng cách nhấp phải chuột.
Add View Setting: vị trí mới của khung
nhìn.
Save View Settings: lưu vị trí của khung nhìn.
Restore View Setting: Gọi lại vị trí của khung nhìn.
Delete: Xóa vị trí của khung nhìn đang chọn.
2.3.3. Tab Texture
Cửa sổ này hiển thị tất cả các kết cấu từ các tập tin kết
cấu đã được xác định trong texture manager. Chúng ta có
thể mở một bộ các kết cấu WAD bằng cách nhấp vào nó,
thay đổi kích thướt cửa số texture bằng cách kéo rê chuột ở
cạnh phía dưới, và có thể cuộn một WAD bằng thanh cuộn
nằm ở phía bên phải. Nếu con chuột đang nằm trên một
texture nào, thì tên của nó sẽ được hiển thị trong cửa sổ cửa
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 ở
38
Chương 3: Game Engine – Cách sử dụng WED
cửa sổ Texture, chúng ta có thể thay đổi các thuộc tính của kết cấu bằng cách
nhấp phải chuột vào nó và chọn Setting. Khi nhấp double chuột vào một kết
cấu, thì nó sẽ xuất hiện trong cửa sổ Object và gắn đến tất cả các mặt của khối
đang chọn. Muốn thay đổi kết cấu của một khối map, đầu tiên chọn khối, rồi
cuộn đến cửa sổ kết cấu, nhấp trái chuột vào kết cấu mong muốn, rồi nhấp
chuột phải vào nó và chọn lệnh apply.
Hộp thoại cũng cho phép thêm vào hoặc xóa đi một kết cấu
trong bộ sưu tập các kết cấu WAD. Nhấp chuột phải vào một kết
cấu đưa ra những tùy chọn sau đây:
Apply: Gắn kết cấu vào đối tượng được chọn.
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.
Tên, độ phân giải, độ sâu của màu sắc.
x – y offset: độ dịch chuyển của kết cấu.
x – y scale: kích thướt của kết cấu.
Angle: góc quay của kết cấu.
Ambient: điều chỉnh cường độ ambient.
Albedo: Albedo dưới 5 để điều chỉnh màu sương mù, trên 5 chỉ cường độ suất
phân chiếu.
Flags Được sử dụng trong lúc viết mã.
Smooths Để điều chỉnh độ mịn của bóng.
Mirror Làm cho kết cấu có độ phản chiếu lại.
Shaded kết cấu vô hình
Flat kết cấu phẳng
39
Chương 3: Game Engine – Cách sử dụng WED
Sky kết cấu bầu trời
Turbulence kết cấu chuyển động
None không có kết cấu
Add Teture: sẽ thêm một kết cấu PCX, BMP, TGA đến WAD, để làm kết cấu
cho các bề mặt. Tên kết cấu được tạo từ các kí tự thông thường, số, gạch dưới
(không chứa các kí tự đặc biệt và khoảng cách). Các trường hợp ngoài lệ: nếu
một kết cấu được đặt tên bắt đầu là một kí tự ‘+’, theo sau là 1 số, thì kết cấu
này là một hoạt ảnh với chu trình từ ‘+0…+9’. Nếu tên bắt đầu là ‘*’ thì đây
chính là một kết cấu chuyển động hỗn loạn có thể qua lại được; nếu nó bắt đầu
với sky, thì nó chính là kết cấu loại bầu trời.
Remove Texture: sẽ xóa kết cấu đang chọn ra khỏi WAD.
Rename: đổi tên kết cấu đang chọn.
Extract Texture: lưu kết cấu được chọn vào tập tin BMP hoặc PCX.
Add to Bookmarks: thêm kết cấu được chọn vào tập các kết cấu được làm dấu.
Save WAD: Lưu tập tin WAD. Chú ý rằng tập tin WAD trong
GameStudio có định dạng khác với định dạng tập tin WAD trong Quake. Tuy
nhiên, WED đều có thể truy cập cả hai loại theo cách thức riêng.
Show Texture: Đưa ra nhiều cách thức hiển thị của kết cấu.
1:1 hiển thị kết cấu cùng với
kích thướt gốc của nó
64x64 hiển thị kết cấu có kích
thướt là 64x64
32x32 hiển thị kết cấu có kích
thướt là 32x32
40
Chương 3: Game Engine – Cách sử dụng WED
Texture Name hiển thị tên của kết cấu
dưới ảnh của nó
Texture Name
Only
chỉ hiển thị tên của kết
cấu
2.3.4. Tab Resource
Cửa sổ này hiển thị danh sách tất cả các tập tin và mã nguồn trong game.
Chúng ta có thể xem mã nguồn hoặc nhấp double chuột vào một tập tin nào đó
để mở nó bằng trình soạn thảo của nó.
2.4. Cửa sổ Bookmark
chúng ta sử dụng cửa sổ này để đánh dấu những kết cấu trong cửa sổ
texture. Để mở cửa sổ này chọn lệnh Textures/Bookmarks. Để đánh dấu một
kết cấu thường sử dụng, nhấp phải chuột vào kết cấu
trong cửa sổ kết cấu rồi chọn lệnh Add to
Bookmarks.
2.5. Thuộc tính của khối
Properties
Block: Cho phép đặt tên cho một khối.
Texture Lock: kết cấu được giữ thẳng hàng trong lúc di chuyển khối. Chúng
không được giữ thẳng hàng trong lúc quay và thay đổi kích thướt.
Passable: Được dùng khi muốn tạo ra một môi trường chất lỏng. Để cho
khối có thể qua lại được và có thể thấy được bề mặt có nó từ bên trong.
Invisible: Chướng ngại vật không nhìn thấy được. Chú ý rằng những khối
không nhìn thấy thì không thể được dò tìm bởi lệnh trace(). Nếu muốn một
41
Chương 3: Game Engine – Cách sử dụng WED
khối khối nhìn thấy nhưng có thể được dò tìm bằng lệnh trace() thì hãy sử dụng
cờ none.
Surface/Texture
Surface: Cho phép gắn một kết cấu khác đến từng bề mặt của khối được chọn,
và điều chỉnh các tham số của bề mặt này. sử dụng nút >> và nút << để chuyển
đến bề mặt mong muốn. Bề mặt được chọn sẽ có màu vàng trong khung nhìn
hiện tại. Để gắn một kết cấu khác đến bề mặt này, chọn một kết cấu mới trong
cửa sổ kết cấu, nhấp phải chuột và chọn apply. Sử dụng X/Y offset, và X/Y scale
để sửa lại cho kết cấu thẳng hàng với cạnh bề
mặt nếu cần. Chúng ta có thể quan sất kết quả
trong khung nhìn 3D. Điều chỉnh Angle để
quay hướng của kết cấu trên bề mặt. Ô flags
cho phép thay đổi các thuôc tính của bề mặt.
Ambient: làm tối hoặc chiếu sáng kết cấu của khối, -100..+100 (mặc định là
0).
Albedo/Fog: hệ số phản xạ của mặt trời (10..100, mặc định là 50), hệ số phản
xạ của gương hoặc màu sắc (1..4).
Shaded: kết cấu thông thường có bóng mờ với ánh sáng tĩnh và ánh sáng
động.
Flat: kết cấu phía bên ngoài, không có bóng mờ. Bóng thẳng theo góc
chiếu sáng của mặt trời.
Sky: bề mặt bầu trời nhiều lớp, cần thiết cho hộp bầu trời bao quanh
khung cảnh. Là mặc định nếu tên kết cấu bắt đầu là ‘sky’.
Turbulence: được dùng cho các chất lỏng, kết cấu này được dùng cho nước
hoặc dung nham. Là mặc định nếu tên kết cấu bắt đầu là ‘*’.
42
Chương 3: Game Engine – Cách sử dụng WED
None: bề mặt không được hiển thị.
Flag1..7 thông thường được sử dụng trong lúc viết mã.
Mirror: xác định bề mặt này có chiều ngang hoặc dọc (chỉ sử dụng trong
các phiên bản chuyên nghiệp).
Possition: cho phép chỉnh sửa bằng số để
di chuyển, quay, kích thướt của khối. Các giá
trị quay và kích thướt có thể nhập vào nhưng
không được thay đổi.
Object: Hiển thị vị trí cục bộ (trong một
nhóm) và toàn cục của một khối.
2.6. Thuộc tính của thực thể
Nhấp phải chuột vào thực thể, rồi
chọn Properties để hiển thị hộp thoại
này. Tùy chọn bên phải xuất hiện:
Name: Mỗi thực thể có một tên
duy nhất, để xác định thực thể trong lúc viết mã. Tên này được phát sinh tự
động nhưng cũng có thể được sửa lại (tối đa 20 kí tự).
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ự).
Ambient: giảm hoặc tăng độ sáng cho thực thể (-100...+100).
43
Chương 3: Game Engine – Cách sử dụng WED
Flags: Transparent – làm cho thực thể trở nên trong mờ.
Invisible – thực thể không nhìn thấy được, nhưng nó vẫn còn là một
chướng ngại vật.
Shadow – thực thể sẽ có bóng nửa trong suốt trên nền đất.
Overlay – chuyển kết cấu của các mô hình hoặc map từ đen sang
trong suốt.
Flare – sự trong suốt của một mô hình hoặc một cảnh phụ thuộc vào
độ sáng của nó.
Bright – tăng độ sáng của một mô hình hoặc cảnh trong mờ, cho các
ngọn lửa hoặc tia sáng.
Metal – làm cho vỏ bên ngoài của thực thể có thể phản xạ lại khi bị
ánh sáng mặt trời chiếu vào.
Action: Hành vi của thực thể, nhận
được từ mã nguồn.
Flag1..Flag8: Có nhiệm vụ là làm
một công tắc, phụ thuộc vào hành vi
của thực thể trong mã nguồn. Chúng
có thể xuất hiện dưới tên gọi khác
được định nghĩa bởi khai báo define
trong mã nguồn.
Skill1..Skill20: chứa các giá trị kiểu
số, phụ thuộc vào hành vi của thực thể
trong mã nguồn. Chúng có thể xuất
hiện dưới tên gọi khác được định
44
Chương 3: Game Engine – Cách sử dụng WED
nghĩa bởi khai báo define trong mã nguồn.
Position: Cho phép di chuyển, quay và thay
đổi kích thướt của thực thể bằng cách nhập
giá trị vào các ô position, angle, scale.
Object: hiển thị vị trí cục bộ (trong một
nhóm) và vị trí toàn cục của thực thể.
3.Thiết kế một map
Không những về mặt thẩm mỹ mà còn cả những kỹ thuật phát sinh cũng
phải được đề cập đến trong lúc thiết kế một level. Một cấu trúc cây BSP chứa
tất cả các bề mặt mà cắt với các mặt khác. Các cạnh và đỉnh không được nhận
từ WED, mà được tính toán từ các phần giao nhau. Ưu điểm của ý tưởng này là
chúng ta có thể sử dụng những khối trùng lắp lên nhau - những phần giao
không nhìn thấy được sẽ bị bỏ đi trong quá trình xử lý, và các cạnh và đỉnh mới
sẽ tự động được thêm vào phần giao nhau. Chính vì đặc điểm này mà biên dịch
sẽ nhanh hơn, bởi vì những khối bị trùng lắp, không thấy được không được
biên dịch (những engine khác sẽ biên dịch tất cả các khối giao với nhau).
Khuyết điểm của ý tưởng này chính là khi các đỉnh tạo ra một góc quá nhỏ dẫn
đến sự chênh lệch vị trí giữa các đỉnh là rất lớn. Nếu bề mặt tiếp xúc hoặc giao
nhau tạo ra một góc rất nhỏ, sai lệch khoảng 1/100 độ có thể cách vị trí các
cạnh khoảng một vài pixel thì có thể thấy được trong level.
Với đặc điểm này, chúng ta không nên sử dụng những khối quá hẹp, quá
dài, hoặc quá nhọn. Không nên tạo ra những khối có cạnh nhỏ hơn 2 quants.
Hãy thiết kế các map có bề mặt ít nhất như có thể, và sử dụng những khối dày
như có thể. Đôi khi chúng ta không thể không sử dụng những bề mặt có góc
quá nhỏ, những vẫn có một cách thiết kế tốt và xấu để thiết kế những bề mặt
này. Ví dụ, khi thiết kế một đoạn đường dốc như thế này:
45
Chương 3: Game Engine – Cách sử dụng WED
Thiết kế tồi: sử dụng khối quá mỏng, góc chênh lệch quá nhỏ. Và các chỗ
nối sẽ có thể giống như là những lỗ hổng.
Thiết kế tốt: sử dụng 3 khối với 15 bề mặt thay vì 5 khối với 20 bề mặt, và
sự sai lệch của một góc, khi xảy ra cũng không nhìn thấy được.
4. Thực thể
Thực thể là loại tập tin ngoài nằm ở thư mục work hoặc trong các thư mục
con của nó. Có 4 loại thực thể có thể đưa vào WED.
4.1. Thực thể mô hình
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. Nó bao gồm một mạng lưới 3D với vỏ bao rất mịn. Mô
hình thực thể thường dùng là các đối tượng nhỏ có thể chuyển động: diễn viên,
quái vật hoặc giống như vậy. Chúng có thể được tạo ra bằng cách sử dụng
46
Chương 3: Game Engine – Cách sử dụng WED
chương trình thiết kế mô hình, như MED, là một thành phần của 3D
gameStudio. Hầu hết tất cả các chương trình thiết kế mô hình, kể cả MED, đều
có thể hiểu các định dạng 3D khác như 3DS, X, hoặc MD2 và chuyển nó thành
mô hình MDL. Vì thế nếu muốn đưa các đối tượng, cảnh được tạo ra bởi một
chương trình khác, như Truespace®, Maya® hoặc 3D Studio MAX®. Với các
mô hình nhận được từ các chương trình như MAX hoặc MAYA có thể được tải
từ trang web GameStudio.
4.2 Thực thể Sprite
Một sprite là một hình phẳng 2 chiều, nó giống như là một hình vẽ trên một
bức tường, hoặc luôn luôn đối mặt với camera nếu cả 3 góc của nó đều là 0. Nó
được lưu trữ trong các tập tin ngoài theo các định dạng PCX, BMP, TGA và có
thể được tạo ra bằng các chương trình vẽ hình chuẩn, như PaintShop Pro hoặc
Adobe Photoshop. Loại tập tin TGA có chứa kênh alpha có thể đưa ra được giá
trị trong suốt trong từng điểm ảnh. Thực thể sprite được biên dịch nhanh hơn
các thực thể map hoặc thực thể mô hình, và rất thích hợp để sử dụng để tạo ra
các vụ nổ, nguồn sáng, ngọn lửa hoặc như thứ tương tự như vậy.
Nếu không muốn một thực thể luôn luôn di chuyển theo camera, thì cần
thiết lập các góc của nó khác 0, như 0.1 chẳng hạn. Với các sprite có thể
chuyển động, cất tất cả các khung chuyển động liên tục trong cùng một tập tin,
ví dụ như tập tin explo+7.pcx trong thư mục template. Thông thường, cần đặt 4
sprite vào một hình dạng ‘X’ để tạo ra một đối tượng giống thế giới thực như
các loại cây. Một vài chương trình làm ảnh chuyển động 3D, như VoodooT
không cho phép kích thướt của các sprite lớn hơn 256x256 điểm ảnh.
4.3 Thực thể Map
Một thực thể map là một đối tượng 3D tĩnh, được lưu trữ trong tập tin ngoài
có định dạng WMB. Thực thể map có thể được sử dụng như là các thành phần
47
Chương 3: Game Engine – Cách sử dụng WED
của level như cửa, nền đất, các loại xe cộ. Bởi vì chúng chỉ là một map đã được
biên dịch, vì thế chúng ta có tạo ra chúng bằng trình thiết kế WED. Thí dụ,
chúng ta có thể chuyển từng map đã được làm sẵn thành một thực thể bằng
cách mở nó, thực hiện BUILD với tùy chọn Map Entity, rồi chép tập tin WMB
vào thư mục hiện tại. Chúng ta có thể tìm thấy các loại map đã được làm sẵn
như cửa, đồ đạc, xe cộ… trong thư mục con prefab. Các thực thể mô hình
(model), ảnh (sprite), địa hình (terrain) đều là như bộ phận cấu thành thực thể
map sẽ được đưa vào level khi thực thể map được đưa vào level. Như vậy, một
nhóm thực thể có thể được định nghĩa và biên dịch thành các thực thể map.
Chúng ta có thể truy cập đến các thực thể trong thực thể map bằng chỉ lệnh
map_subents.
4.4. Thực thể Địa hình (terrain)
Thực thể địa hình gồm nhiều kết cấu được ánh xạ vào mạng lưới hình chữ
nhật. Nó được tập tin ngoài HMP (không được hỗ trợ trong tất cả các phiên
bản). Giống như tên gọi thực thể địa hình có thể được sử dụng như là các thành
phần lớn hoặc nhỏ của level mà không theo bất kì quy luật nào của địa hình.
Địa hình không quay được.
4.5. Bóng
Chỉ các thực thể mô hình mới có bóng động trên mặt đất. Tuy nhiên, nếu
một thực thể không di chuyển mà không hoạt động, như cây, chúng ta nên chọn
loại bóng cho nó là bóng tĩnh. Bóng tĩnh thì mịn hơn và được biên dịch nhanh
hơn, và được hỗ trợ trong tất cả các phiên bản. Tạo ra một khối có kích thướt
và hình dạng gần giống như thực thể, đặt vào vị trí của thực thể, bật cờ detail
và chọn chế độ kết cấu cho tất cả các mặt của nó là None để cho nó không thấy
được. Khối sẽ tạo ra một bóng tĩnh trên nền đất và nó các tác dụng như một
48
Chương 3: Game Engine – Cách sử dụng WED
chướng ngại vật, nhưng không thấy được. Có thể bật cờ passable để cho sự dò
tìm thực thể được nhanh hơn.
4.5. Thuộc tính trong suốt
Thực thể có thể trở nên trong suốt nếu bật cờ transparent hoặc cờ flare,
hoặc sử dụng ảnh có định dạng với kênh alpha cho các thực thể sprite hoặc vỏ
bao bên ngoài của thực thể.
49
Chương 3: Game Engine – Cách sử dụng MED
II. Cách sử dụng MED
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. Giao diện rất dễ sử dụng để tạo ra các mô hình
3D và vỏ bao bên ngoài đơn giản.
1. Trình thiết kế
Dưới đây là giao diện của MED:
Chúng ta thấy rằng 4 khung nhìn của MED rất giống 4 khung nhìn của
WED. Tuy nhiên, vì chức năng và nhiệm vụ của nó là thiết kế một mô hình
chuyển động, khác so với WED là thiết kế level, nên tương tác với người dùng
là khác. Khi kéo rê vào các thanh trong các khung nhìn thì sự cân xứng của các
khung nhìn sẽ bị thay đổi.
Khi nhấp phải vào khung nhìn 3D và chọn GXL Properties, thì thuộc tính
của nó như độ sáng và phạm vi khung nhìn có thể được thay đổi.
1.1. Các thực đơn
1.1.1. Thực đơn File
Với thực đơn file, chúng ta có thể lưu, gọi lại, nhập hoặc xuất các tập tin từ
MED.
50
Chương 3: Game Engine – Cách sử dụng MED
New Model: Tạo ra một mô hình mới.
New Terrain:Tạo ra một địa hình mới.
Open
Save Lưu mô hình hoặc địa hình với
đến tập tin hiện trong các định dạng MDL5,
MDL7, HMP của GameStudio. Định dạng
MDL không giống như định dạng mô hình
có cung phần mở rộng trong QuakeT. Khung xương chỉ được hỗ trợ trong
định dạng MDL7.
Save As: Lưu với tên mới.
Merge: Cộng mô hình khác vào mô hình hiện tại, vì thế kết quả là sự
kết hợp của hai mô hình.
Choose Palette: Gọi một bảng màu cho các mô hình mà vỏ bọc có kết cấu kiểu
8 bit. Bảng màu có thể nhận được từ các định dạng như BMP, PCX, PAL, LMP
hoặc RAW.
Import / Append Vertices: Nhập một mô hình từ các định dạng .ASC hoặc .3DS.
Lệnh này sẽ nhập các mô hình được tạo ra từng các ứng dụng 3D như 3D
Studio. Cả hình dạng và kết cấu của các mô hình đều được đưa vào. Muốn đưa
một mô hình đã được tạo ra bởi các ứng dụng khác, đầu tiên cần đưa khung vào
trước, rồi sử dụng tùy chọn "Import Append Frames" giữ nguyên các khung.
Khi nhập một tập tin 3DS quá phức tạp, chúng ta nên chọn tùy chọn Model
Properties / Fast Prec trước khi lưu nó. Sau khi nhập theo phương pháp này,
các bản vẽ và kết cấu có thể được tạo ra bằng trình thiết kế skin.
Import / Append Frames: Đưa vào một vài khung chuyển động của một mô
hình. Để cho các khung theo đúng thứ tự, đầu tiên, chọn khung cuối cùng, rồi
51
Chương 3: Game Engine – Cách sử dụng MED
giữ phím SHIFT, rồi chọn tập tin đầu tiên trong nhóm muốn đưa vào, rồi nhấn
OK.
Import / Frame Names From Text : Lệnh này nhập các khung có tên trong tập
tin kiểu text. Để tạo ra một tập tin kiểu text, đặt tên một khung trên một dòng
không có khoảng trống.
Export / Q1 MDL: Xuất mô hình ra định dạng Quake 1 MDL.
Export / MD2: Xuất mô hình ra định dạng Quake 2 MDL, là định dạng
được sử dụng rất phổ biến và là phần thứ 3 của trình thiết kế mô hình. Sẽ xuất
hiện một hộp thoại lưu các tập tin có định dạng .MD2 này trong đó cần nhập
đường dẫn để lưu tập tin skin của mô hình.
Export / AQM: Xuất mô hình ra định dạng .AQM, là định dạng được sử
dụng trong trình thiết kế mô hình Quake 2.
Export / Frame to ASC: Xuất khung hiện thời ra định dạng .ASC.
Export / Model to ASC: Xuất mô hình hiện thời ra nhiều định dạng .ASC tùy
thuộc vào số khung của nó.
Export / Frame to 3DS: Xuất mô hình hiện thời ra định dạng .3DS (không có
skin).
Export / Model to 3DS: Xuất mô hình hiện thời ra nhiều định dạng .3DS tùy
thuộc vào số khung của nó.
History: Chỉ 8 tập tin đã mở.
Exit: Thoát khỏi chương trình.
52
Chương 3: Game Engine – Cách sử dụng MED
Open:
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. Chúng ta có thể mở các định dạng MDL, MD2,
WMP hoặc X đối với các mô hình, và các định dạng PCX, BMP hoặc HMP đối
với các địa hình. Khi nhập một định dạng nào đó thì một cửa sổ sẽ hiện ra để
chúng ta có thể chọn các thuộc tính của cần đưa vào. Khi nhập một mô hình
phức tạp có định dạng là MD2 hoặc X thì tùy chọn Model Properties/Fast Prec
nên được chọn trước khi lưu chúng.
Một bản đồ địa hình có định dạng PCX, BMP hoặc RAW có thể được tạo ra
từ các chương trình vẽ phong cảnh hoặc địa hình. Các định dạng bitmap sẽ
được nhập vào và chuyển thành mô hình theo định dạng HMP. Chúng ta có thể
xác định giá trị tốt nhất của độ phân giải của một mắt lưới theo chiều ngang
hoặc chiều dọc theo mỗi hướng từ 30 đến 100 đỉnh. Một vài hướng có thể được
phát sinh tự động.
1.1.2. Thực đơn Edit
53
Chương 3: Game Engine – Cách sử dụng MED
Undo: Quay trở lại hành động vừa mới thực hiện.
Redo: Quay trở lại hành động Undo vừa mới thực hiện.
Copy Selected: Lưu phần được chọn vào clipboard.
Paste: Dán dữ liệu đã được sao chép vào mô hình. Hộp
thoại đưa ra các tùy chọn cho phép thay thế các vị trí của
các đỉnh trong mô hình và thêm vào mô hình như đó là
các đỉnh mới. Việc thay các đỉnh cũng có một nhân tố pha
trộn, vì thế khi chép dữ liệu từ một khung và dán vào
khung khác, chúng ta có thể pha trộn giữa hai bộ dữ liệu.
Paste range: Dán dữ liệu đã được sao chép vào một phần nào đó của khung,
tùy vào yếu tố pha trộn ở trên.
Change Frame Name: Đổi tên khung hiện tại. Thông thường tên khung nên
bao gồm một từ mô tả và 1 số, như “walk1”, “walk2”. Tên khung xác định các
khung này có chức năng là đi bộ, tấn công, chết …Các hoạt động này sẽ được
gắn vào sau.
Goto Frame: Nhảy đến một khung xác định, chọn khung mà bạn
muốn đến trong danh sách và nhấp OK.
Add New Frame: Thêm một khung mới. Hộp thoại sẽ đưa ra những tùy
chọn là đặt khung mới sau khung cuối cùng, trước
khung đầu tiên, hoặc sau một khung nào đó. Chúng ta
cũng có thể nhập vào tên của một khung.
Delete Current Frame: Xóa khung hiện tại, xuất hiện hộp thoại xác nhận quyết
định của bạn.
Delete Frame: Xóa nhiều khung bằng cách nhập khung bắt đầu và
khung kết thúc.
54
Chương 3: Game Engine – Cách sử dụng MED
Mov
Các file đính kèm theo tài liệu này:
- Ứng dụng trí tuệ nhân tạo trong xây dựng Game.pdf