Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng Dựng hình 3D nâng cao: Phần 1 - Trần Nguyễn Duy Trung

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
<b>BỘ MÔN TRUYỀN THÔNG ĐA PHƢƠNG TIỆN</b>


<b>BÀI GIẢNG </b>



<b>DỰNG HÌNH 3D NÂNG CAO</b>



<i><b>(Dùng cho sinh viên ngành Truyền thông Đa phương tiện)</b></i>



<b>Lƣu hành nội bộ </b>



<b>Tập thể biên soạn: </b>



<b>1. GV. Trần Nguyễn Duy Trung </b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>BÀI GIẢNG DỰNG HÌNH 3D NÂNG CAO </b>



<b>Chƣơng 1: ÁP DỤNG CÔNG NGHỆ 3D TRONG THIẾT KẾ </b>
<b>1.1Tổng quan về lịch sử hội họa máy tính </b>


Hội họa máy tính xuất hiện trước khi khái niệm pixel ra đời. Khi những chiếc
máy tính cịn đang trong giai đoạn trứng nước, các nhà tiên phong trong công nghệ
này đã sử dụng các bản in hoặc một thiết bị gọi là máy hiện sóng (oscilloscope) thay
cho các màn hình máy tính. Một số game máy tính xuất hiện trước nhất là các game
Tele Type mà ở đó người chơi sẽ gửi cập nhật cho nhau như những bản in.


Khi kỹ thuật hiển thị phát triển, các tác phẩm đồ họa máy tính chuyển từ máy in
sang màn hình máy tính. Các màn hình trước đây là những màn hình đơn sắc và
được thiết kế dành cho văn bản, chứ không dành cho đồ họa. Tuy nhiên, các họa sỹ
ln tìm cách để sáng tạo nghệ thuật ngay cả khi có một màu.



Hầu hết mọi người đề đánh dấu năm 1963 là sự khởi nguồn của đồ họa máy
tính, khi Ivan Sutherland phát minh ra thiết bị Sketchpad. Sketchpad cho phép các
họa sỹ sử dụng bút quang học làm việc với các hình ảnh vector trên một màn hình
hiển thị đồ họa vector. Đồ họa vector là các đường thẳng và các đường cong được
tính tốn từ các cơng thức toán học.


Vào cuối thập niên đó, đồ họa raster được phát minh và khái niệm pixel ra đời.
Raster là một dòng điểm định hình nên bức ảnh. Hình ảnh mành được tạo ra từ các
dòng pixel nằm ngang. Số lượng các đường thẳng nằm ngang và số lượng các pixel
trên mỗi đường xác định nên độ phân giải của các màn hình máy tính.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i>Hình 1-1 </i>


Cũng không mất quá lâu trước khi các nhà khoa học biết cách thay đổi màu sắc
trên màn hình máy tính. Máy tính vẫn cịn được xem là các công cụ thương mại
hoặc nghiên cứu. Mặc dù chưa được nhìn nhận là một cơng cụ nghệ thuật nhưng các
họa sỹ vẫn khơng đứng ngồi cuộc. Các nhà lập trình quan tâm đến việc sáng tạo đồ
họa trên máy tính bắt đầu viết các chương trình sáng tạo nghệ thuật trên máy tính.
Trong suốt thời gian này có một sự kiện quan trọng khác đã diễn ra: Máy tính cá
nhân (PC) được đưa vào thị trường. Các máy tính PC thời kỳ này khơng mạnh như
các hệ thống máy tính lớn, nhưng chúng cũng gây nên sự thay đổi lớn cho bộ mặt
của nền công nghệ máy tính. Họ đặt các máy tính lên tay hàng triệu người, một số
người trong đó lại yêu thích sáng tạo nghệ thuật. Những người này bắt đầu viết các
chương trình đồ họa máy tính cho các loại máy tính cá nhân, đặt nền tảng cho các
chương trình mà chúng ta sử dụng ngày nay.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i>Hình 1-2 </i>


