Đề tài Mô phỏng hành động nhân vật trong xây dựng mô hình 3D

Trong những năm gần đây công nghệ thông tin đã đạt được những bước phát triển nhảy vọt cả về phần cứng lẫn phần mềm. Những ứng dụng của nó vào cuộc sống ngày càng phong phú, đa dạng và thiết thực hơn. Từ các lĩnh vực cơ bản như khoa học cơ bản, kinh tế, kỹ thuật cho đến các lĩnh vực như giải trí, du lịch, không lĩnh vực n ào không có sự ứng dụng thiết thực và hiệu quả của công nghệ thông tin. Sự phát triển không ngừng của sức mạnh máy tính đã làm cho một số lĩnh vực khó phát triển trước kia nay đã có khả năng phát triển và đã đạt được những thành tựu đáng kể. Chúng ta có thể kể đến cả các lĩnh vực như: các hệ chuyên gia, các hệ xử lý thời gian thực và một lĩnh vực khác cũng cần phải nói là Thực tại ảo (Virtual reality) và những ứng dụng của nó trong công nghệ. Trong thực tại ảo thì Particle lại là một thành phần vô cùng quan trọng. Chính vì vậy mà đợt làm đồ án tốt nghiệp này , dư ới sự hướng dẫn và giúp đỡ của Th.S Nguyễn VănHuânbộ môn Các hệ thống thông tin –Khoa công nghệ thông tin -Đại hoc Thái Nguy ên. Em được hướng dẫn tìm hiểu đề tài : “Mô phỏng hành động nhân vật trong xây dựng mô hình 3D” Báo cáo gồm 4 phần chính:  Tổng quan về thực tại ảo và hành độngcủa nhân vậttrong th ực tại ảo.  Kỹ thuật mô phỏng.  Xây dựng chương trình.  Kết luận và hướng phát triển.

