Báo cáo Tìm hiểu quá trình phát triển của hoạt hình 3D và cách thức xây dựng các plug-In hỗ trợ cho phần mềm 3D Maya

pdf 37 trang thiennha21 14/04/2022 7180
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Tìm hiểu quá trình phát triển của hoạt hình 3D và cách thức xây dựng các plug-In hỗ trợ cho phần mềm 3D Maya", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_cao_tim_hieu_qua_trinh_phat_trien_cua_hoat_hinh_3d_va_ca.pdf

Nội dung text: Báo cáo Tìm hiểu quá trình phát triển của hoạt hình 3D và cách thức xây dựng các plug-In hỗ trợ cho phần mềm 3D Maya

  1. Trường Đại Học Bách Khoa Hà Nội Khoa Công nghệ thông tin  BÁO CÁO THỰC TẬP TỐT NGHIỆP Đề tài: Tìm hiểu quá trình phát triển của hoạt hình 3D và cách thức xây dựng các plug-in hỗ trợ cho phần mềm 3D Maya Giáo viên hướng dẫn: Lê Tấn Hùng Sinh viên thực hiện: Nguyễn Thị Thương Huyền Lớp: CNPM – K47 Hà Nội, 2/2007
  2. Báo cáo thực tập tốt nghiệp Mục lục Mục lục 1 Danh mục các hình 2 Lời mở đầu 3 Phần I – Quá trình phát triển của hoạt hình 3D 4 1. Lịch sử xuất hiện và quá trình phát triển của hoạt hình 3D trên thế giới 4 2. Quá trình phát triển của sản xuất phim hoạt hình 3D ở Việt Nam và những kết quả đạt được 8 3. Những khó khăn trong quá trình sản xuất phim hoạt hình ở Việt Nam và cách khắc phục 12 Phần II – Quy trình và các kỹ thuật bổ sung cho quá trình làm phim hoạt hình 3D 16 1. Quy trình làm phim hoạt hình 3D 16 2. Một số công cụ trong quá trình sản xuất phim hoạt hình 21 2.1 Bộ mô hình hóa 21 2.2 Bộ biên tập chất liệu 23 2.3 Bộ tạo cảnh 26 2.4 Bộ render 29 3. Phương thức xây dựng những plug-in hỗ trợ cho Maya 30 3.1 Maya API 30 3.2 Đưa một plug-in vào Maya 31 3.3 Xây dựng một plug-in 32 3.4 Ví dụ xây dựng một plug-in đơn giản 34 Phần III – Tài liệu và các trang web tham khảo 36 Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 1
  3. Báo cáo thực tập tốt nghiệp Danh mục các hình Hình 1 - Phenakistoscope – Joseph Plateau, 1832 4 Hình 2 - Humorous phases of funny faces; nhà sản xuất và thiết kế, J. Stuart Blackton 5 Hình 3 - Gertie, the dinosaur 5 Hình 4 - Steamboat Willie 6 Hình 5 - Toy story 1995 7 Hình 6 - Tron 1982 7 Hình 7 - Final Fantasy X 7 Hình 8 - Chuyện hai chiếc bình (2003) 9 Hình 9 - Voi và vẹt (2004) 9 Hình 10 - Giấc mơ của ếch xanh (2005) 11 Hình 11 - Happy feet (2006 ) 15 Hình 12 - The Simpsons 16 Hình 13 - Wallace & Gromit 16 Hình 14 - Lưu đồ thực hiện 17 Hình 15 – Storyboard 18 Hình 16 - Hình lục giác và khi kéo dài 21 Hình 17 - Đường ống lục giác đã được đánh bóng 22 Hình 18 - Màu sắc trên một khối cầu khi không có kết cấu áp lên 24 Hình 19 - Kết cấu màu sắc trên khối cầu 24 Hình 20 - Kết cấu màu sắc và kết cấu va chạm trên khối cầu 24 Hình 21 - Kết cấu màu sắc, kết cấu va chạm và kết cấu vô hướng trên khối cầu 25 Hình 22 - Mô hình chiếu sáng phẳng trên một khối cầu 26 Hình 23 - Cars (2006) 27 Hình 24 - Cảnh khi được chiếu sáng bằng nguồn sáng vô hạn 28 Hình 25 - Cảnh khi được chiếu sáng bằng nguồn sáng vô hướng 28 Hình 26 - Cảnh khi được chiếu sáng bằng nguồn sáng rọi 28 Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 2
  4. Báo cáo thực tập tốt nghiệp Lời mở đầu Hoạt hình 3D Việt Nam đã có những bước đi đầu tiên tuy chưa thể nói là hoàn toàn thành công nhưng đã ghi nhận những cố gắng của những người tham gia làm phim. Với mục đích ban đầu là tìm hiểu cách thức làm phim hoạt hình 3D đồng thời cố gắng xây dựng một plug-in nhằm hỗ trợ cho quá trình làm phim, tài liệu này chỉ là kết quả của quá trình khảo sát ban đầu về thực tế làm phim hoạt hình 3D ở Việt Nam hiện nay và cách thức để xây dựng những plug-in. Phạm vi của đề tài chỉ áp dụng cho phần mềm 3D được sử dụng nhiều nhất hiện nay trong làm phim hoạt hình là Maya bởi tính phổ dụng và khả năng tạo ra những hiệu ứng tuyệt vời của nó. Chính vì mục đích như vậy nên tài liệu này tập trung vào hai mảng chính: 1) Khảo sát và tìm hiểu quá trình phát triển của hoạt hình 3D ở trên thế giới và ở Việt Nam. Chỉ ra những khó khăn trong thực tế của nền sản xuất hoạt hình 3D Việt Nam thu nhận được trong thực tế tìm hiểu và đề ra một số biện pháp khắc phục. 2) Cách thức xây dựng những plug-in hỗ trợ cho Maya Khi thực hiện đề tài này, em xin gửi lời cảm ơn đến các Thầy Cô trong bộ môn Công Nghệ Phần Mềm, đặc biệt là thầy Lê Tấn Hùng đã nhiệt tình giúp đỡ em trong quá trình xác định, tìm hiểu và thực hiện đề tài. Em cũng xin gửi lời cảm ơn sự nhiệt tình giúp đỡ của đạo diễn Hà Bắc, hãng phim Giải Phóng đã đưa ra những kinh nghiệm trong quá trình làm phim hoạt hình 3D, hướng dẫn quá trình thực hiện và cung cấp những tài liệu cần thiết để em có thể hoàn thành tốt đề tài này. Sinh viên thực hiện: Nguyễn Thị Thương Huyền Lớp: CNPM – K47 Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 3
  5. Báo cáo thực tập tốt nghiệp Phần I – Quá trình phát triển của hoạt hình 3D 1. Lịch sử xuất hiện và quá trình phát triển của hoạt hình 3D trên thế giới Điều gì đã mang lại cho những bức ảnh tĩnh một sức sống mới? Điều gì đã tạo nên một bước chuyển biến mới trong lĩnh vực điện ảnh thông qua một cách thể hiện sáng tạo và độc đáo? Cái gì đã tạo cho những người yêu điện ảnh một cảm giác vừa hư vừa thực khi xem phim? Đó chính là chuyển động. Chuyển động ở đây không bao hàm những khái niệm chuyển động chung chung mà chính là cách thức tạo ra chuyển động cho những đối tượng tưởng như không bao giờ có thể cử động được. Từ đó sản sinh ra một ngành nghệ thuật không thể tách rời với kỹ thuật: Animation. Hoạt hình, bao gồm cả hoạt hình vẽ tay cũng như hoạt hình có sử dụng đồ họa máy tính, có một lịch sử dài và phong phú kéo dài trong gần một thế kỷ của những kinh nghiệm và sự tiến bộ. Để hiểu rõ hơn hoạt hình 3D xuất hiện như thế nào, chúng ta phải tìm hiểu về những hình thức hoạt hình trước đó. Nếu không có những hình thức hoạt hình này thì chúng ta không thể có một ngành công nghiệp sản xuất hoạt hình 3D mạnh mẽ như hiện nay. Ban đầu, người ta đã phát triển một kỹ thuật của hoạt hình vẽ trên giấy được gọi là Phenakistoscope. Phát minh này cho phép những bức vẽ đơn giản dịch chuyển liên tiếp nhau và sẽ trông giống như là chuyển động thật vậy. Hình 1 - Phenakistoscope – Joseph Plateau, 1832 Bước phát triển tiếp theo trước khi chúng ta đạt được kỹ thuật hoạt họa như hiện nay do công của J.Stuart Blackton. Ông đã tạo ra một phim hoạt hình ngắn gọi là “Những pha hài hước của những khuôn mặt cười” – “Humorous phases of funny faces”. Bộ phim này được tạo ra bằng các khuôn mặt vẽ đơn Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 4
  6. Báo cáo thực tập tốt nghiệp giản trên một tấm bảng đen rồi chụp lại, bằng cách xóa nét vẽ cuối cùng và tạo ra một nét vẽ mới rồi chụp một bức ảnh khác, đã cho phép ông ghép nối những bức ảnh với nhau làm những bức ảnh dường như có sự sống. Hình 2 - Humorous phases of funny faces/Vitagraph; nhà sản xuất và thiết kế, J. Stuart Blackton Winsor McCay đã tạo ra một bước phát triển tiếp theo khi tạo ra phim “Gertie, the trained dinosaur” tạm dịch là “Gertie, con khủng long đã thuần hóa”. Mặc dù đây là một bộ phim ngắn nhưng thực sự nó chứa đến 10.000 bức vẽ. Nó đã được công chiếu rộng rãi trong các nhà hát và trong một sự kiện lớn về đa phương tiện vào năm 1914. Đây là một trong những bộ phim hoạt hình đầu tiên được sự hoan nghênh của rất nhiều người. Hình 3 - Gertie, the dinosaur Năm 1923 là một năm bản lề của lịch sử phim hoạt hình khi Walt và Roy Disney thành lập studio sản xuất phim hoạt hình, một trong những studio được thành lập nhằm sản xuất phim hoạt hình. Cũng trong thời gian này, hãng Warner Brothers bắt đầu sáng tạo ra những nhân vật nổi tiếng thế giới như vịt Donald, Pluto và Betty. Một sự kiện trọng đại không kém vào thời điểm này là bộ phim “Steamboat Willie” đã đưa Mickey Mouse đến với công chúng. Bộ phim này là bộ phim đầu tiên có đưa âm thanh vào, nó đã đạt được những thành công rất vang dội và tạo ra cho Walt Disney một vị thế như ngày nay. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 5
  7. Báo cáo thực tập tốt nghiệp Hình 4 - Steamboat Willie Tính từ thời điểm này về sau, chúng ta có thể thấy các phim hoạt hình được tạo ra ngày càng nhiều, riêng hãng Disney đã sản xuất ra hơn 30 bộ phim hoạt hình dài tập với một số lượng bản vẽ không thể đếm hết được. Các hãng phim hoạt hình khác cũng đã tạo ra những phim hoạt hình của riêng họ như là “The Jetsons” và “Flintstones”. Nhưng vào năm 1995, một sự kiện diễn ra đã thay đổi truyền thống làm phim hoạt hình trong nhiều năm. Đó là sự ra đời của phim hoạt hình “Toy story”, bộ phim là một thành công vang dội khi là phim hoạt hình 3D đầu tiên và kéo dài trong 1 giờ 20 phút. Nhưng trước khi bộ phim này được trình chiếu, có một số hãng phim đã sử dụng máy tính để tạo ra những hình ảnh trong phim của họ như “Tron”, bộ phim có 15 phút là do những hình ảnh được tạo ra bằng máy tính, là một trong những bộ phim đầu tiên sử dụng kỹ thuật này. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 6
  8. Báo cáo thực tập tốt nghiệp Hình 5 - Toy story 1995 Hình 6 - Tron 1982 Cho đến thời điểm này, bao nhiêu bộ phim hoạt hình 3D đã ra đời như “Toy story 2”, “Shrek”, “Shrek 2”, “Final Fantasy” nhưng những mốc nổi bật đánh giá những chặng đường phát triển của phim hoạt hình 3D luôn ghi dấu tên tuổi những hãng phim như Warner Brothers, Disney, và những hãng phim này xứng đáng là một phần không thể thiếu của lịch sử sản xuất phim hoạt hình. Hình 7 - Final Fantasy X Một cảnh trong phim “Final Fantasy X” – một bộ phim thành công vang dội về các hiệu ứng đạt được trong quá trình sử dụng phần mềm 3D Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 7
  9. Báo cáo thực tập tốt nghiệp 2. Quá trình phát triển của sản xuất phim hoạt hình 3D ở Việt Nam và những kết quả đạt được Nền sản xuất phim hoạt hình Việt Nam cũng có một quá trình phát triển tương tự như nền hoạt hình của châu Á khi bị ảnh hưởng của phong cách sản xuất phim hoạt hình ở châu Âu và châu Mỹ. Tuy nhiên, tốc độ phát triển của nó chậm và lạc hậu hơn rất nhiều. Nếu tính đến thời điểm hiện nay, khi mà các nước láng giềng như Nhật Bản, Trung Quốc, Hàn Quốc đã có những bộ phim hoạt hình được nhiều người đánh giá cao thì ở Việt Nam, riêng việc phục vụ nhu cầu xem phim hoạt hình trong nước cũng không đáp ứng được cả về chất lượng lẫn số lượng. Đó là cái nhìn toàn cảnh đối với phim hoạt hình Việt Nam hiện nay, tuy không thể sánh bằng các nước trong khu vực nhưng cũng đã ghi dấu những cố gắng rất lớn của những đạo diễn, họa sĩ, nhà biên kịch trong nước. Vì thế, việc ra đời bộ phim hoạt hình 3D đầu tiên của Việt Nam được xem là một thành công rất lớn và một bước ngoặt quan trọng trong sự phát triển hiện nay. Nền sản xuất phim hoạt hình Việt Nam đã từng không được coi trọng chỉ với một số nhỏ cơ sở sản xuất và một đội ngũ sản xuất ít chịu đổi mới về tư duy sáng tạo cũng như phương cách làm việc. Vì thế, những bộ phim hoạt hình Việt Nam chủ yếu mang nặng hoặc là tính dạy dỗ, giáo dục trẻ con của người lớn hoặc là những vấn đề của người lớn được đưa vào phim như chiến tranh, nạn nhân của hạnh phúc gia đình Do vậy, vấn đề cần cải tiến đầu tiên không hẳn là kỹ thuật làm phim mà chính là sự sáng tạo và sự truyền cảm của người làm phim khi làm phim hoạt hình cho thiếu nhi. Nếu biết rằng, một nước có dân số ít hơn và nhiều nét văn hóa tương đồng với nước ta như Nhật Bản mà có tới 435 hãng phim hoạt hình, mỗi tuần sản xuất từ 80 đến 100 phim (khoảng 3.500 phim mỗi năm), chiếm 90% phim hoạt hình phục vụ trẻ em trong nước và xuất khẩu tràn ngập thế giới, thì số lượng phim hoạt hình của ta hiện nay quả là nhỏ bé. Đó là chưa kể, phim hoạt hình Việt Nam với những nhân vật phản diện là cáo, chó sói, chuột đã quá quen thuộc đến nhàm chán đối với khán giả nhỏ tuổi. Những câu chuyện mang tính chất ngụ ngôn đơn giản, khiên cưỡng, lộ liễu đến mức các em chưa xem đã biết. Những cố gắng đổi mới của các nhà làm phim Việt Nam luôn được ghi nhận và sự kiện đáng ghi nhớ đầu tiên là vào năm 2003 khi ra mắt bộ phim hoạt kỹ thuật 3D đầu tiên tại Việt Nam. Bộ phim mang tên “Chuyện hai chiếc bình” do hãng phim tư nhân AREKA (thuộc công ty người cùng phát triển doanh nghiệp B&C, chuyên nghiên cứu và phát triển các ứng dụng công nghệ thông tin trong đời sống) hoàn thành ngày 25/7/2003. Đây là bộ phim hoạt hình đầu tiên của Việt Nam áp dụng kỹ xảo 3D và đã tham dự liên hoan phim ngắn toàn quốc vào đầu tháng 8/2003. Bộ phim dài 12 phút và từng được phát hành đĩa VCD, DVD và phát sóng trên VTV nhưng rồi cũng rơi vào quên lãng vì doanh thu của bộ Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 8
  10. Báo cáo thực tập tốt nghiệp phim không đủ gây tiếng vang để thôi thúc nhiều người đầu tư vực dậy nền hoạt hình Việt Nam. Hình 8 - Chuyện hai chiếc bình (2003) Bộ phim có kết cấu đơn giản, tiết tấu nhanh. Bộ phim còn gợi cho người xem nhều cảm xúc về chân lý và giá trị đích thực của sự tồn tại, về những ứng xử mang tình người trong những khoảnh khắc khó khăn trong cuộc sống. Bộ phim này đã ứng dụng nhiều kỹ xảo công nghệ hiện đại đang được ứng dụng trên thế giới, có tính đột phá về phương diện thiết kế, kết xuất và kiến tạo hoạt cảnh. Những mô hình từ đơn giản đến phức tạp, những hoạt cảnh, những mô phỏng động lực học, những hiệu quả khác như camera, ánh sáng, vật liệu và hiệu quả môi trường đều được thực hiện hoàn toàn trên kỹ thuật số hóa không gian 3D. Với ưu thế vượt trội về công nghệ kỹ xảo làm phim so với các phương pháp làm phim truyền thống trong nước, bộ phim là một cách nhìn mới trong việc phát triển ứng dụng máy tính vào thực hiện sản xuất phim tại Việt Nam. Ngoài bộ phim “Chuyện hai chiếc bình”, hãng AREKA còn cho ra đời bộ phim nhiều tập “Voi và vẹt”. Hình 9 - Voi và vẹt (2004) Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 9
  11. Báo cáo thực tập tốt nghiệp So với bộ phim ban đầu “Chuyện hai chiếc bình”, các phần phim lần này được tiến hành có nhiều thuận lợi hơn hẳn: đã tích lũy được các kinh nghiệm làm phim, hội tụ được nhiều người có kinh nghiệm làm việc, có đơn vị tài trợ Tuyển tập phim được hoàn thành sau hai tháng và phát hành rộng rãi vào khoảng 7/2004. Có thể nói từ “Chuyện hai chiếc bình” đến “Voi và vẹt” là một quá trình đi từ một bộ phim hoạt hình ba chiều thử nghiệm đến một bộ phim hoạt hình ba chiều thực sự với một trình đọ làm phim cao hơn hẳn. Tuyển tập phim bao gồm một serie phim ngắn xoay quanh hai nhân vật ngộ nghĩnh Voi và Vẹt, mỗi phim chỉ có độ dài từ một đến hai phút. Không lời thoại cũng như không có mở đầu hay kết thúc câu chuyện như chúng ta thường xem, mỗi phim chỉ như một lát cắt ngẫu nhiên của cuộc sống trẻ thơ được soi rọi dưới một cái nhìn hài hước, hóm hỉnh. Nhẹ nhàng, bình dị, từng tập phim là những trò chơi đùa của những đứa trẻ tinh nghịch, thông minh: chơi trận giả, tìm kho báu, đá bóng, chơi bowling, trượt băng, vẽ tranh ; hay những cách giải quyết rất trẻ con trước một tình huống nào đó trong cuộc sống. “Voi và vẹt” là bộ phim hoạt hình ba chiều thứ hai được công bố tại Việt Nam và là bộ phim hoạt hình ba chiều được phát hành rộng rãi lần đầu tiên (bộ phim thứ nhất mới chỉ trình chiếu trong liên hoan phim). Con số hơn 100.000 đĩa VCD bán được trong thời gian phát hành là 15 ngày đầu tiên đã đánh dấu thành công bước đầu không hề nhỏ của “Voi và vẹt” Mãi đến hơn một năm sau, năm 2005, hãng phim hoạt hình Việt Nam phối hợp với hãng phim Giải Phóng đã mạnh dạn đầu tư công nghệ để thực hiện bộ phim 3D “Giấc mơ của ếch xanh”. Đây là một bộ phim ghi nhận công sức của nhóm làm phim trong 1 năm trời – một thời gian tương đối dài so với thời gian làm phim của các nước trên thế giới. Nhưng bù lại, bộ phim này đạt được một kỹ thuật làm phim khá điêu luyện và đã tạo nên những cảnh có hiệu ứng rất đẹp. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 10
  12. Báo cáo thực tập tốt nghiệp Hình 10 - Giấc mơ của ếch xanh (2005) Sau “Chuyện hai chiếc bình” và “Voi và vẹt”, “Giấc mơ của ếch xanh” là một bộ phim hoạt hình 3D khá chuyên nghiệp. Các nhà làm phim đã đánh giá nó giống như một công trình nghiên cứu hơn là một công trình đầu tư bởi tính thử nghiệm của hãng phim Giải Phóng, viện phim Việt Nam và đạo diễn Hà Bắc trong việc áp dụng một công nghệ làm phim mới. Với những cố gắng trong quá trình thực hiện, bộ phim đã thành công ngoài dự kiến với sự kết hợp tài tình giữa kỹ xảo điện ảnh và hoạt hình, giúp tạo nên những hình ảnh 3D đẹp và sống động. Đặc biệt, phần âm thanh mang đậm tính dân tộc và được dàn dựng theo lối cổ truyền, bộ phim không chỉ thu hút được sự yêu thích của các khán giả nhỏ tuổi mà ngay cả những khán giả khó tính nhất cũng cảm thấy hài lòng. Và đâu là tương lai của phim hoạt hình Việt Nam? Theo thông tin mới nhất, series “Truyện khu vườn”, sản phẩm phim hoạt hình 3D đầu tay của xưởng phim hoạt hình Vinamation thuộc hãng phim tư nhân Dofilm đã là phim hoạt hình 3D đầu tiên được mua độc quyền khi được công ty Vinamit đầu tư. Dự kiến tập một mang tiêu đề “Phát minh của Mít” sẽ được phát sóng trên Đài truyền hình Sài Gòn vào mùng 3 tết Đinh Hợi. “Truyện khu vườn” là những câu chuyện về các nhân vật trong hình ảnh trái cây, xây dựng theo tiêu chí “giải trí đi trước, giáo dục đi sau”. Theo dự kiến, phim sẽ được thực hiện 1 tập/tháng và sau đó tăng tốc lên 2 tập/tháng. Và ở Hà Nội, đã có những nhóm được thành lập để làm phim hoạt hình 3D mặc dù chưa giới thiệu được một sản phẩm cụ thể nào. Họ là những con người không chuyên nhưng có lòng say mê làm phim và được thể hiện mình trong một lĩnh vực mới. Bên cạnh những hãng phim chuyên nghiệp như Trung tâm Sản xuất phim Hoạt hình của VFC, Hãng phim hoạt hình Việt Nam, những con người say mê với lĩnh vực hoạt hình 3D là một tín hiệu rất đáng mừng cho nền hoạt hình Việt Nam trong tương lai. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 11
  13. Báo cáo thực tập tốt nghiệp 3. Những khó khăn trong quá trình sản xuất phim hoạt hình ở Việt Nam và cách khắc phục Hoạt hình Việt Nam không phải không có những cố gắng cũng như kết quả đạt được đáng ghi nhận. Với những “Giấc mơ của ếch xanh”, “Chuyện hai chiếc bình”, “Voi và vẹt”, có thể nói đây là những bước đi ban đầu tuy đang còn rất chập chững nhưng là những bước đi đầu tiên đưa đến những thành công sau này. Vậy vấn đề chính là ở đâu khi ai cũng muốn đưa nền hoạt hình Việt Nam ngang bằng với các nước trong khu vực nhưng lại đứng trước một khoảng cách khá xa mà không đơn giản để vượt qua? Liệu đó có phải là vấn đề về kinh phí hay là về kỹ thuật? Trước đây, để làm một phim hoạt hình theo phương pháp truyền thống các hoạ sĩ hoạt hình phải thực hiện hàng ngàn bức vẽ, thủ công và phải mất rất nhiều công sức và thời gian. Từ hình ảnh do người hoạ sỹ vẽ ra cho đến khi trở thành hình ảnh trong phim phải qua rất nhiều công đoạn (vẽ động tác, làm sạch, xen kẽ, đi nét, tô mầu ) nên dễ xảy ra các lỗi kỹ thuật như: hình không khớp, rung, mầu tô không đều Thêm vào đó, các động tác máy camera trong phim khá hạn chế, phần kỹ xảo trong phim sẽ rất khó thực hiện. Kỹ thuật này được áp dụng trong quá trình sản xuất phim hoạt hình ở Việt Nam trong một thời gian dài và chỉ mới được thay đổi trong thời gian gần đây. Tuy nhiên, cách thức sản xuất phim hoạt hình theo kiểu truyền thống này không thể thay đổi một cách nhanh chóng. Bên cạnh đó, việc ứng dụng kỹ thuật 3D vào làm demo, quảng cáo, đồ họa kiến trúc đã rất phổ biến ở Việt Nam từ lâu nhưng mãi đến năm 2003, hãng AREKA mới tiên phong trong việc dùng kỹ thuật 3D vào sản xuất phim hoạt hình. Với kỹ xảo 3D, toàn bộ các công đoạn làm phim hoạt hình sẽ được thực hiện trên máy vi tính, sử dụng lợi thế của không gian ba chiều để tạo mô hình và bối cảnh cho nhân vật. Ưu điểm lớn nhất của kỹ thuật 3D là hoàn toàn có thể dựng nên một trường quay ảo với bối cảnh, ánh sáng, camera thậm chí có thể thực hiện được những cảnh mà phim truyện điện ảnh cũng không thực hiện được. Những người làm phim sẽ hoàn toàn chủ động xử lý tình huống để tạo ra những hình ảnh sinh động. Thời gian để làm một phim hoạt hình ngắn hơn, lực lượng sản xuất cũng ít hơn và tất nhiên kinh phí sẽ thấp hơn so với một phim hoạt hình thông thường. Chắc chắn công nghệ làm phim 3D sẽ đem đến một bước tiến mới trong kỹ thuật làm phim hoạt hình Việt Nam nói riêng cũng như ở các thể loại phim khác nói chung. Và hãng phim hoạt hình của Bộ văn hóa – thông tin đã có những việc đầu tư thích hợp để ứng dụng công nghệ này vào quá trình làm phim. Vào quý I/2004, hãng phim này đã cho lắp đặt, vận hành hệ thống máy móc làm phim 3D. Với hệ thống thiết bị hiện đại này, một số công đoạn thủ công trước đây sẽ được thực hiện trên máy vi tính như: tô màu, vẽ động, phối hợp giữa phông và cảnh động. Máy móc còn giúp các nhà làm phim thực hiện những cảnh kỹ xảo, tạo hiệu quả nghệ thuật tối đa, đem lại những bất ngờ mới cho người xem. Bên cạnh kỹ thuật 3D, công Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 12
  14. Báo cáo thực tập tốt nghiệp nghệ mới còn cho phép thực hiện những bộ phim họat hình 2D nhưng có chất lượng vượt trội hơn hẳn so với hệ thống làm phim hoạt hình 2D hiện nay. Vậy vấn đề kỹ thuật không phải là một vấn đề chủ chốt cần phải giải quyết hiện nay bởi với những kỹ thuật mới và những trang thiết bị hiện đại, các nhà làm phim hoàn toàn có khả năng biến thành hiện thực những ý tưởng của mình. Với dây chuyền công nghệ làm phim hiện đại và nếu các nhà làm phim biết cách tạo các cơ hội hợp tác với nước ngoài thì Việt Nam sẽ có những bộ phim hoạt hình hay. Vậy vấn đề có phải nằm ở kinh phí được cung cấp cho làm phim hoạt hình? Việc đầu tư hệ thống trang thiết bị làm phim 3D trị giá 7 tỉ đồng cho thấy kinh phí cung cấp cho làm phim không quá eo hẹp. Với kinh phí cho một tập phim của một bộ phim dài tập khoảng 200 triệu đồng thì kinh phí dành cho một bộ phim hoạt hình khoảng 160 triệu. Có nhiều người cho đây là một con số khiêm tốn nhưng nếu nhìn nhận lại, với một đội ngũ làm phim như hiện nay thì dù kinh phí cung cấp nhiều hơn cũng chưa chắc đã tạo ra được một bộ phim ghi dấu ấn trong lòng khán giả. Và với những kỹ thuật hiện đại còn cho phép giảm đáng kể kinh phí sản xuất. Vậy thực chất vấn đề ở đây là gì? Đó chính là chất lượng của đội ngũ làm phim hoạt hình và cách thức truyền đạt ý nghĩa của một bộ phim. Nếu nhìn lại tất cả những bộ phim hoạt hình mà Việt Nam đã sản xuất, kể cả phim hoạt hình 2D lẫn 3D thì có thể thấy rõ ràng rằng phim hoạt hình Việt Nam thực sự không đáp ứng được nhu cầu của các em thiếu nhi. Hoạt hình Việt Nam từ trước tới nay đều bị phê phán là “giáo điều”, quá chú trọng mặt giáo dục tư tưởng cho người xem, mà quên đi tầm quan trọng của sức hấp dẫn của một bộ phim hoạt hình nói riêng và nền điện ảnh nói chung. Làm sao có thể chuyển tải được bài học bổ ích cho người xem khi không thể cuốn hút họ xem hết phim? Trong giai đoạn hiện nay, bằng việc áp dụng những công nghệ mới, những hình ảnh trong phim đã được nâng cao rất nhiều về chất lượng nhưng vẫn chưa thoát được điểm yếu về “nội dung”. Vấn đề kịch bản có thể là vấn đề muôn thủa của điện ảnh nói chung và hoạt hình nói riêng. Kịch bản hoạt hình, với đối tượng chính là trẻ em, lẽ ra phải hướng về trẻ em. Nhưng có thể các nhà làm phim đã không thử đặt câu hỏi trẻ em thực sự trông chờ và đòi hỏi gì ở một bộ phim hoạt hình. Kho tàng phim hoạt hình thế giới rộng lớn như vậy nhưng các nhà làm phim hoạt hình Việt Nam vẫn chưa chịu học hỏi cách viết kịch bản sao cho vừa hấp dẫn vừa độc đáo chứ không thể chỉ dựa vào kho tàng truyện cổ tích dân gian. Kho tàng truyện cổ dân gian khá là lớn nhưng liệu còn tính hấp dẫn của bộ phim không khi mới xem phần đầu đã đoán ra được phần kết của câu chuyện? Yếu tố sáng tạo, giải trí, hài hước và thư giãn ít khi được để ý đến. Thay vào đó, các nhà làm phim cứ cho rằng việc “dạy dỗ” trẻ con là một điều tối cần thiết nên cứ nhất định đưa những bài học đạo đức vào phim. Thực ra việc làm này rất tốt và rất đáng được hoan nghênh nhưng vì việc chuyển tải một cách khô khan và gượng ép nên hiếm khi đến được đối tượng trẻ em. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 13
  15. Báo cáo thực tập tốt nghiệp Hiện nay, Trung Tâm Sản Xuất Phim Hoạt Hình thuộc VFC đang tập trung thực hiện 100 tập của bộ phim hoạt hình lịch sử xoay quanh đất và người Thăng Long – Hà Nội. Nhưng liệu đây sẽ là một bộ phim có khán giả không khi mà Trung Tâm Sản Xuất Phim Hoạt Hình này chưa từng sản xuất được một bộ phim lẻ hấp dẫn, thành công về doanh thu? Studio Pixar đã từng chỉ sản xuất những bộ phim lẻ thành công trước khi họ có quyết định chuyển sang làm những phim hoạt hình bộ. Vì thế, các nhà sản xuất phim hoạt hình cần phải xem xét kỹ trước khi tiến hành bởi nếu không thành công, bộ phim một sự lãng phí rất lớn về chi phí và nhân lực. Để khắc phục những hạn chế trên đây và nhất là những “khoảng trống” về phim thiếu nhi của điện ảnh Việt Nam, trước hết cần đột phá vào hai khâu quan trọng nhất là quan niệm của người sáng tác và định hướng của nhà quản lý. Các nhà làm phim cần thay đổi cách nghĩ, cách làm phim cho trẻ em để có sự đồng điệu giữa ý tưởng của người sáng tác và nhu cầu thẩm mỹ của người hưởng thụ. Cũng như mọi sản phẩm khác, khán giả chỉ xem, mua hoạt hình khi nhu cầu của họ được thỏa mãn. Có lẽ đã đến lúc các nhà làm phim hoạt hình Việt Nam chịu lắng nghe nhu cầu của khán giả nhỏ tuổi, trước khi bỏ tiền và công sức ra làm những bộ phim chỉ để chiếu một lần trên truyền hình, tham dự các giải thưởng rồi chỉ để đấy, chờ đợi kinh phí làm phim tiếp theo. Một vấn đề nữa thường thấy trong phim hoạt hình 3D của Việt Nam nói riêng và phim hoạt hình 2D nói chung là vấn đề về âm thanh. Trong các bộ phim hoạt hình, ta thường thấy những người lồng tiếng chủ yếu là người lớn dù đó là nhân vật trẻ con hay là một con vật nào đó. Có thể những nhà làm phim không chú ý đến vấn đề này nhưng khi xem phim, nhất là trẻ em sẽ không thấy sự tương đồng và làm cho trẻ em cảm thấy bộ phim không dành cho mình. Thêm vào đó, cách tạo tiếng động, âm nhạc, các bài hát thường không được chú ý đến mặc dù đây là một thành phần chủ chốt tạo nên một sự thành công cho bộ phim. Nếu xem phim hoạt hình của nước ngoài sẽ thấy vấn đề âm thanh được đầu tư rất kỹ. Vừa xem phim vừa nghe nhạc sẽ làm cho câu chuyện trong phim rất dễ đi vào lòng người. Một ví dụ rất điển hình cho việc xử lý âm thanh là bộ phim “Happy feet” với những ca khúc rất hay. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 14
  16. Báo cáo thực tập tốt nghiệp Hình 11 - Happy feet (2006 ) Và một vấn đề khó giải quyết hiện nay là sự phối hợp chưa ăn ý giữa những đạo diễn phim, những người làm nghệ thuật với những người thực hiện, các nhà kỹ thuật. Một bộ phim hoạt hình đòi hỏi một sự làm việc ăn ý nhau giữa những người tham gia. Và nhất là một bộ phim 3D lại càng phải có sự phối hợp chặt chẽ hơn nữa. Nhưng một thực tế hiện nay là tồn tại hai cách nhìn khá mâu thuẫn trong nhóm làm phim. Những người làm nghệ thuật và những người thực hiện đều xem trọng vai trò của mình lớn hơn vai trò kia. Nhưng nghệ thuật không thể làm được gì, không thể thể hiện được ý tưởng của mình khi không có kỹ thuật hỗ trợ. Và kỹ thuật cũng chỉ là vô hồn khi không có nghệ thuật dẫn đường. Sự phát triển chậm chạp của hoạt hình 3D Việt Nam một phần là do nguyên nhân này. Và để khắc phục vấn đề này không có cách nào khác hơn là phải có sự hiểu nhau và thông cảm với nhau giữa những thành viên làm phim. Hoạt hình 3D Việt Nam chỉ mới trải qua đoạn đầu của chặng đường phát triển. Khó khăn và thách thức ban đầu lúc nào cũng có nhiều, nhưng chỉ có việc vượt qua những khó khăn này mới có thể đưa hoạt hình Việt Nam đạt được những thành công lớn hơn để đáp ứng được lòng mong mỏi và sự ủng hộ của người hâm mộ Việt Nam. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 15
  17. Báo cáo thực tập tốt nghiệp Phần II – Quy trình và các kỹ thuật bổ sung cho quá trình làm phim hoạt hình 3D 1. Quy trình làm phim hoạt hình 3D Hoạt hình hiện nay được chia thành 3 loại chính dựa vào cách thức thực hiện: dạng cel, stop-motion và hoạt hình 3D có sử dụng máy tính. Hoạt hình dạng cel (được lấy tên từ loại giấy celluloid thường được sử dụng khi vẽ các hình ảnh) là hoạt hình 2D. Những hình ảnh liên tiếp được vẽ bằng tay bởi họa sĩ thông qua một bề mặt phẳng nào đó hoặc thông một môi trường máy tính. “Gia đình Simpsons” là một ví dụ về loại phim hoạt hình này. Hình 12 - The Simpsons Hình 13 - Wallace & Gromit Hoạt hình dạng stop-motion (hay còn gọi là frame-by-frame) có thể là hoạt hình 2D hoặc 3D tùy thuộc vào từng mục đích cụ thể. Đây là một kỹ thuật giúp cho các đối tượng tĩnh có thể chuyển động khi quay. Những đối tượng này dịch chuyển một khoảng cách rất nhỏ giữa các frame liên tiếp, tạo ra hiệu ứng chuyển động khi phim được phát lại, cũng giống như phim hoạt hình được tạo ra bằng cách vẽ tay tất cả các hình ảnh mô tả chuyển động. Claymation cũng là một dạng của hoạt hình stop-motion. Dạng này yêu cầu rất nhiều những bức ảnh chụp mô tả những chuyển động khác nhau rất nhỏ trong một cảnh. Điểm khác nhau căn bản ở đây chính là cách sử dụng những mô hình nhân vật là các mô hình như búp bê. Claymatino thường là hoạt hình 3D bao gồm các mô hình 3D được chạm khắc rồi đặt trong một cảnh 3D. Wallace & Gromit là một ví dụ rất điển hình về loại phim hoạt hình stop- motion. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 16
  18. Báo cáo thực tập tốt nghiệp Hoạt hình 3D có sử dụng máy tính bao gồm một quá trình đặc biệt. Nó là một quá trình tương tác trong đó các thành phần được tạo ra, gọt dũa, và liên kết với các thành phần khác. Và một điểm đặc biệt quan trọng: hoạt hình 3D không phải là một quá trình tuyến tính. Hình 14 là một lưu đồ gần tuyến tính của quá trình thực hiện Hình 14 - Lưu đồ thực hiện Bước đầu tiên của một dự án 3D là lập kế hoạch. Đây là một bước không thể bỏ qua bởi tính quan trọng của nó, mỗi giờ dùng cho việc lập kế hoạch sẽ tiết kiệm được 10 giờ trong quá trình thực hiện. Quá trình lập kế hoạch bao gồm rất nhiều các bản phác thảo khác nhau. Nếu kết quả cuối cùng của dự án là những bức ảnh mô tả tập hợp các bánh răng và răng thì những bản phác thảo sẽ mô tả những răng cưa sẽ trông như thế nào, chúng sẽ được kết hợp lại như Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 17
  19. Báo cáo thực tập tốt nghiệp thế nào cũng như những lưu ý đến màu sắc và ánh sáng. Nếu kết quả của dự án là một nhân vật thì những phác thảo là những đặc điểm của nhân vật đó. Nếu kết thúc dự án là một phim hoạt hình, có thể tiết kiệm được rất nhiều thời gian cho các cảnh phim nếu một storyboard hiệu quả quan tâm đến góc quay của camera, thời gian quay và hướng nhìn của bố cục. Hình 15 là một storyboard của một dự án thực tế Hình 15 – Storyboard Sau khi khuôn dạng của mô hình và bố cục của cảnh được thực hiện trên giấy, quá trình mô hình hóa được tiến hành. Khi làm trong thực tế, chúng ta dễ dàng vướng vào những khó khăn như cách thức tạo nếp nhăn của da ở dưới mắt hay những vết sấn sùi trên bề mặt của bánh răng. Những đặc điểm này không thể bị che dấu bằng cách làm tối đi. Mô hình hóa là một quá trình khá khó khăn và rất thú vị nhưng đó cũng chỉ là một phần của một dự án hoàn chỉnh. Rất nhiều người dành rất nhiều thời gian chỉ để tạo ra những mô hình hoàn thiện và không đủ thời gian dành cho việc liên kết hay tạo chuyển động cho mô hình và kết thúc là có rất nhiều mô hình nhưng dự án lại không hoàn thành. Việc này rất tốt nếu công việc của bạn chỉ là mô hình hóa, nhưng lại là một sự thất bại nếu mục đích của bạn rõ ràng hơn. Phần sau của mô hình có thể được nhìn thấy hay không? Mô hình hay máy quay có chuyển động khi quay phim hay không? Ánh sáng có rõ ràng hay không? Loại mô hình nào sẽ được thực hiện với loại kết cấu nào? Những câu hỏi này cần được trả lời trước khi Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 18
  20. Báo cáo thực tập tốt nghiệp bạn bắt đầu mô hình hóa. Không cần thiết phải tạo ra những phần của mô hình nếu chúng không được nhìn thấy. Và không cần thiết phải đầu tư quá nhiều thời gian vào các chi tiết nếu chúng chỉ được quay qua máy quay với ánh sáng mờ và trong thời gian ít hơn một giây. Sau khi tất cả những bản phác thảo đã được hoàn tất, những bước tiếp theo được thực hiện với sự trợ giúp của máy tính. Việc đầu tiên của quá trình này là mô hình hóa trên máy tính. Nếu các bản phác thảo hiệu quả, quá trình mô hình hóa có thể là một quá trình thú vị. Thỉnh thoảng, bạn sẽ nhận ra rằng phần mềm hoặc mô hình của bạn không giống với những yêu cầu trong bản thiết kế gốc. Lúc đó, vòng lặp “return to Step X” bắt đầu. Thiết kế lại một phần nào đó rồi mô hình hóa lại. Khi các mô hình hình học được tạo ra, quá trình texture bắt đầu. Thông thường, quá trình texture bao gồm việc sử dụng những kết cấu ghép. Ở thời điểm này, nó tạo ra kết cấu thông qua những bức ảnh chụp và những bề mặt khác, trong khi ở thời điểm khác, quá trình texture được thực hiện thông qua những bức vẽ kết cấu của bạn từ những bức hình được tạo ra từ chương trình khác như Photoshop, Illustrator, Sau khi các kết cấu được hoàn thành, chúng sẽ được ánh xạ đến hình dạng của mô hình. Có thể trong quá trình này, bạn sẽ thấy một số kết cấu cần được thay thế hoặc kết cấu này không thể che phủ hết các vết hở của mô hình, vì thế một số bước tự hiệu chỉnh lại là cần thiết. Khi áp các kết cấu, cần phải thực hiện nhiều lần render tạm thời để quan sát các kết cấu khi được phủ lên bề mặt của mô hình. Và khi render, cần phải chắc chắn rằng sử dụng đúng thuật toán render nhanh vì chỉ sử dụng để quan sát hiệu quả. Sau khi áp các kết cấu lên các mô hình, cần phải đặt các mô hình vào ánh sáng của dự án. Sau đó lặp lại lần nữa quá trình render. Thông thường trong pha chiếu sáng, bạn có thể thấy rằng cách thức chiếu sáng mà bạn sử dụng làm mờ đi màu sắc của các kết cấu, việc thực hiện một số điều chỉnh đến các kết cấu là cần thiết. Bây giờ, nếu yêu cầu của dự án vẫn còn, quá trình render hoàn chỉnh là cần thiết. Nếu dự án là một phim hoạt hình, cần đảm bảo chắc chắn rằng storyboard được thực hiện tốt và dễ hiểu. Nếu phim hoạt hình yêu cầu phải có sự đồng bộ giữa chuyển động và âm thanh thì xây dựng một bảng liệt kê dope sheet như bảng sau đây là một bước quan trọng. Tạo ra bảng này để ghép nối các yêu cầu của bạn. Bảng liệt kê là một cách thức cơ bản để ánh xạ chuyển động và âm thanh trên những frame cần thiết. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 19
  21. Báo cáo thực tập tốt nghiệp Sau khi bạn đã vạch ra cách thức thời gian làm việc, đã đến lúc để đưa thời gian vào dự án của bạn. Hoạt hình đôi khi được gọi là hoạt hình 4D bởi có thể xem thời gian là chiều thứ 4. Cách thức hoạt hình của bạn diễn ra và cách thức thiết kế của bạn chuyển động là những đặc điểm được đưa ra cho hoạt hình. Khi tất cả các cảnh chính của phim được hoàn thành (có thể sử dụng playblasts thay cho render), bạn sẽ có nhiều đoạn phim ngắn phụ thuộc vào số lượng các cảnh quay được định trước trong storyboard. (Playblasts là một kỹ thuật đưa ra các đoạn phim không render cho phép bạn kết hợp một tập các frame với nhau một cách nhanh chóng mà không cần thời gian xử lý render). Sau đó, cần phải miêu tả phần nào của phim hoạt hình thật sự cần thiết để dẫn dắt câu chuyện và phần nào cần để làm nền cho bộ phim. Chúng ta thường đam mê với dự án của mình, đặc biệt là khi chúng ta sử dụng một kỹ thuật mới mà chúng ta đã học được. Tuy nhiên, người xem lại ít khi chia sẻ điều đó với các kỹ thuật mới và thường chán với những thành phần mới mà chúng ta thêm vào mà không đóng góp gì vào diễn biến của câu chuyện. Lập kế hoạch về một số cảnh quan trọng để biên tập. Một quá trình biên tập tốt không thể được thực hiện một cách nhanh chóng và dễ dàng, và thường cần nhiều lần biên tập khác nhau để cắt bớt những đoạn phim không cần thiết. Trong quá trình biên tập, bạn có thể bắt đầu thấy tất cả các thành phần được liệt kê trước đây được liên kết với nhau. Nếu không, cần phải lưu trữ, thực hiện lại và thử lại. Thông thường, trong quá trình biên tập, âm thanh được thêm vào sau. Tuy nhiên, âm thanh rất quan trọng mà cần thiết phải có một bước riêng. Các phim hoạt hình sẽ rất thành công nếu có một xác định rõ ràng về âm thanh từ khi bắt đầu dự án. Âm thanh có thể giúp diễn tả sự chuyển động, thời gian và cảm giác. Chính vì thế, cần phải đầu tư thời gian vào việc tạo ra một thiết kế âm thanh. Vấn đề lớn nhất đối với rất nhiều nhà làm phim hoạt hình là thiếu sự phản hồi của khán giả. Thường dự án được thực hiện một cách thầm lặng và kết thúc dự án mà không có một lời khuyên nào được đưa ra. Sau khi bạn hoàn thành tốt phần biên tập và thiết kế âm thanh, cần phải nhận thức rõ rằng dự án vẫn còn đang dang dở và cânà phải nhận được phải hồi, càng nhiều càng tốt. Bạn sẽ thấy ngạc nhiên khi nhận ra những gì mà bạn bè, gia đình và đồng nghiệp của bạn có thể giúp đỡ bạn. Nếu họ nói với bạn rằng: “Tôi không hiểu cái gì đang diễn ra” thì họ đang nói với bạn rằng họ không hiểu khung cảnh của bộ phim và điều đó có nghĩa là bạn chưa xác định một cách rõ ràng cách thể hiện câu chuyện của bạn. Bên cạnh việc nhận được những ý kiến từ bạn bè của bạn, bạn cần phải tham khảo ý kiến từ những người am hiểu về 3D. Có rất nhiều các nhóm, forum khác nhau cho phép bạn đưa công việc lên để nhận được những lời phê bình. Thông thường những lời phê bình đều có tính chất xây dựng và đều xuất phát từ những nguồn hiểu biết khác nhau. Một số lời phê bình đó có thể cho phép bạn xác định được những hướng đi đúng đắn cho dự án của mình. Sau khi được phê bình và đánh giá, có thể bạn nhận thấy rằng cần phải làm lại ở một số công đoạn nào đó hoặc bạn tìm thấy cách thức biên tập ít tốn công Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 20
  22. Báo cáo thực tập tốt nghiệp sức hơn nhưng lại chặt chẽ hơn. Dù trong trường hợp nào đi chăng nữa, vòng quay của tiến trình vẫn sẽ tiếp tục. Và bước cuối cùng của quy trình là xác định được lúc nào cần dừng lại. Luôn luôn có một việc gì đó của dự án cần phải làm tốt hơn nhưng cũng cần phải biết rằng sẽ có những phim khác để làm, những chuyển động cần phải nghiên cứu và những ý tưởng cần phải thực thi chứ không thể chỉ tập trung vào một dự án nào đó. 2. Một số công cụ trong quá trình sản xuất phim hoạt hình Bộ mô hình hóa Công cụ chủ yếu dùng để mô hình là bộ mô hình hóa (modeler). Bộ mô hình hóa là một chương trình phần mềm giúp cho những người làm phim hoạt hình tạo hình dáng 3D cho các đối tượng. Phần lớn những bộ mô hình hóa cung cấp cho những nhà làm phim những hình dạng đơn giản như hình vuông, hình tam giác, hình cầu và hình lập phương. Những hình này có thể được biến đổi và được kết hợp lại mới nhau thành những đối tượng phức tạp hơn. Những hình dạng đơn giản này được gọi là những hình dạng nguyên thủy bởi vì chúng là những khối cơ bản để xây dựng nên những đối tượng 3D trong máy tính. Ví dụ, một hình tròn có thể xoay tròn xung quanh một đường tròn khác để tạo nên một cái bánh rán. Một hình lục giác có thể được kéo dài ra để tạo thành một cái ống. Hình 16 - Hình lục giác và khi kéo dài Kết quả được hiển thị trong một cửa sổ trên màn hình máy tính. Cửa sổ này được gọi là khung nhìn bởi vì nó được dùng để quan sát thế giới ảo 3D. Khi người tạo hình xây dựng những đối tượng 3D, thông qua khung nhìn có thể quan sát thấy đối tượng bao gồm những đường kẻ có màu sắc liên kết với những đường có màu khác để định hình hình dạng của đối tượng. Chúng được gọi là khung dây (wireframe). Khung nhìn của camera có thể được dịch chuyển hoặc xoay để nhìn đối tượng ở nhiều góc độ khác nhau. Khi các đối tượng có độ phức tạp cao như là máy bay hoặc một phố mua bán được tạo ra, phương pháp quan sát khung dây có thể làm mất phương hướng. Hình dung rằng toàn bộ căn nhà của bạn là một khung dây. Những bức tường, sàn nhà, nội thất, ống dẫn không khí, đường ống Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 21
  23. Báo cáo thực tập tốt nghiệp và tất cả những thứ khác đều chỉ được thể hiện bằng các đường và không có bề mặt rắn. Lúc đó, bạn hoàn toàn không phân biệt được đường nào là của vật thể nào và rất khó để hình dung về các vật thể trong những đường kẻ rối rắm ấy. Một đối tượng 3D được chia thành những đối tượng riêng bởi đường biên của khung dây của chúng. Ví dụ, đường ống của chúng ta có 8 thành phần, mỗi hình lục giác ở hai đầu của ống và sáu hình chữ nhật liên hết hai hình lục giác đó. Những thành phần này được xem như là những đa giác. Các đa giác có thể được thay đổi màu sắc, kết cấu và ánh sáng có thể được thêm vào để chúng xuất hiện dưới dạng bề mặt rắn. Hình 17 - Đường ống lục giác đã được đánh bóng Một vài gói phần mềm 3D lại thường sử dụng những bề mặt phẳng hơn là những các hình đa giác. Trong khi các bề mặt của mô hình sử dụng hình đa giác được xác định bởi sự liên kết giữa các thành phần, các bề mặt sử dụng những mặt phẳng được xác định bởi các công thức toán học miêu tả những đường cong của bề mặt đó. Mỗi phương pháp có những ưu nhược điểm riêng và nhà làm phim phải xác định cái nào phù hợp nhất với nhu cầu của mình. Trong rất nhiều trường hợp đơn giản, mô hình hóa bằng các đa giác giống như là việc xây dựng một tòa nhà, nhiều thành phần với hình dạng khác nhau được liên kết với nhau. Mô hình hóa bằng đa giác được dùng trong các ứng dụng kiến trúc và xây dựng vì chúng dựa vào sự chính xác từ điểm tới điểm qua các bề mặt. Mô hình hóa bằng các bề mặt cũng giống như mô hình hóa một máy bay từ đất sét và thường phổ biến hơn với các họa sĩ khi họ luôn thiết kế những hình dạng tự do về kết cấu. Nhưng dù sao cũng cần phải chú ý rằng dù với bất kỳ phương pháp nào thì đều có thể tạo ra những hình dạng mà ta tưởng tượng. Nếu không chú ý đến phương pháp mô hình hóa được sử dụng, khi một đối tượng 3D ở trong chế độ đánh bóng, nó sẽ xuất hiện dưới dạng hình dạng rắn và có thể được đặt đằng trước hoặc đằng sau một đối tượng rắn khác trong một cảnh 3D. Các đặc điểm khác trong một chương trình phục vụ cho mô hình hóa cho phép các nhà làm phim uốn cong, cuộn lại, kéo ra, nén vào và biến đổi các hình dạng theo nhiều cách khác nhau. Những kỹ năng này được phát triển theo thời gian, tích lũy và kết hợp lại để phù hợp với từng phong cách làm việc của các Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 22
  24. Báo cáo thực tập tốt nghiệp nhà làm phim và nâng cao khả năng cũng như có thể thể hiện hết những sáng tạo của các nhà làm phim. Bộ biên tập chất liệu Một công cụ rất quan trọng khác được cung cấp trong các gói phần mềm về 3D là bộ biên tập chất liệu. Chất liệu đề cập đến ở đây là màu sắc, kết cấu (texture) và các thuộc tính khác dùng để xác định các đặc tính của bề mặt đối tượng 3D. Có hai phương pháp thường dùng nhất để mô tả màu sắc là hệ RGB (Red, Green, Blue) và hệ HSL (Hue, Saturation,Luminance). Với hệ RGB, nhà làm phim có thể lựa chọn màu sắc thông qua tỷ lệ của màu đỏ, xanh lá cây và xanh sẫm. Ví dụ, 100% màu đỏ, 85% màu xanh lá cây và 0% màu xanh sẫm sẽ tạo nên màu vàng tươi. Hệ HSL phổ biến hơn với những người làm nghệ thuật bởi vì nó hoạt động giống như một bảng màu vẽ. HSL cũng được xem như gồm hệ HSB (Brightness) hay hệ HSV (Value) trong rất nhiều phần mềm. Luminance, Brightness và Value ở đây đều có nghĩa giống nhau là độ chói. Với hệ HSL, nhà làm phim lựa chọn màu sắc và điều chỉnh mức độ bão hòa và mức độ chói để nhận được màu sắc mong muốn. Ví dụ, nếu nhà làm phim lựa chọn màu xanh sẫm thuần túy và điều chỉnh độ bão hòa là 50% và độ chói là 100% thì kết quả sẽ ra màu xanh sẫm sáng. Và bước tiếp theo trong quá trình tạo chất liệu là tạo kết cấu. Các kết cấu được sử dụng cho nhiều chức năng khác nhau, nhưng với nghĩa cơ bản nhất thì một kết cấu là một ảnh. Nó có thể là ảnh chụp, ảnh vẽ, một hình được tạo bởi máy tính hoặc sự kết hợp của ba dạng trên. Một chương trình vẽ bằng máy tính có thể được dùng để vẽ các kết cấu hoặc dùng để thay đổi các bức ảnh được scan hoặc được chụp. Một kết cấu có thể được áp vào bề mặt của một đối tượng 3D cũng giống như giấy dán tường hoặc gạch lát sàn nhà. Các kết cấu cũng có thể được phủ lên xung quanh đối tượng giống như ga trải giường hoặc ván gỗ trên cây gậy đánh bóng chày. Các kết cấu có thể ở 3 dạng khác nhau: màu sắc (color), vô hướng (scalar) và va chạm (bump) Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 23
  25. Báo cáo thực tập tốt nghiệp Hình 18 - Màu sắc trên một khối cầu khi không có kết cấu áp lên Một kết cấu màu sắc quyết định đến màu sắc của bề mặt mà nó được áp vào. Một khi có được một bức ảnh nào đó, chúng ta có thể áp nó vào một bề mặt. Quá trình này gọi là ánh xạ kết cấu bởi vì phần mềm sẽ lưu trữ những tọa độ ánh xạ đặc biệt miêu tả hướng của kết cấu khi nó được áp vào bề mặt. Hình 19 - Kết cấu màu sắc trên khối cầu Một kết cấu va chạm là một bức ảnh giống như kết cấu màu sắc ngoại trừ việc nó dùng những cái bóng đổ màu xám để biến đổi độ thô ráp có thể nhìn thấy được của một bề mặt. Mức độ thô ráp có thể nhìn thấy được – hay còn gọi là mức độ va chạm – có thể thay đổi được. Việc có thể nhìn thấy được là một vấn đề hết sức quan trọng bởi vì kết cấu va chạm không thực sự tạo ra một bề mặt mấp mô. Ngay khi máy tính tính toán một bức ảnh hoạt hình khi kết thúc, phần mềm sẽ phân tích kết cấu va chạm khi được ánh xạ lên bề mặt. Phần mềm sẽ thêm những điểm sáng và những bóng đổ lên bề mặt tương ứng với ánh sáng và các vùng tối của kết cấu va chạm. Cách thức phần mềm định vị trí các điểm sáng và các bóng đổ phụ thuộc vào hướng và cường độ của nguồn sáng khi chiếu lên bề mặt. Hình 20 - Kết cấu màu sắc và kết cấu va chạm trên khối cầu Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 24
  26. Báo cáo thực tập tốt nghiệp Một vài hệ thống còn thêm một loại kết cấu nữa gọi là kết cấu dịch chuyển. Một kết cấu dịch chuyển tương đương với kết cấu va chạm ỏ chỗ nó sử dụng sự thay đổi từ màu đen sang màu trắng để tạo ra sự gồ ghề của bề mặt. Tuy nhiên, một kết cấu dịch chuyển thực sự làm biến đổi bề mặt của đối tượng trong khi kết cấu va chạm chỉ xuất hiện khi máy tính render ra những bức ảnh cuối cùng. Một kết cấu vô hướng làm việc với những bóng đổ màu xám giống như kết cấu va chạm hay kết cấu dịch chuyển, nhưng sự giống nhau chỉ dừng lại ở đó. Kết cấu vô hướng sử dụng những bóng đổ màu xám để xác định độ trong suốt của bề mặt mà nó áp vào. Bề mặt sẽ mờ đi dưới những vùng của kết cấu có màu trắng và sẽ trở nên trong suốt dưới những vùng của kết cấu có màu đen. Những vùng thay đổi sắc xám từ màu đen sang màu trắng sẽ làm biến đổi độ trong suốt của bề mặt. Rất nhiều hiệu ứng được tạo ra khi sử dụng các kết cấu vô hướng. Nó là một công cụ cho các nhà làm phim khi tạo ra những hình dạng 3D mà không bao giờ hiển thị trực tiếp một cách đầy đủ trong phim bởi vì bề mặt của chúng được hiệu chỉnh bởi các biến về độ trong suốt. Bằng cách kết hợp giữa màu sắc, các kết cấu màu sắc, các kết cấu vô hướng và các kết cấu va cham trong bộ biên tập chất liệu, mỗi thứ có thể làm cho bề mặt 3D trở nên sống động hơn. Hình 21 - Kết cấu màu sắc, kết cấu va chạm và kết cấu vô hướng trên khối cầu Một bước quan trọng trong việc tạo ra một chất liệu giống trong thực tế là việc định nghĩa cách thức vật liệu đó phản ứng lại với ánh sáng. Ví dụ, một vài chất liệu ít có thay đổi so với ánh sáng trong khi một số chất liệu khác lại rất nhạy với ánh sáng. Một chất liệu mô phỏng các thuộc tính của thủy tinh có thể là trong suốt, mặc dù ánh sáng và sự phản xạ có thể làm cho nó xuất hiện dưới dạng mờ mờ ở một vài góc nhìn nào đó. Các phần mềm đã sử dụng một vài phương pháp để mô phỏng các thuộc tính riêng liên quan đến ánh sáng. Những phương pháp này được gọi là các mô hình chiếu sáng. Một mô hình chiếu sáng – illumination model – được lựa chọn cho một vật liệu nào đó cũng quan trọng như là màu sắc của vật liệu đó và kết cấu của nó. Một mô hình chiếu sáng đơn giản nhất có thể xem vật liệu là không thay đổi, màu sắc đồng nhất và không phản ứng với bất kỳ nguồn sáng nào. Một đối Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 25
  27. Báo cáo thực tập tốt nghiệp tượng 3D được che phủ với vật liệu này sẽ tỏa sáng trong bóng tối và không có một độ sâu có thể nhìn thấy được bởi vì ánh sáng không thể tác động đến nó. Sẽ không có bóng đổ hay các điểm sáng chói từ bất kỳ một hướng nào từ các góc cho đến các cạnh. Người quan sát sẽ chỉ nhìn thấy một vùng màu sắc trong những đường biên bao ngoài của đối tượng. Hình 22 - Mô hình chiếu sáng phẳng trên một khối cầu Một mô hình chiếu sáng phức tạp có thể yêu cầu ba thành phần riêng rẽ cho màu sắc là sự tán xạ, sự khuếch tán và sự phản chiếu. Thành phần tán xạ của một màu nào đó có thể thấy được trên các vùng của một bề mặt 3D sẽ không được trực tiếp lộ ra dưới ánh sáng. Thành phần khuếch tán sẽ được hiển thị trên những vùng được chiếu sáng trực tiếp. Thành phần phản chiếu sẽ thêm một điểm sáng phụ thuộc vào độ bóng được xác định bởi vật liệu. Các thành phần màu sắc riêng biệt của mô hình chiếu sáng này làm cho cường độ màu sắc thay đổi trên bề mặt của một đối tượng 3D giống như khi ánh sáng chiếu vào. Mặc dù các hệ thống phần mềm khác nhau sẽ sử dụng các mô hình chiếu sáng khác nhau, chúng đều đưa ra các mức lựa chọn khác nhau về độ phức tạp. Người làm phim hoạt hình có thể điều khiển các thành phần màu sắc, độ trong suốt, độ bóng, độ phản xạ, độ khúc xạ và mật độ quang học để mô phỏng các thuộc tính của bất kỳ vật liệu nào có thể hình dung được. Bộ biên tập chất liệu là một thành phần chính của quy trình sản xuất 3D là một điều không thể bàn cãi. Một chất liệu không chỉ đơn giản là một màu sắc áp lên bề mặt của một đối tượng 3D. Một chất liệu định nghĩa bản chất của chính bề mặt đó. Bộ tạo cảnh Bước tiếp theo của quy trình sản xuất 3D là quá trình tạo ra thế giới 3D thông qua việc đặt ánh sáng, camera và các đối tượng. Vì thế, quá trình này thường được gọi là quá trình tạo cảnh thông qua một bộ phận tạo cảnh. Bộ phận này là một thành phần chính khác trong các gói phần mềm về 3D và là một công cụ được sử dụng để thiết lập chuyển động cho các đối tượng. Công cụ này trông khá giống với bộ mô hình hóa – một khung nhìn được bao quanh Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 26
  28. Báo cáo thực tập tốt nghiệp bởi các nút của menu và thanh trượt để thực hiện rất nhiều các thao tác khác nhau. Thông thường, một phần lớn công việc đã được hoàn thành trước khi quá trình này được tiến hành. Ví dụ, một đoạn phim hoạt hình đơn giản về một chiếc xe ô tô lái trên một con đường ngoại ô có thể bao gồm nhiều thành phần. Một đường cao tốc cũng có rất nhiều thành phần và mỗi thành phần lại có những chất liệu riêng của nó. Mặt đất có thể chứa những bãi cỏ, đất và sỏi. Ngoài ra còn có những bốt điện thoại, thanh chắn đường, Và đây chỉ là những đối tượng ở xung quanh con đường. Ở xa hơn, còn có những ngọn đồi, những cái cây, những ngọn núi xa xa và một phần bầu trời. Chiếc xe ô tô sẽ có màu sơn sáng, cửa sổ kính, thanh chắn bằng crôm và rất nhiều đặc điểm khác. Mỗi thành phần trong cảnh được tạo ra một cách riêng biệt bằng bộ mô hình hóa và mỗi thành phần có những đặc tính riêng của nó. Hình 23 - Cars (2006) Nếu một đối tượng chuyển động có nhiều phần chuyển động độc lập với nhau, những thành phần này cần phải tách biệt và được xử lý như là những đối tượng độc lập. Chiếc xe ô tô là một ví dụ cho điều này. Toàn bộ chiếc xe sẽ tăng tốc, giảm tốc và thay đổi hướng. Thân của chiếc xe sẽ lắc lư. Bánh xe và lốp xe sẽ xoay tròn với nhiều tốc độ khác nhau tùy thuộc vào chuyển động của chiếc xe nhưng chúng không lắc lư theo thân xe. Bánh xe trước rẽ phải hoặc trái nhưng bánh sau thì không. Bộ tạo cảnh quản lý các vấn đề từ gốc. Cách quản lý này là một cách thức để xây dựng một hệ thống phân cấp các đối tượng chuyển động độc lập trong khi vẫn giữ nguyên mối quan hệ với các đối tượng khác. Camera chính trong cảnh chính là góc nhìn của khung nhìn chính. Camera có thể dịch chuyển và điều chỉnh góc nhìn vào cảnh từ bất kỳ một góc độ nào. Tiêu cự và thấu kính của nó có thể được thay đổi một cách dễ dàng như một nhà nhiếp ảnh thay đổi thấu kính của camera thật. Những camera khác có những thiết lập khác nhau có thể được thêm vào cảnh để tạo ra những góc nhìn khác nhau cho phép nhà làm phim có thể chuyển đổi nhanh giữa các góc nhìn và tạo ra nhiều đoạn phim khác nhau chỉ từ một cảnh. Camera là một đối tượng trong cảnh có thể được dịch chuyển và quay một cách tự do. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 27
  29. Báo cáo thực tập tốt nghiệp Phần lớn các gói phần mềm 3D đưa ra rất nhiều kiểu ánh sáng được định nghĩa trước. Những loại nguồn sáng hay dùng nhất là nguồn sáng vô hạn – infinite, vô hướng – omnidirectional và nguồn sáng rọi – spotlight. Mỗi kiểu nguồn sáng này có thể điều chỉnh theo nhiều cách khác nhau. Một nguồn sáng vô hạn có hướng cụ thể và gần như chiếu sáng mọi thứ ở phía trước nó cho dù khoảng cách từ nó tới vật thể là bao nhiêu. Một nguồn sáng vô hạn là một nguồn sáng phẳng và không đổi. Nhà làm phim có thể điều khiển màu sắc của ánh sáng, cường độ, vị trí và hướng của ánh sáng trong cảnh. Nguồn sáng này thường được sử dụng để mô phỏng ánh sáng mặt trời. Hình 24 - Cảnh khi được chiếu sáng bằng nguồn sáng vô hạn Một nguồn sáng vô hướng giống như một bóng đèn. Nó tỏa ánh sáng ra tất cả mọi hướng. Nhà làm phim có thể điều chỉnh khoảng cách ánh sáng tỏa ra từ nguồn sáng cũng như màu sắc và vị trí của nó. Khoảng cách ánh sáng tỏa ra xác định khoảng cách mà ánh sáng giảm dần cường độ về 0 khi nó ra xa nguồn. Hình 25 - Cảnh khi được chiếu sáng bằng nguồn sáng vô hướng Một nguồn sáng rọi cũng giống như một đèn flash. Nó có hướng và tỏa ra mọt cột ánh sáng. Bằng cách thêm vào màu sắc, vị trí và hướng, nhà làm phim có thể xác định góc tán xạ, khoảng cách ánh sáng tỏa ra. Hình 26 - Cảnh khi được chiếu sáng bằng nguồn sáng rọi Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 28
  30. Báo cáo thực tập tốt nghiệp Các gói phần mềm 3D khác nhau thường đưa ra những khuynh hướng sử dụng khác nhau về những nguồn sáng cơ bản này cũng như các loại nguồn sáng khác đã được bổ sung vào hệ thống 3D của họ. Một vài nguồn sáng có thể làm cho các đối tượng có những loại bóng đổ khác nhau. Một số nguồn sáng khác đưa ra các ánh xạ kết cấu vô hướng được sử dụng như là các bộ lọc ánh sáng để biến đổi cường độ của ánh sáng trên một bề mặt 3D. Trong các bộ phim cũng như trong các sản phẩm video, sự xuất hiện cuối cùng của các cảnh phim rất phụ thuộc vào cách thức nhà làm phim tạo ánh sáng cho cảnh. Và những cách thức chiếu sáng này lại phụ thuộc vào những thuộc tính của rất nhiều chất liệu được áp lên bề mặt của các đối tượng trong cảnh. Bất kỳ một thành phần nào của cảnh cũng đều có thể được biến đổi hình dạng để tạo nên sự đa dạng. Trong bộ mô hình hóa, các đối tượng có thể được bẻ cong, nén lại, cuộn lại và các thao tác khác để tạo nên các hình dạng phức tạp nhưng các kết quả sẽ được gán vào những đặc tính của đối tượng. Trong một chương trình dùng để tạo cảnh, các thao tác giống nhau có thể được thực hiện khi tạo hình một đối tượng nhưng chúng chỉ được lưu lại khi một trong các thao tác đó được chọn. Việc điều khiển cách thức chuyển động trong một chương trình tạo cảnh là rất quan trọng. Thậm chí là khi các đối tượng không tồn tại trong thực tế, nếu chuyển động của chúng không giống thật, mọi người có thể phát hiện ra dễ dàng. Nhà làm phim xác định các chuyển động và các giá trị khác thông qua các đường cong và các frame chính. Các đường cong chuyển động được thể hiện thông qua một đồ thị. Trục ngang của đồ thị thể hiện thời gian để chuyển động được thực hiện. Trục đứng của đồ thị thể hiện giá trị về vị trí của chuyển động đó. Một đối tượng chuyển động theo ba chiều, quay theo ba trục và sẽ yêu cầu không ít hơn 6 đường cong để miêu tả những chuyển động này. Nếu đối tượng bị vặn xoắn, uốn cong hay các phép biến đổi khác, cần phải bổ sung thêm các đường cong khác. Khi chú ý đến việc xử lý chất liệu, màu sắc, sự phản xạ, độ trong suốt và sự chiếu sáng sẽ tiết kiệm được thời gian thực hiện cũng như tạo được những hiệu ứng như ý muốn. Các loại kết cấu màu sắc, va chạm và vô hướng có thể được áp vào các bề mặt tạo các bề mặt mong muốn. Phần lớn các thuộc tính của ánh sáng có thể được xử lý qua các tham số về màu sắc, cường độ và khoảng cách cường độ giảm dần để tạo ra những hiệu ứng ánh sáng nhấp nháy, sáng chói hoặc lung linh. Tất cả những hiệu ứng này, và rất nhiều các hiệu ứng hoạt hình khác sẽ được thực hiện với sự tham gia của các đường cong và các frame chính thông qua chương trình tạo cảnh. Bộ render Một khi dự án đã được xử lý qua chương trình tạo cảnh, công việc của nhà làm phim gần như hoàn thành và bộ phim sẵn sàng được render. Quá trình Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 29
  31. Báo cáo thực tập tốt nghiệp render là một quá trình tự động thông qua các câu lệnh của phần mềm làm phim để tính toán mỗi bức ảnh liên tiếp trong phim. Kết quả cuối cùng là một dãy liên tiếp các bức ảnh được lưu trữ trong máy tính. Dãy các ảnh này có thể được chuyển đổi sang dạng mong muốn. Giả sử rằng bộ render sử dụng đưa ra được những kết quả tốt, thì mục đích lớn nhất lúc này là tốt độ xử lý. Thời gian là tiền bạc, đặc biệt trong lĩnh vực kinh doanh các sản phẩm 3D. Không phải tất cả các công việc liên quan đến hoạt hình đều yêu cầu khả năng render với số lượng nhiều và một số công việc có thể chỉ yêu cầu render một số cảnh nào đó trong vài phút. Mặt khác, các hình ảnh chuyển động giống như trong phim “Truy tìm Nemo” có thể phải yêu cầu hàng trăm máy tính có cấu hình mạnh để render trong vòng chỉ vài tuần hoặc vài tháng. Trên đây chỉ là một số kỹ thuật cơ bản nhất hiện nay trong việc sản xuất phim hoạt hình nói riêng cũng như tạo ra các sản phẩm 3D nói chung. Có thể thấy rằng hoạt hình 3D không phải dễ dàng thực hiện mà yêu cầu rất nhiều kỹ năng kết hợp với nhau cả về kỹ thuật lẫn nghệ thuật. Có thể so sánh làm phim hoạt hình 3D giống như việc lái xe. Cần phải biết hàng trăm thứ mới có thể điều khiển được nó. Nhưng dù có khó khăn đến đâu, kỹ thuật làm phim hoạt hình 3D đã khẳng định được vị trí của mình khi những bộ phim như “Shrek”, “Truy tìm Nemo”, “Happy feet” lần lượt ra đời. 3. Phương thức xây dựng những plug-in hỗ trợ cho Maya Maya là một phần mềm có khả năng mở rộng. Điều đó có nghĩa là các cá nhân hoặc các tổ chức khác có thể thay đổi các thành phần hiện có và thêm vào các đặc tính hoàn toàn mới. Maya đã cung cấp hai cách thức thay đổi. Cách thứ nhất là sử dụng ngôn ngữ kịch bản. Đây là một cách thức dễ dùng, dễ học và tạo ra được những tính năng mạnh mẽ. Phần lớn những thao tác cần thực hiện đều có thể được điều khiển thông qua ngôn ngữ kịch bản. Cách thứ hai là thông qua API (Application Programmer Interface). Sử dụng API cho phép cung cấp một hiệu năng lớn hơn mà ngôn ngữ kịch bản không thể cung cấp được (mã nguồn được viết sử dụng API sẽ thực hiện nhanh gấp 10 lần so với mã nguồn sử dụng ngôn ngữ kịch bản) và cung cấp khả năng cho phép thêm các đối tượng mới vào Maya. Maya API Maya API là những API viết bằng C++ cho phép truy nhập vào các thành phần bên trong của Maya. Nó đã được đóng gói tạo nên một tập hợp các thư viện tương ứng với những thành phần chức năng khác nhau của Maya. Các thư viện bao gồm: OpenMaya – Thư viện này chứa các lớp cơ bản để định nghĩa các node và các câu lệnh, đồng thời còn dùng để kết hợp chúng vào trong một plug-in. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 30
  32. Báo cáo thực tập tốt nghiệp OpenMayaUI – Thư viện này chứa các lớp cần thiết để tạo mới các thành phần giao diện người dùng như menu ngữ cảnh, các công cụ thao tác, các công cụ để định vị vị trí. OpenMayaAnim – Thư viện này chứa các lớp để giải quyết các vấn đề về tạo hình ảnh động, bao gồm cả việc làm biến dạng và đảo ngược chuyển động. OpenMayaFX – Thư viện này chứa các lớp để giải quyết vấn đề với các lực động học. OpenMayaRender – Thư viện này chứa các lớp để thực hiện các chức năng render. Đưa một plug-in vào Maya Trước khi bắt tay vào viết một plug-in cho Maya, bạn cần biết cách thức để load một plug-in vào Maya.Có hai cách để load và unload một plug-in. Cách đầu tiên và là cách dễ nhất là sử dụng Plug-in Manager có sẵn ở Windows -> General -> Editors -> Plug-in Manager (hoặc Windows -> Settings/Preferences -> Plug-in Manager trong Maya 8.0). Plug-in Manager sẽ sử dụng biến môi trường MAYA_PLUG_IN_PATH để định vị những plug-in có thể load. Trong UNIX, biến này là một danh sách các thư mục chứa các plug-in được phân cách bằng dấu hai chấm “:”. Trong Windows NT, MAYA_PLUG_IN_PATH nằm trong registry và những thư mục được ngăn cách bằng dấu chấm phẩy “;”. Biến này có thể được thay đổi bằng cách sử dụng MayaEnviroment.exe Cách thứ hai là thông qua câu lệnh loadPlugin của MEL như trong ví dụ sau loadPlugin “hello”; Câu lệnh này sẽ tìm kiếm trong danh sách của MAYA_PLUG_IN_PATH để tìm file tên là hello.so trong Unix và file tên là hello.mll trong nền NT. Nếu được tìm thấy, nó sẽ được load vào Maya như là một plug-in. Unload một plug-in trong MEL là một vấn đề đơn giản bằng cách sử dụng câu lệnh unloadPlugin kèm theo tên của plug-in đó.Lưu ý rằng một plug-in cần phải được unload trước khi nó được biên dịch lại. Trước khi bạn unload một plug-in, bạn cần phải xóa hết tất cả các tham chiếu từ các cảnh của Maya đến nó. Trong suốt quá trình xóa các node từ các cảnh được định nghĩa bởi plug-in cần xóa, cần phải cân bằng các tham chiếu từ các node bị xóa và các câu lệnh được thực hiện từ hàng đợi của lệnh undo. Nếu bạn vẫn thực hiện unload một plug-in trong khi nó đang được sử dụng, lúc đó bạn không thể load lại được các node đã sử dụng plug-in này. Nguyên nhân là do các node đang tồn tại trong cảnh sẽ được chuyển sang thành node có dạng “Unknown”. Và cả khi plug-in này được unload, bạn cũng không được phép thay đổi kiểu của các node đang tồn tại. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 31
  33. Báo cáo thực tập tốt nghiệp Xây dựng một plug-in Các bước sau đây áp dụng cho Microsoft Visual C++ 2005 để xây dựng plug-in cho Maya. Bước 1: Tạo một project Visual C++ 1. Chọn File -> New 2. Chọn tab Projects 3. Chọn tùy chọn Win32 Project 4. Điền tên plug-in của bạn vào phần Project Name 5. Điền tên thư mục và đường dẫn nơi bạn muốn project của bạn được tạo ra trong trường Location 6. Click OK Một hộp thoại xuất hiện. Chọn tùy chọn Application type là DLL Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 32
  34. Báo cáo thực tập tốt nghiệp Bước 2: Thêm các file vào project mà bạn vừa tạo ra 1. Chọn Project ->Add To Project ->Files 2. Sử dụng hộp thoại để định vị vị trí các file cho plug-in của bạn 3. Click OK Những file này đã được add vào project 4. Lặp lại với những file thêm vào trong những thư mục khác. 5. Nếu đây là một plug-in mới, bạn có thể sử dụng File New và lựa chọn kiểu file C++ để tạo ra một file C++ mới cho plug-in của bạn. Bước 3: Thêm một số thông số và thư mục chứa vào project 1. Chọn Project -> Plugin Property 2. Trong box lựa chọn, chọn All Configurations 3. Trong phần Configuration Properties chọn C/C++ 4. Trong các mục của C/C++ chọn Preprocessor 5. Thêm WIN32;NDEBUG;_WINDOWS;NT_PLUGIN vào list của Preprocessor Definitions 6. Trong mục General của C/C++, chọn Additional Include Directories 7. Thêm đường dẫn thư mục include của Maya vào phần này. Nếu plug-in của bạn được đặt trong thư mục C:\Program Files\Alias\Maya8.0\devkit\plug-ins, bạn có thể sử dụng cấu trúc \ \include Nếu không, bạn cần để cả đường dẫn đầy đủ C:\Program Files\Alias\Maya8.0\include 8. Trong phần CommandLine của C/C++, thêm vào Additional Options các tham số sau: /I "C:\Program Files\Alias\Maya8.0\include" 9. Click OK để lưu lại sự thay đổi Bước 4: Thêm các thư viện vào project 1. Chọn Project -> Plugin Property 2. Trong box lựa chọn, chọn All Configurations 3. Trong phần Configuration Properties chọn Linker 4. Trong mục Input, chọn Additional Dependencies và thêm opengl32.lib Foundation.lib OpenMaya.lib OpenMayaUI.lib OpenMayaAnim.lib OpenMayaFX.lib OpenMayaRender.lib 5. Trong mục General, chọn Output File và thay đổi từ .dll thành .mll 6. Trong mục CommandLine, chọn mục Additional Options và thêm vào /LIBPATH:" C:\Program Files\Alias\Maya8.0\lib" 7. Click OK để lưu lại thay đổi Bước 5: Chọn thư viện runtime thích hợp 1. Chọn Project -> Plugin Property 2. Trong box lựa chọn, chọn All Configurations 3. Trong phần Configuration Properties chọn C/C++ Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 33
  35. Báo cáo thực tập tốt nghiệp 4. Trong các mục của C/C++ chọn Code Generation 5. Trong mục Runtime Library, chọn Multi-threaded DLL (/MD) 6. Click OK để lưu lại thay đổi Ví dụ xây dựng một plug-in đơn giản Khi học một ngôn ngữ mới, chương trình đầu tiên bạn thường thấy là chương trình “Hello World”. Theo truyền thống ấy, plug-in đầu tiên là một plug-in “Hello World”. Plug-in này đơn giản chỉ là hiển thị dòng “Hello World” trên cửa sổ khi Maya được mở. Mã nguồn của chương trình #include DeclareSimpleCommand( helloWorld, "Alias|Wavefront", "2.0"); MStatus helloWorld::doIt( const MArgList& ) { printf("Hello World\n"); return MS::kSuccess; } Đoạn chương trình này được lưu trong file tên là helloWorld.cpp. Nó sẽ được biên dịch qua các bước như phần 7.3. Sau đó sẽ được load vào Maya như hướng dẫn ở phần 7.2. Gõ “helloWorld” vào trong cửa sổ lệnh, dùng phím Enter để thực hiện lệnh và trên của sổ output, bạn sẽ thấy “Hello World” được hiển thị. Chú ý rằng bạn cần phải unload plug-in một lần nữa trước khi biên dịch lại. Từ ví dụ trên có thể thấy một số đặc điểm quan trọng như sau: MSimple.h Đây là một file header đặc biệt được sử dụng cho những plug- in có lệnh đơn giản. Nó sẽ phụ trách những công việc cần thiết để đăng ký câu lệnh mới với Maya thông qua macro DeclareSimpleCommand. MStatus Đây là một lớp được sử dụng bởi API để chỉ rõ sự thành công hay thất bại của một phương thức. Phần lớn các phương thức trong các lớp API trả về mã trạng thái thông qua MStatus và những thông tin cho mỗi phương thức được thể hiện chi tiết qua các giá trị trạng thái được trả về. Để tránh sự đụng độ về không gian tên với các mã trạng thái khác, tất cả các giá trị MStatus được bắt đầu bằng MS, ví dụ như MS::kSuccess là một mã trạng thái thành công. Danh sách đầy đủ được chứa trong MStatus.h. API chỉ sử dụng một số ít các mã trạng thái. Tuy nhiên, nếu như lỗi logging được cho phép trong API thông Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 34
  36. Báo cáo thực tập tốt nghiệp qua MGlobal::startErrorLogging() thì những chi tiết vễ lỗi sẽ được xuất ra file error log khi một phương thức trả về một giá trị khác với MS::kSuccess. DeclareSimpleCommand Như lưu ý ở trên thì macro DeclareSimpleCommand() giúp bạn không phải viết những đoạn mã đăng ký để cho phép Maya nhận file của bạn như là một plug-in. Tuy nhiên để làm cho đơn giản, nó không cho phép bạn xác định một phương thức undo cho câu lệnh của bạn, vì thế bạn không thể tạo ra các câu lệnh có khả năng undo thực sự khi sử dụng macro này. Những câu lệnh không cung cấp chức năng undo sẽ không thay đổi được trạng thái của cảnh. Chúng có thể được sử dụng để truy vấn những thông tin về cảnh nhưng không thể thay đổi được các thông số đó. Nếu một câu lệnh không có khả năng undo được lại thay đổi được các thông số, khả năng undo của Maya sẽ bị phá vỡ. Macro DeclareSimpleCommand yêu cầu 3 tham số: tên của class sẽ được sử dụng để thực hiện lệnh, tên của nhà cung cấp (hoặc tác giả) của lệnh và version của lệnh. MArgList Lớp MArgList cung cấp các chức năng tương tự như các tham trị, tham biến vào của một chương trình C hay C++, cung cấp một danh sách các đối số cho hàm của bạn. Lớp này cung cấp các phương thức để nhận các tham số với các kiểu khác nhau, bao gồm cả integer, double, string, vector Một điểm khác biệt quan trọng giữa việc sử dụng tham biến/tham trị và một MArgList là phần tử đầu tiên của MArgList là tham số đầu tiên trong lệnh chứ không phải là tên của lệnh như trong một chương trình viết bằng C hay C++. Trên đây chỉ là một số đặc điểm cơ bản về cấu trúc khi viết một API cho Maya. Để viết được một plug-in hoàn chỉnh thì còn cần rất nhiều kiến thức cũng như kinh nghiệm khác nữa. Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 35
  37. Báo cáo thực tập tốt nghiệp Phần III – Tài liệu và các trang web tham khảo  Understanding 3D Animation Using Maya – John Edgar Park  Maya at a Glance – George Maestri  ml  aniamtion.273    Nguyễn Thị Thương Huyền – Lớp Công Nghệ Phần Mềm K47 36