Nhân vật này có ít màu. Ngày đó, nhiều hệ thống máy tính bị giới hạn bởi một
số lượng màu sắc mà màn hình có thể hiển thị được. Một số máy tính có được các


nhóm màu, như các máy tính IBM. Một số máy tính khác cũng cho phép nhiều biến
thể màu khác nhau.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Vào thập niên 80, các game trở nên hiện thực hơn nhưng chúng trơng vẫn cịn
thơ. Điều tương tự cũng xảy ra với đồ họa máy tính. Số lượng màu tăng tạo cho họa
sĩ máy tính cơ hội sáng tạo các bức ảnh số hiện thực hơn.


Được coi trọng hơn về phương diện đồ họa, hệ thống máy tính cá nhân bước
vào một hướng phát triển hoàn toàn mới, đem đến các hệ thống hiển thị tốt hơn và
có độ phân giải cao hơn. Nhân vật game có độ cao từ 30 pixel, 60 pixel tăng lên 200
pixel. Màn hình có độ phân giải từ 320x300 tăng lên 640x480. Hình 1-4 cho thấy
một nhân vật game có chiều cao khoảng 180 pixel.


<i>Hình 1-4 </i>


Đồ họa 3 chiều bắt đầu từ những ứng dụng trong các chương trình mô phỏng sử
dụng trong quân sự. Máy mô phỏng là những chiếc máy tính được chế tạo theo sự
đặt hàng riêng liên kết với các hệ thống thủy lực để mô phỏng chuyển động của
máy bay hoặc xe ô tô. Tất nhiên mơ phỏng ban đầu cịn sơ khai và chưa hiện thực
lắm, nhưng cũng mang lại cho người dùng có cảm giác ở trong một mơi trường thực
sự.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Phần lớn các sản phẩm đồ họa 3D trong các phim hoạt hình được tạo ra trên các
hệ thống máy tính mạnh gọi là workstation. Các hệ thống này được thiết kế đặc biệt
với phần cứng hỗ trợ đồ họa rất mạnh. Chúng có giá thành cao nhưng tuổi thọ lại rất
ngắn.


Các máy tính PC khơng phải là hệ thống duy nhất được cải tiến về sức mạnh tính
tốn. Các hệ thống video game cũng trở nên mạn hơn. Những năm cuối thập niên
1990 và những năm đầu 2000, các hệ thống game có khả năng thể hiện được các


nhân vật đồ họa giống như thật. Hình 1-5 cho thấy một nhân vật từ một trong những
hệ thống này.


<i>Hình 1-5 </i>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<i>Hình ảnh trục thời gian cho thấy sự cải tiến các tác phẩm đồ họa kỹ thuật số trong </i>
<i>các video game, Hình 1-6. </i>


<b> 1.2 Đồ họa 3D trong game </b>


<i><b>Đỉnh – Vertex </b></i>


Đơn vị cấu tạo đơn giản nhất của một vật 3D là đỉnh. Đỉnh là một điểm đơn lẻ
trong khơng gian 3D. Nó khơng có kích thước trong khơng gian ảo. Thật ra nó dùng
để xác định một vị trí trong khơng gian. Thậm chí để bắt đầu tính tốn một đối
tượng 3D, máy tính phải bắt đầu từ một điểm. Từ điểm đó, máy tính mới có thể xác
định được các điểm khác để định nghĩa một đối tượng 3D.


<i><b>Mặt đa giác – Polygon </b></i>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<i>Hình 1-7 </i>


Bởi vì mặt đa giác là một mặt phẳng, nên nó khơng có bề dày thật sự. Nó đơn
giản là một mặt phẳng được tạo thành bằng cách nối liền ba, bốn hoặc nhiều đỉnh.
Điều quan trọng cần nắm rõ là mặt đa giác khơng có chiều dày bởi vì các mơ hình
lưới mặt đa giác chỉ bao gồm các bề mặt đa giác sao cho chúng kết nối với nhau,
họa sỹ game có thể mơ phỏng một đối tượng 3D.