pdf77 trang | Chia sẻ: tuandn | Lượt xem: 3069 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Mô phỏng hành động nhân vật trong xây dựng mô hình 3D, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 MỤC LỤC MỤC LỤC ......................................................................................................... 1 LỜI GIỚI THIỆU............................................................................................... 2 CHƯƠNG I ........................................................................................................ 3 TỔNG QUAN VỀ THỰC TẠI ẢO VÀ 3D ANIMATION TRONG THỰC TẠI ẢO ............................................................................................................. 3 1.1. Tổng quan về thực tại ảo.............................................................................. 3 1.1.1. Sơ lược lịch sử phát triển .......................................................................... 3 1.1.2. Các lĩnh vực ứng dụng của Thực tại ảo..................................................... 4 1.2 Hành động của nhân vật (3D Animation) trong thực tại ảo. .......................... 9 1.2.1. Animation trong thực tại ảo là gì? ......................................................... 10 1.2.2. Hiệu ứng Animation trong thực tại ảo .................................................... 10 1.2.3. Cơ sở mô phỏng 3D Animation ............................................................... 11 1.2.4. Các vấn đề gặp phải trong quá trình nghiên cứu .................................... 13 1.2.5. Hướng giải quyết .................................................................................... 14 CHƯƠNG II..................................................................................................... 15 KỸ THUẬT MÔ PHỎNG................................................................................ 15 2.1. Đặt vấn đề ................................................................................................. 15 2.2. Kỹ thuật mô phỏng .................................................................................... 15 2.2.1 Khởi tạo nhân vật và trang phục. ............................................................ 15 2.2.2 Điều khiển mô phỏng các trạng thái hành động của nhân vật .................. 23 2.2.3 Các vấn đề liên quan tới camera và các phím điều khiển. ........................ 39 CHƯƠNG III ................................................................................................... 49 CHƯƠNG TRÌNH MÔ PHỎNG ...................................................................... 49 3.1. Bài toán ..................................................................................................... 49 3.2. Mục đích và yêu cầu bài toán..................................................................... 49 3.3. Phương pháp giải quyết bài toán ................................................................ 49 3.4 Một số kết quả bài toán............................................................................... 50 KẾT LUẬN...................................................................................................... 55 HƯỚNG PHÁT TRIỂN ĐỀ TÀI...................................................................... 56 PHỤ LỤC......................................................................................................... 57 TÀI LIỆU THAM KHẢO ................................................................................ 77 2 LỜI GIỚI THIỆU Trong những năm gần đây công nghệ thông tin đã đạt được những bước phát triển nhảy vọt cả về phần cứng lẫn phần mềm. Những ứng dụng của nó vào cuộc sống ngày càng phong phú, đa dạng và thiết thực hơn. Từ các lĩnh vực cơ bản như khoa học cơ bản, kinh tế, kỹ thuật cho đến các lĩnh vực như giải trí, du lịch, không lĩnh vực nào không có sự ứng dụng thiết thực và hiệu quả của công nghệ thông tin. Sự phát triển không ngừng của sức mạnh máy tính đã làm cho một số lĩnh vực khó phát triển trước kia nay đã có khả năng phát triển và đã đạt được những thành tựu đáng kể. Chúng ta có thể kể đến cả các lĩnh vực như: các hệ chuyên gia, các hệ xử lý thời gian thực…và một lĩnh vực khác cũng cần phải nói là Thực tại ảo (Virtual reality) và những ứng dụng của nó trong công nghệ. Trong thực tại ảo thì Particle lại là một thành phần vô cùng quan trọng. Chính vì vậy mà đợt làm đồ án tốt nghiệp này, dưới sự hướng dẫn và giúp đỡ của Th.S Nguyễn Văn Huân bộ môn Các hệ thống thông tin – Khoa công nghệ thông tin - Đại hoc Thái Nguyên. Em được hướng dẫn tìm hiểu đề tài : “Mô phỏng hành động nhân vật trong xây dựng mô hình 3D” Báo cáo gồm 4 phần chính:  Tổng quan về thực tại ảo và hành động của nhân vật trong thực tại ảo.  Kỹ thuật mô phỏng.  Xây dựng chương trình.  Kết luận và hướng phát triển. Giảng Viên hướng dẫn Sinh Viên thực hiện Th.S Nguyễn Văn Huân S.v Dương Đức Mạnh 3 CHƯƠNG I TỔNG QUAN VỀ THỰC TẠI ẢO VÀ 3D ANIMATION TRONG THỰC TẠI ẢO 1.1. Tổng quan về thực tại ảo Theo cách truyền thống, việc tương tác với máy tính được thực hiện thông qua các thiết bị như bàn phím, chuột hay Joystick/Trackball/Keyboard/Styplus để cung cấp thông tin đầu vào và sử dụng khối hiển thị trực quan (Video Display Unit-VDU) để nhận thông tin đầu ra từ hệ thống. Với sự ra đời của các hệ thống Thực tại ảo (Virtual Reality-VR), các phương thức giao tiếp mới được phát triển cho phép người sử dụng tương tác một cách tích cực với máy tính. Thực tại ảo là công nghệ sử dụng các kỹ thuật mô hình hoá không gian ba chiều với sự hỗ trợ của các thiết bị đa phương tiện hiện đại để xây dựng một thế giới mô phỏng bằng máy tính – môi trường ảo (Virtual Environment). Trong thế giới ảo này, người sử dụng không còn được xem như người quan sát bên ngoài, mà đã thực sự trở thành một phần của hệ thống. Một cách lý tưởng, người sử dụng có thể tự do chuyển động trong không gian ba chiều, tương tác với các vật thể ảo, quan sát và khảo cứu thế giới ảo ở những góc độ khác nhau về mặt không gian. Ngược lại, môi trường ảo lại có những phản ứng tương ứng với mỗi hành động của người sử dụng, tác động vào các giác quan như thị giác, thính giác, xúc giác của người sử dụng trong thời gian thực và tuân theo những quy tắc vật lý tự nhiên, làm anh ta có cảm giác như đang tồn tại trong một thế giới thực. Mục tiêu của phần tổng quan này là đưa ra một số nét tổng quát về công nghệ Thực tại ảo, trong đó bao gồm: một số nét chính trong lịch sử hình thành, các lĩnh vực ứng dụng, phân loại hệ thống, các phương pháp & công cụ phần mềm phổ biến tạo ra mô hình VR. 1.1.1. Sơ lược lịch sử phát triển Mặc dù Thực tại ảo được mô tả như một công nghệ mới mang tính cách mạng, nhưng ý tưởng về việc nhúng người sử dụng vào một môi trường nhân tạo đã ra đời từ rất sớm. Thực tại ảo có thể được xem như một sự tiếp nối của những 4 ý tưởng đã lâu như hệ thống mô phỏng bay (Flight Simulation), rạp chiếu phim màn ảnh rộng (như Cinerama hay IMAX), rạp chiếu phim nổi v.v… Sử dụng các hệ thống như vậy, người quan sát có cảm giác hình ảnh đang sống động ngay trước mắt mình. Sự ra đời của các máy điện toán mini và bài báo khoa học của Ivan Sutherland có tên “Màn hình tối tân” (Ultimate Display) vào năm 1965 được xem là hai bước đột phá lớn vào thập kỷ 60 cho công nghệ Thực tại ảo. Trong bài báo của mình, Sutherland đã tiên đoán sự phát triển của Thiết bị Hiển thị đội đầu (Head Mounted Display-HMD) đầu tiên, mà sau đó chính ông đã tạo ra một thiết bị như vậy, có tên là “Thanh kiếm của Damocles” (The Sword of Damocles). Sutherland cũng nhận ra tiềm năng của máy điện toán trong việc tạo lập hình ảnh cho hệ thống mô phỏng bay, trong khi những hình ảnh này trước đó được xây dựng bằng Video Camera. Những ý tưởng này được hai nhà khoa học Mỹ ở NASA là Fisher và McGreevy kết hợp lại trong một dự án có tên là “Trạm làm việc ảo” (Visual Workstation) vào năm 1984. Cũng từ đó NASA phát triển thiết bị Hiển thị đội đầu có tính thương mại đầu tiên, được gọi là màn hình môi trường trực quan (Visual Environment Display - VIVED), thiết kế dựa trên mẫu hình mặt nạ lặn với các màn hình quang học mà hình ảnh được cung cấp bởi hai thiết bị truyền hình cầm tay Sony Watchman. Sự phát triển của thiết bị này đã thành công ngoài dự đoán, bởi NASA đã sản xuất được một thiết bị HMD có giá chấp nhận được trên thị trường, và như vậy ngành công nghiệp Thực tại ảo đã ra đời. 1.1.2. Các lĩnh vực ứng dụng của Thực tại ảo Mặc dù khái niệm về Thực tại ảo đã xuất hiện từ khá lâu, nhưng do nhiều lý do về mặt công nghệ (cơ sở phần cứng phát triển, nghiên cứu, chi phí), phải mất nhiều thời gian và nỗ lực để Thực tại ảo có được những thành tựu như ngày nay. Hiện tại đây vẫn là lĩnh vực công nghệ nhiều tiềm năng xét về khía cạnh ứng dụng. Một số lĩnh vực ứng dụng chính có khuynh hướng phát triển mạnh mẽ nhất trong thời gian gần đây. 5 a. Kiến trúc và thiết kế thiết bị công nghệ Một trong những lĩnh vực ứng dụng tiêu biểu nhất của Thực tại ảo là thiết kế kiến trúc. Khả năng mô hình hoá thế giới thực của công nghệ Thực tại ảo dường như đáp ứng một cách tự nhiên mục tiêu của ngành thiết kế kiến trúc: đưa ra mô hình trực quan nhất có thể về hình ảnh công trình mong muốn trong tương lai. Hình 1 - Ứng dụng Thực tại ảo trong thiết kế kiến trúc Việc xây dựng các mô hình không gian kiến trúc bằng hình ảnh lập thể với đầy đủ mô tả trực quan về các hình khối kiến trúc của một căn nhà, cách bố trí nội thất bên trong, thậm chí hoa văn cửa sổ hay màu sơn của tường, cùng với khả năng cho phép khách hàng tự do tham quan, khảo sát căn nhà của họ trong tương lai theo nhiều góc độ và vị trí, từ phòng này sang phòng khác thực sự đem lại hiệu quả trực quan mang tính cách mạng trong lĩnh vực mang nhiều đặc điểm nghệ thuật này. b. Giải trí Thị trường giải trí cũng là một ứng dụng tiêu biểu khác của các môi trường Thực tại ảo. Trên thực tế, đây là lĩnh vực ứng dụng lớn nhất xét theo khía cạnh lợi ích về tài chính. Rất nhiều công ty đang sản xuất ra các trò chơi có sử dụng các nguyên lý Thực tại ảo. Số lượng người bị cuốn hút theo các trò chơi như vậy, đặc biệt là giới trẻ, tăng theo cấp số nhân đánh dấu tiềm năng thương mại to lớn của công nghệ Thực tại ảo trong lĩnh vực này. 6 Hơn thế, ngành công nghiệp trò chơi điện tử có những ảnh hưởng to lớn tới lĩnh vực Thực tại ảo. Nó tạo ra động lực cần thiết để thúc đẩu sự phát triển của rất nhiều phần cứng Thực tại ảo, chẳng hạn như card tăng tốc đồ hoạ (Graphic Accelerator Cards). Nếu như chúng ta trở lại khoảng hơn 10 năm về trước, thật khó có thể tìm thấy một card tăng tốc đồ hoạ có đủ năng lực tính toán cần thiết cho phép tạo ra các ứng dụng Thực tại ảo thời gian thực. Tại thời điểm đó, những chiếc card như vậy trị giá hàng ngàn đôla và chỉ đủ khả năng sinh 100.000 đa giác/giây ở mức độ phân giải trung bình. Những thiết bị phần cứng khác như Găng tay dữ liệu (DataGloves) và Thiết bị hiển thị đội đầu (Head Mounted Displays-HMD) cũng chịu ảnh hưởng phần nào của công nghiệp giải trí. Tóm lại, các ứng dụng Thực tại ảo trong giải trí đã và đang đóng một vai trò vừa là mục tiều vừa là động lực cho công nghiệp Thực tại ảo. Hình 2 - Ứng dụng Thực tại ảo trong lĩnh vực giải trí c. Giáo dục và Đào tạo Phát triển trên nền công nghệ và kỹ thuật cao, Thực tại ảo tích hợp những đặc tính làm cho bản thân nó có những tiềm năng vượt trội so với các công nghệ đa phương tiện truyền thống khác: cho người sử dụng cảm nhận sự hiện diện của mình trong môi trường do máy tính tạo ra bằng khả năng tương tác, tự trị (Autonomy) của người dùng trong môi trường ảo, cũng như bằng những phản hồi tức thời, trực quan từ phía môi trường ảo tới các giác quan của người sử dụng. Hơn thế nữa, công nghệ Thực tại ảo cho phép mô phỏng những môi trường nguy hiểm hay tốn kém như buồng lái máy bay, phòng thí nghiệm hoá chất.v.v… 7 Hình 3 – Mô hình huấn luyện bay sử dụng công nghệ Thực tại ảo Tất cả những đặc tính này khiến công nghệ Thực tại ảo trở nên rất phù hợp cho các ứng dụng có tính chất giáo dục hay đào tạo. Trong đó, những mô hình trình diễn lập thế đóng vai trò quan trọng. Các vật thể trong thế giới ảo được biểu diễn chính xác hơn nhiều so với các đối tượng phẳng (hình ảnh hai chiều) do được bổ sung thêm chiều sâu. Kết quả là các trình diễn minh hoạ hay những thí nghiệm cũng được mô phỏng chính xác hơn do có thể quan sát từ nhiều góc độ khác nhau về mặt không gian, điều mà thế giới phẳng hai chiều không làm được. Tính chất trực quan của bài giảng được nâng cao một bước làm tăng sự hứng thú trong học tập cũng như khả năng ghi nhớ các khái niệm quan trọng trong bài giảng. Xét về mặt này, khả năng tương tác với môi trường ảo là một khía cạnh đáng lưu ý. Nếu thiếu đi khả năng tương tác (hai chiều) giữa môi trường ảo và người tham dự, Thực tại ảo không gì khác hơn là một giao diện lập thể ấn tượng nhưng không có sự sống. Trong các phòng thí nghiệm hay huấn luyện ảo, thực hiện các thao tác trên các đối tượng trong môi trường ảo, nhận được những phản hồi kịp thời và có nghĩa từ các vật thể và môi trường là một trong những yếu tố tiên quyết khiến cho học viên có cảm nhận đang được trải nghiệm trong những tình huống thực. Từ đó, học viên nắm bắt được nhanh chóng và có ý thức hơn với những tính huống được học. Và cũng không phải là viễn tưởng khi ta có thể nói rằng một ngày nào đó bài học của học sinh sẽ là những kỹ năng sống được đào tạo trong môi trường ảo. 8 d. Y học Y học là một trong những lĩnh vực ứng dụng tiềm năng trong công nghệ Thực tại ảo. Cho đến nay, lĩnh vực nổi bật trong y học áp dụng thành công công nghệ Thực tại ảo là giả lập giải phẫu (Surgical Simulation). Hình 4 - Phẫu thuật ảo – Phương pháp đào tạo phẫu thuật mới dùng công nghệ Thực tại ảo Trên cơ sở các kỹ thuật đồ hoạ máy tính và Thực tại ảo, hệ thống đào tạo y học này bao gồm hai bộ phận cơ bản: Khối tương tác ba chiều là mô hình sinh thể ảo cho phép người sử dụng thực hiện các thao tác giải phẫu thông qua các dụng cụ giải phẫu ảo; Khối giao diện người dùng hai chiều cung cấp những thông tin phản hồi trực quan từ mô hình trong quá trình giải phẫu cũng như những thông tin hướng dẫn trong phiên đào tạo. Phương pháp đào tạo có tính tương tác cao này mang nhiều ưu điểm so với các phương pháp truyền thống như thực hành trên mô hình plastic hay trên bệnh nhân thực. Thứ nhất, khác với phương pháp dùng mô hình plastic, sinh thể giải phẫu ảo có khả năng cung cấp những thông tin phản hồi sinh học một cách tự nhiên như một sinh thể sống thực, chẳng hạn như sự thay đổi về nhịp tim, huyết áp… Điều này tạo cho học viên có cảm giác đang trải qua một ca mổ trong một tình huống thực. Thứ hai, khác với thực hành trên bệnh nhân thật, những sai lầm của học viên trong quá trình thực tập không phải trả giá bằng những thương tổn thực trên cơ thể người bệnh. Điều này cũng làm giảm áp lực lên học viên khi 9 thực hiện phẫu thuật ảo. Từ đó, giúp họ tự tin và chủ động hơn trong học tập. Phương pháp này còn cho phép các bác sĩ không ngừng nâng cao trình độ tay nghề, kỹ năng phối hợp làm việc bằng cách liên tục đặt ra những giả định tình huống bệnh, cập nhật những dữ liệu bệnh lý mới để thực hiện những phương pháp mới, kỹ thuật mới trong điều trị. Bác sĩ cũng có thể tự lập kế hoạch mổ thử trên bệnh nhân ảo trước khi mổ trên bệnh nhân thật do đó làm tăng mức độ an toàn và hiệu quả điều trị, giảm thiểu sai lầm rủi ro đáng tiếc xảy ra. Xu hướng ứng dụng của thực tại ảo trong tương lai Chúng ta đã thấy được một phần nào những kết quả to lớn của việc ứng dụng thực tại ảo và chúng ta cũng có thể thấy được một phần nào việc ứng dụng thực tại ảo trong tương lai. Thực tại ảo sẽ tiếp tục được ứng dụng mạnh mẽ hơn nữa trong một số lĩnh vực và mở đường cho các ứng dụng tin học vào các lĩnh vực khác. Thực tại ảo sẽ thâm nhập vào rất nhiều các lĩnh vực cũng như sự có mặt của tin học trong cuộc sống. Ý nghĩa của việc ứng dụng thực tại ảo Những kết quả và ý nghĩa to lớn của việc ứng dụng thực tại ảo trong giai đoạn hiện nay và trong tương lai đều đã được nhắc tới. Nhưng có một câu hỏi đặt ra là đằng sau những điều tuyệt vời mà thực tại ảo mạng lại, còn có cái gì làm chúng ta phải quan tâm? Vấn đề của thực tại ảo là gì? Để trả lời những câu hỏi đó, chúng ta sẽ cùng tìm hiểu chi tiết trong những phần dưới đây. Tất cả các ứng dụng thực tại ảo đều liên quan đến việc xây dựng các mô hình mô phỏng thế giới trên máy vi tính và cung cấp khả năng quan sát và tương tác của các mô hình với người sử dụng thông qua các thiết bị đầu vào và đầu ra. Như vậy, có thể nói vấn đề chính của thực tại ảo là phải xây dựng mô hình mô phỏng thế giới thực trên máy tính theo không gian 3D, cung cấp các dịch vụ tương tác giữa môi trường mô phỏng với người sử dụng thông qua thiết bị vào ra. 1.2 Hành động của nhân vật (3D Animation) trong thực tại ảo. Trong VR thì các hiệu ứng 3D đóng một vai trò rất quan trọng trong việc xây dựng các mô hình thế giới thực, trong đó các hiệu ứng hành động của các đối tượng đóng một vai trò không thể thiếu. Không thể thiếu bởi vì một đối tượng sẽ 10 không tạo lên sự tương tác của nó với các đối tượng khác trong không gian thế giới nếu như nó không di chuyển hay thay đổi “trạng thái” (chính là các hiệu ứng) tại vị trí của nó. Như vậy sẽ tạo ra cảm giác nhàm chán cho người xem, cũng như làm cho không gian thế giới ảo không được linh động, không có “sức sống”, mà nó sẽ làm người xem nhầm tưởng như đang coi một bức ảnh với những cảnh vật tĩnh. Vì vậy mà có thể nói không một đối tượng, sự vật nào trong thế giới là không liên quan đến sự hành động. Ở đây có thể ví dụ như : Một cây chịu sức thổi của gió sẽ nghiêng ngả theo chiều gió, một người chạy bộ trên đường với những đoạn đường khúc khủy, lên dốc hay xuống dốc thì lúc đó cũng sẽ thấy rõ được sự thay đổi về vận tốc…..Nhận thấy tầm quan trọng không thể thiếu đó mà chúng ta càng phải nghiên cứu và tìm hiểu mô phỏng các hiệu ứng hành động của các đối tượng trong môi trường thực tại ảo. Hiện nay có rất nhiều hiệu ứng khác nhau về đối tượng mà ở đây tác giả chọn việc mô phỏng hành động của nhân vật (3D Animation) trong môi trường không gian ảo để phân tích và mô phỏng. 1.2.1. Animation trong thực tại ảo là gì? - Animation: Thực chất là một tập hợp các hình ảnh có thứ tự được khởi động một cách liên tục, nó thường dùng để mô tả các sự vật như đống lửa, màn hình tivi v.v... Hay nói cách khác, nó là một chuỗi có thứ tự của những hình ảnh thay thế nhau, tạo ra các hiệu ứng về sự vận động. - 3D Animation: Là sự kết hợp các hiệu ứng của các Animaition để tạo ra các hành động của đối tượng trở nên mềm mại, uyển chuyển trong quá trình chuyển động cũng như có sự thay đổi về trạng thái trong môi trường không gian 3D. 1.2.2. Hiệu ứng Animation trong thực tại ảo . Hiệu ứng Animation ở đây chúng ta hiểu nó là việc sử dụng rất nhiều các cử chỉ, hành động có thể là giống hoặc khác nhau, chúng ta có thể thiết lập, thay đổi trang phục, tính chất, kích thước, vận tốc…cho các animation (đối tượng) và cho chúng chuyển động tự nhiên hoặc tuân theo một quy luật nào đó để tạo thành các hiệu ứng 3D trong môi trường thực tại ảo. Các hiệu ứng animation được tạo 11 ra nhằm miêu tả các động tác vận động hay cử chỉ của đối tượng mà ở đây đồ án đề cập cụ thể lên một nhân vật. Ví dụ: Một người chạy bộ trên một con đường có những đoạn dốc, khi người chạy lên dốc thì tốc độ sẽ chậm lại, còn khi chạy xuống dốc tốc độ sẽ giảm, hoặc thể hiện bằng nhịp thở nhanh hay chậm khi nhân vật di chuyển…. 1.2.3. Cơ sở mô phỏng 3D Animation Cơ sở kỹ thuật của mô phỏng hiệu ứng 3D Animation chính là dựa vào các tính chất vật lý và sự tương tác của các đối tượng trong không gian thế giới. Dưới đây tác giả xin trình bày một số tính chất vật lý cơ bản của hiệu ứng 3D Animaiton đối với một nhân vật cụ thể. Ở đây sẽ lấy mô hình một nhân vật đang chạy trên một đoạn đường và thực hiện các động tác khác nhau.