<i><b>Hoa văn – Texture </b></i>



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<i>Hình 1-8 </i>


Có thể nhận thấy là mọi bề mặt trong tự nhiên đều có một số thuộc tính, chúng
ta có thể chia thành các loại cụ thể sau:


- Màu sắc (Color).


- Độ thô ráp (Roughness).
- Độ trong mờ (Translucency).
- Độ phản xạ (Reflectivity).
- Độ sáng (Luminance).


Mỗi thuộc tính là một phần của tất cả những gì tạo nên cảm giác và vẻ ngoài của
bề mặt đó.Để làm cho một mơ hình 3D trông giống như thật, các họa sỹ cần nắm
được các thuộc tính vốn có của bề mặt mà mình muốn thể hiện bằng cách tạo ra các
dạng hoa văn càng giống với bề mặt càng tốt.


<b>1.3 Nguồn sáng và sự phản xạ </b>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

là bản chất phản chiếu của nó. Một vật thể sáng bóng sẽ phản chiếu những gì xung
quanh nó.


<i><b>Nguồn sáng </b></i>


<i><b>Nguồn sáng điểm – Point Light </b></i>


Nguồn sáng điểm tương tự như ánh sáng tỏa ra từ một bóng đèn. Ánh sáng phát
ra theo mọi hướng và độ sáng giảm dần theo khoảng cách đối với nguồn sáng. Hình
1-9 cho thấy ánh sánh chiếu rất mạnh lên quả bỏng. Khu vực bao quanh nguồn sáng
là sáng nhất, các khu vực khác nằm ở các góc mặt phẳng thì tối hơn.



Nguồn sáng điểm rất phù hợp cho việc chiếu sáng một căn phịng hoặc một khu
vực cục bộ ngồi trời sử dụng một nguôn sáng nhân tạo, chẳng hạn như ngọn đèn
đường về đêm.


<i>Hình 1-9 </i>


<i><b>Nguồn sáng định hướng – Directional Light </b></i>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<i>Hình 1-10 </i>


<b>Nguồn sáng môi trƣờng – Ambient Light </b>


Nguồn sáng môi trường là một nguồn sáng chung dùng để chiếu sáng tất cả các
bề mặt theo mọi hướng. Nó thường được kết hợp với nguồn sáng điểm hoặc nguồn
sáng định hướng để tạo vẻ đẹp tự nhiên cho khung cảnh.


<b>1.4 Hoạt cảnh </b>


<b>1.5 Xây dựng các vật thể đơn giản </b>
<b>1.5.1 Tạo một thùng dầu han rỉ </b>


Chúng ta sẽ tạo một số vật thể cho thế giới game bằng cách tạo ra một thùng
dầu cũ kỹ, tương tự như những thứ đã được sử dụng trong Thế chiến Thứ II.


1. Trên bảng lệnh Create, click nút tạo vật thể nguyên sinh Cylinder.
2. Trong khung nhìn Top, click và drag để xác lập bán kính của khối trụ.


3. Quan sát trong khung nhìn Left, tiếp tục drag chuột để xác lập chiều cao cho
thùng dầu.



4. Với khối trụ vẫn còn đang được chọn, trên bảng cuộn Parameters, ta xác lập các
giá trị tham số như sau:


<b>-</b> <i>Radius: 20 </i>


<b>-</b> <i>Height: 60 </i>


<b>-</b> <i>Height Segments: 15 </i>


<b>-</b> <i>Cap Segments: 1 </i>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

5. Click chọn bảng lệnh Modify nằm bên cạnh bảng lệnh Create. Ta sẽ thấy một
bảng cuộn Parameters tương tự như trên bảng lệnh Create khi ta tạo khối nguyên
sinh Cylinder.


6. Tiếp theo, chúng ta sẽ chuyển đổi mơ hình lưới thành vật thể Editable Mesh.
Trong bất kỳ khung hình nào, click chuột phải vào khối trụ rồi chọn lệnh Convert
To/ Convert To Editable Mesh từ trong menu. Lúc này ta thấy các tham số trên
bảng lệnh Modify đã đổi khác hoàn toàn.


7. Với khối trụ vẫn còn đang được chọn, nhấn phím Z. Lệnh này sẽ phóng to sao
cho tập chọn - trong trường hợp này là cái thùng dầu – chiếm đầy đủ tất cả các
khung nhìn.


8. Click chuột phải và chọn cấp độ vật thể thứ cấp Vertex từ trong menu.


9. Trong khung nhìn Front, sử dụng chuột trái để drag và tạo ra một vùng chọn bao
quanh các đỉnh ở phía trên khối trụ. Ta sẽ thấy các đỉnh đỉnh được chọn chuyển
sang màu đỏ. Xoay mơ hình lưới trong khung nhìn Perspective, ta sẽ thấy các đỉnh


ở phía sau cũng được chọn.


10. Trên bảng lệnh Modify, phần bảng cuộn Selection, ta sẽ thấy hộp kiểm Ignore
Backfacing, nếu được chọn kiểm nó sẽ khơng chọn các đỉnh nằm ở phía sau. Chọn
kiểm cho tùy chọn này.


11. Bây giờ, thử chọn các đỉnh trong khung nhìn Font hoặc khung nhìn Left. Ta sẽ
thấy là chỉ chọn được các đỉnh của những mặt đa giác hướng về phía ta.


12. Trên bảng cuộn Selection, nằm bên trên hộp kiểm Igrone Backfacing là năm cấp
độvật thể thứ cấp của loại vật thể ở cấp độ Editable Mesh. Năm cấp độ này cũng
được được liệt kê trong menu phần tư: Vertex, Edge, Face, Polygon, Element.


13. Chọn công cụ Move, Rotate hoặc Scale. Ta sẽ thấy biểu tượng gizmo xuất hiện.
Biểu tượng gizmo này cho phép di chuyển hoặc xoay, hoặc thu phóng vật thể theo
một trục hoặc nhiều trục tọa độ.


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

chọn vùng màu vàng ở ngay giữa biểu tượng gizmo từ trong khung nhìn
Perspective.


Hãy thử nghiệm với các tùy chọn và cảm nhận cách thức chúng làm việc. Ban đầu
ta có thể gặp khó khăn một chút, nhưng sau đó sẽ quen dần. Sử dụng lệnh Undo để
hủy bỏ các thao tác thử nghiệm này.


14. Trong khung nhìn Front, sử cụng công cụ Move để di chuyển các đỉnh và bắt
đầu tạo hình cho chiếc thùng dầu của chúng ta. Lúc này nhớ tắt tùy chọn Igrone
Backfacing để chọn được tất cả các đỉnh nằm ở phía sau.


15. Tiếp theo, sử dụng cơng cụ Scale, phóng to hàng đỉnh tại các vành đai mà ta vừa
di chuyển chúng ở bước 14.



Tiếp tục chỉnh sửa đôi chút chúng ta sẽ được hình dạng cái thùng dầu và bắt đầu
gán vật liệu.


16. Gán vật liệu cho cái thùng ta làm như sau: chọn bảng lệnh Utilities, mở trình
duyệt Asset Browes. Tìm đến ảnh map Oil Barrel.bmp trong thư mục chứa. Drag
ảnh map Oil Barrel.bmp từ trình duyệt Asset Browres rồi thả lên vật thể trong bất
kỳ khung hình nào. Kết quả là cái thùng sẽ được gán vật liệu. Đây là cách đơn giản
và nhanh nhất để dựng hình các vật thể khơng phức tạp và gán vật liệu cho chúng.
Tất nhiên, ta phải lên kế hoạch cho mơ hình lưới và làm vật liệu thật tốt trước đó để
thực hiện cơng việc này.


17. Lưu lại khung cảnh, đặt tên là Thungdau.max


<b>1.5.2 Tạo cái thùng gỗ </b>


Tiếp theo chúng ta sẽ dựng một cái thùng gỗ đơn giản.
1. Chúng ta khởi tạo một file max mới .


2. Vào bảng lệnh Create và tạo một khối nguyên sinh Box với các tham số sau:


- <i>Lenght: 50 </i>


- <i>Width: 50 </i>


- <i>Height: 50 </i>


- <i>Lenght Segs: 5 </i>


- <i>Width Segs: 5 </i>



</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

3. Chuyển đổi khối hộp thành vật thể lưới: Convert To Editable Mesh. Truy cập đến
cấp độ vật thể thứ cấp Vertex. Trong khung nhìn Top, chọn hai hàng đỉnh ở giữa.
Sử dụng cơng cụ Scale phóng lớn dọc theo trục Y 300% để chúng trùng với hai
hàng đỉnh nằm bên trên và bên dưới. Tiếp tục chọn hai cột đỉnh ở giữa rồi phóng
lớn theo trục dọc X 300% để cho chúng trùng với hai cột đỉnh bên ngoài. Thực hiện
tương tự, trong khung nhìn Front, phóng lớn hai hàng đỉnh ở giữa dọc theo trục Y
300%.


4. Tiếp theo, trong khung nhìn Perspective chọn lần lượt từng sáu mặt đa giác lớn ở
giữa rồi di chuyển chúng về giữa tâm khối hộp khoảng 2 đơn vị.


5. Khi di chuyển các đỉnh cho chúng trùng nhau ở bước 3, một số mặt đa giác tương
ứng bị thu nhỏ vẫn còn tồn tại không cần thiết. Chúng ta sẽ xoa bỏ các mặt này
bằng cách hàn dính các đỉnh nằm trùng nhau. Chọn tất cả các đỉnh của khối hộp. Ở
cuối bảng cuộn Edit Geometrym ta click nút Selected trong phần Weld.


6. Ta sẽ thấy có một số mặt bị nám đen trong khung nình tơ bóng Perspective. Đây
là vấn đề lỗi nhóm trơn láng (Smoothing Group). Chuyển sang cấp độ vật thể thứ
cấp Element để chọn được tất cả các mặt của khối hộp. Trong bảng cuộn Suface
Properties, click nút Clear All trong phần Smoothing Groups. Hiện tượng nám đen
sẽ biến mất.


7. Sử dụng Asset Brower, gán ảnh map Wood Crate.bmp cho khối hộp. Ta sẽ thấy
là hoa văn trên ảnh map khơng được áp chính xác lên cái thùng gỗ. Đó là bởi vì khi
thay đổi vị trí của các mặt đa giác và hàn dính chúng, ta đã làm xáo trộn các tọa độ
UV. Tuy nhiên, chúng ta có thể dễ dàng khắc phục hiện tượng này.


8. Vào menu kéo xuống Modifier, chọn phép hiệu chỉnh UV Coordinates/Unwrap
UVW để áp cho khối hộp. Trên bảng lệnh Modify, danh sách Modifier Stack, chọn


cấp độ vật thể thứ cấp Face của phép hiệu chỉnh Unwrap UVW. Chọn tất cả các mặt
của khối hộp.


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

Chương này sẽ hướng dẫn cách xây dựng một vật thể phức tạp sử dụng nhiều
kỹ thuật và các vật thể nguyên sinh khác nhau. Ở đây, chúng ta sẽ nhận diện được
một số khó khăn thường gặp khi xây dựng các vạt thể phức tạp cũng như tìm hiểu
các kỹ thuật có thể sử dụng để tạo các mơ hình ấn tượng. Chúng ta sẽ được trang bị
đầy đủ thông tin để tạo ra những mơ hình lưới hồn chỉnh và thích hợp cho việc lập
trình.


Trong chương này sẽ đề cập đến công việc xây dựng các vật thể phức tạp, bao
gồm các chủ đề sau:


Xác lập một khung cảnh máy bay.


 Tạo thân máy bay, bộ tản nhệt, mũ cánh quạt, cánh quạt và bộ phận hạ cánh.


 Dọn sạch mơ hình lưới chiếc máy bay.


 Tạo bản sao đối xứng mơ hình lưới để hồn tất chiếc máy bay.


 Áp vật liệu cho chiếc máy bay.


<b>2.1 Dựng mơ hình chiếc máy bay Mustang </b>


Trong phần này, chúng ta sẽ tạo phần bên ngoài của một chiếc máy bay cổ điển
- chiếc Mustang. Chúng ta sẽ sử dụng các vật thể nguyên sinh và các phép hiệu
chỉnh để tạo từng bộ phận. Ảnh nền bitmap trong các khung nhìn sẽ giúp chúng ta
tham khảo q trình xây dựng mơ hình lưới.



<b>2.1.1 Xác lập khung cảnh </b>


Chúng ta bắt đầu từ một khung cảnh mới và lưu lại với tên là Mustang. Một
trong những điều đầu tiên thực hiện trước khi xác lập bất kỳ một khung cảnh phức
tạp nào là phải chuẩn bị các bản vẽ phác thảo của vật thể muốn xây dựng. Bản vẽ
càng chính xác, mơ hình lưới càng chuyên nghiệp. Tiếp đến, xây dựng các mặt
phẳng tham khảo theo ba trục. Điều này sẽ giúp chúng ta dựng mơ hình chính xác
hơn và tiết kiệm thời gian hơn.


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<i>Hình 2-1 </i>


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<i>Hình 2-2 </i>


Một ảnh nhìn từ trái qua phải tương ứng với mặt Left trong 3Ds max:


<i>Hình 2-3 </i>


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<i>Hình 2-4 </i>


<i><b>* Lưu ý: Chúng ta có thể tìm hình ảnh chiếc máy bay qua internet hoặc có thể </b></i>
<i><b>phác thảo trên giấy và scan bản phác thảo dưới định dạng file ảnh để đưa vào </b></i>
<i><b>chương trình 3Ds max. </b></i>


<b> </b>Để tạo một mặt phẳng tham khảo, hãy thực hiện các bước sau:


1. Trên bảng lệnh Creat , loại vật thể Standard Primitive, click nút Plane. Click và
drag trong khung nhìn Top để tạo một mặt phẳng có chiều dài như sau:


<b>-</b> <i>Length: 400 </i>



<b>-</b> <i>Width: 400 </i>


<b>-</b> <i>Length Segs: 1 </i>


<b>-</b> <i>Width Segs: 1 </i>


2. Từ thanh cơng cụ chính, chọn cơng cụ Move.


3. Di chuyển mặt phẳng về tọa độn 0, 0, 0. Xác lập này sẽ đưa điểm Pivot mặt
phẳng nền về gốc tọa độ thế giới. Nhấn phím Z để quan sát rõ mặt phẳng trong
khung nhìn.


Tiếp theo, chỉ cần áp hình ảnh tham khảo cho mặt phẳng.
4. Bật tùy chọn hiển thị Smooth + Hightlights


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

- <i>Width Segs: 1 </i>


Tiếp tục gán ảnh bitmap vào các mặt tương ứng, thao tác gán ảnh giống như ở mặt
Top. Khi hoàn thành xong, ta sẽ có các mặt phẳng tham khảo giống như minh họa
trong Hình 2-5:


<i>Hình 2-5 </i>


Sau khi các mặt phẳng tham khảo được điều chỉnh về đúng vị trí, chúng ta hãy
làm đơng (Freeze) chúng:


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<i>Hình 2-6 </i>


</div>

<!--links-->

×