Khóa luận Tìm hiểu một số kĩ thuật xây dựng mô hình 3D và ứng dụng trong tạo lập Web

MỤC LỤC

 

Phần mở đầu 2

Chương 1: Tổng quan về Web 4

Chương 2: Các kĩ thuật dựng hình 3D 12

2.2. Các công tác dựng hình chính 13

2.3. Một số khái niệm 14

2.3.1. Tổng quan về các loại mô hình 14

2.3.2 Khái niệm về một số chi tiết trong mô hình 19

2.3.3 Khái niệm xây dựng từ phần mềm. 23

2.4. Kĩ thuật xây dựng 25

2.4.1 Vẽ đường cong 25

2.4.2 Tạo bề mặt (surface) 27

2.4.3 Các kĩ thuật tạo kết xuất 33

Chương 3: Sử dụng mô hình 3D vào trong tạo lập Web 43

3.1. Các vấn đề đặt ra khi sử dụng các mô hình 3D trong tạo lập Web 43

3.2. Giải pháp 43

3.3. Làm việc với VRML đẩy mô hình lên trang Web 45

3.3.1 Tiến trình công việc 45

3.3.2 Sử dụng ngôn ngữ VRML 47

3.3.3 Các node cần sử dụng cho hoạt hoá 48

3.3.4. Đẩy mô hình lên trang Web 54

Kết luận 60

Tài liệu tham khảo 62

 

 

 

doc62 trang | Chia sẻ: lethao | Lượt xem: 2906 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Khóa luận Tìm hiểu một số kĩ thuật xây dựng mô hình 3D và ứng dụng trong tạo lập Web, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
trơn tru chỉ từ một hình cơ sở ban đầu và không phải gắn nhiều surface lại với nhau như là đã làm với NURBS. Nó cho phép chỉ phải sử dụng các dạng hình học phức tạp ở những vùng đòi hỏi phải có sự phức tạp. Cho phép tồn tại các nếp gấp (các cạnh nhọn) và các hình dạng bất kì không chỉ các hình 4 mặt. Tính liên tục của subdivision còn hạn chế được một số các vấn đề hay xảy ra khi hoạt hoá với NURBS. Có thể liên kết các bề mặt subdivision với phần khung xương(skeleton) ở mức thô và các hiệu ứng có thể giúp chuyển tiếp lên mức tốt hơn. Hạn chế của Subdivision: Các subivision surface được căn chỉnh không cân xứng có thể cho kết quả không giống với mong đợi. Khi chuyển từ một NURBS surface sang một Subdivision surface có thể tạo ra các normal không chính xác tại các đầu mút. Độ phức tạp và dung lượng dữ liệu có thể sẽ phình to và khó kiểm soát. 2.3.1.4 Hình không hợp lệ Hình không hợp lệ là hình mà có các điểm không thuộc một cạnh nào và có các cạnh không thuộc một mặt nào. Một vài gói phần mềm không chấp nhận một hình không hợp lệ vì thế cần lưu ý để loại bỏ nó. 2-manifold là một khối hình mà khi ta trải nó trên mặt phẳng thì không có phần nào nằm chồng chéo lên nhau. Ngược lại với nó là non-manifold. Đó là những hình không thể nào trải các mặt của nó trên mặt phẳng được. Hình 2.5: Các kiểu non-manifold Hình chữ «T « : Đây là 2 mặt chia sẻ một cạnh chung. Đó là một khối hình đa kết nối. Hình thứ 2 là hai mặt cùng chia sẻ một điểm duy nhất nhưng không có cạnh chung. Hình thứ 3 là hai mặt nối tiếp nhau nhưng có vector trực giao ngược chiều nhau. Non-planar : Là các hình mà có các điểm trong đó không có 3 điểm nào nằm trên một mặt phẳng. 2.3.2 Khái niệm về một số chi tiết trong mô hình a. Các điểm (Points) Trong dựng hình, có nhiều thuật ngữ để nói về điểm. Mỗi một thuật ngữ lại được áp dụng trong các trường hợp khác nhau. - Control point (CP): Một điểm điều khiển hình dạng của một đối tượng. Ví dụ của CP là các điểm của NURBS (control vertices - CVs), các đỉnh của Polygon (polygonal vertices). Một đối tượng phải có các điểm điều khiển để biến đổi hình dạng. - Control vertex (CV): Trong dựng hình, một điểm mà điều khiển hình dạng của đường cong NURBS hay bề mặt thì gọi là control vertex. - Vertex: là một đỉnh. Nhiều Vertex thì người ta sử dụng từ vertices. Nó là: Một điểm trong không gian 3D. Trong dựng đa giác, nó là một góc giao của hai hoặc nhiều face của đa giác.. - Edit point (EP): Trong dựng hình, một điểm mà nằm trên đường cong mà là điểm nối của các đa thức biểu diễn đường cong thì được gọi là các Edit point . Thêm các EP đối với một đường cong không ảnh hưởng tới hình dạng của đường cong nhưng tạo ra thêm đoạn (segment) cho đường cong và thêm phần (span) cho bề mặt. EP còn được gọi là các knot. - Multi-knot và CV Multiplicity : Multi-knot là nhiều EP ở trong cùng một vị trí trong không gian. CV multiplicity là nhiều CV ở trong cùng một ví trí trong không gian. Multi-knot và CV muliplicity thường không được mong muốn. Vì lý do: thứ nhất là làm tăng dung lượng, thứ hai là không có tác dụng gì cho đường cong và thứ 3 là nhiều công cụ sẽ không làm việc chính xác khi có chúng. b. Các đường cong(Curves) Đường cong để biểu diễn cho một biểu thức toán học.Phương trình biểu diễn đường cong dễ tính toán và biểu diễn trên đồ thị nhất là có dạng: x = a+bt + ct2 + dt3+… y = g+ht + jt2 + kt3+… Dạng biểu diễn này tiện lợi và phù hợp với tính chất 3 chiều của mô hình. Các đường cong bậc càng cao thì càng phức tạp và càng đòi hỏi nhiều khối lượng tính toán. Vì thế để biểu diễn các đường này thì người ta đã nghĩ ra cách phân đoạn. Có nghĩa là đường cong phức tạp được phân ra thành từng đoạn. Mỗi đoạn lại là một đường cong nhưng có bậc nhỏ hơn. Điểm giao của các đoạn tạo ra đường cong đó người ta gọi là edit points, còn mỗi đoạn đó người ta gọi là segment hay là span. Tuy nhiên không phải lúc nào các đường cong bậc cao cũng phải giảm bớt bậc của nó đi. Những đường cong bậc tầm 5 đến 7 có lợi là cho đường cong có vẻ trơn tru hơn và có độ căng. Chúng thường được sử dụng trong thiết kế tự động (automotive design). Bậc của đường cong cũng xác định độ trơn của các điểm nối giữa các span: Đường bậc 1 (linear): các đường cong chỉ việc đặt ở các vị liên tiếp nhau. Đường bậc 2 (squadratic): các đường cong đặt tiếp xúc với nhau Đường bậc 3 (cubic): các độ cong liên tiếp với nhau. -Bậc(degree): Đây là khái niệm để chỉ một span thì có bao nhiêu CV. Đường bậc 1: là các EP đặt thẳng hàng Đường bậc 2: Có một phần cong giữa các EP. Các bề mặt thì có nhiều bậc theo chiều dài và chiều rộng. Có thể chiều rộng bậc 3 nhưng chiều dài lại bậc 4. -Parameter (tham số): Các tham số là các giá trị bằng số duy nhất của các điểm (giống như là toạ độ) nằm trên đường cong hay surface. Hình2.6: minh hoạ tham số của đường cong tại một điểm Tham số mà càng lớn thì điểm nằm càng cao trên đường cong Đối với đường cong, cần một tham số xác định dọc theo chiều dài đường cong, đó là tham số U. Đối với surface cần môt tham số nữa để xác định theo bề rộng của surface, đó là tham số V. -Normal: Nó là đường trực giao tại một điểm nằm trên bề mặt hay đường cong. Nó dùng để xác định xem một mặt đang xét là mặt trong (inside) hay mặt ngoài (outside) của bề mặt. Hình 2.7: Normal -Có thể chia đường cong thành 3 loại: khép kín, đóng, mở (periodic, closed, open). Khép kín: Có 2 phần đầu và cuối nằm gối lên nhau Đóng: Có 2 phần: đầu và cuối chung nhau tại một điểm Mở: Phần đầu và cuối không giao nhau. Đối với đường khép kín, khi dịch chuyển EP đầu thì EP cuối dịch theo. Một số đường cong cơ bản là theo kiểu này Đối với đường cong đóng, khi dịch chuyển EP thì tính đóng bị mất. Nên tạo ra đường cong khép kín hơn là đường cong đóng. -Các thành phần của một đường cong: CV: Số CV trên một đoạn sẽ bằng bậc của đường cong tạo đoạn đó cộng với 1. Ví dụ như một đường cong bậc 3 thì cần đến 4 CV trên nó. EP: CV và EP cho biết có bao nhiêu đoạn tạo ra đường cong đó. Hull: khi vẽ một số đường cong thì có đường nối giữa các CV để thể hiện vết của hình đường cong, đó là hull Hình 2.8: Các thành phần chính của một đường cong Biên tập một đường cong nên làm việc với các CV hơn là các EP vì các EP không làm thay đổi hình dạng của đường cong bằng các CV, dễ gây đổ vỡ hình khối và tăng dung lượng. c Các Surface Tạm dịch là bề mặt. Trong dựng hình, surface là một tập các đường cong liên kết với nhau. Trong tạo kết xuất, surface là một lớp bao phủ đối tượng để xác định xem đối tượng đó sẽ phản xạ ánh sáng như thế nào. Có thể bề mặt chỉ có một màu nào đó, hoặc có thể là một mẫu vật liệu, một vỏ xù xì, hoặc trơn nhẵn. Một số thành phần của surface: - Isoparm: viết tắt từ cụm từ isoparametric curve. Đó là một đường cong nằm trên surface hay ở một EP có giá trị U hoặc V là hằng số. - Đường cong trên bề mặt (curve-on-surface): Là một loại đường cong nằm trong một vùng tham số nào đó của đường cong. Curve-on-surface thường được sử dụng để cắt tỉa surface. Một đối tượng đồ hoạ là một tập các surface. Có hai kĩ thuật hiển thị của surface là dạng đổ bóng (shaded surface)và dạng khung (wireframe). - Shaded surface: Một kĩ thuật hiển thị cho phép một đối tượng hình học được trình bày ở dạng đổ bóng kín một bề mặt. - Wireframe: Một kĩ thuật hiển thị cho phép một đối tượng hình học được trình bày ở dạng là một tập các đường là khung của mô hình. 2.3.3 Khái niệm xây dựng từ phần mềm. a. Node Chương trình được trình được tạo từ các node. Để có được một khung cảnh, một hệ thống các node được sinh ra và tương tác với nhau. Các node này có các tập thuộc tính (attribute) tạo ra tính chất riêng của node. Tập thuộc tính của node này có thể làm đầu vào cho một node khác, tạo ra mối quan hệ giữa các node. Từ mối quan hệ này mà các đối tượng trong khung cảnh được xây dựng lên b. Các phương pháp đồ hoạ Đồ hoạ phụ thuộc – Dependency Graph: Tạm dịch là đồ hoạ phụ thuộc.Đồ hoạ phụ thuộc là một trong 2 cách thể hiện khung cảnh (cách còn lại là phân cấp khung cảnh -scene hierarchy ). [1] Dependency graph giống như một dãy các công việc xây dựng để làm thế nào có được khung cảnh bắt đầu từ một tập các công việc sơ đẳng chẳng hạn như: “ tạo một hình cầu A, di chuyển những CV, tạo đường cong B làm project curve ( đường cong định hướng ) trên A để tạo ra một curve-on-surface (đường cong nằm trên surface), cắt tỉa hình cầu A sử dụng đường cong trên surface C ” và cứ như thế. DG lấy tên của nó từ sự liên kết giữa các node. Node sau lấy output của node trước để làm input. Các node liên kết với nhau thông qua sự truyền giá trị của tập thuộc tính của từng node. Đồ thị mở có định hướng – Directed Acyclic Graph: Tạm dịch là đồ thị mở có định hướng. Trình bày theo DAG cho phép tăng sự trực quan khi làm việc phân cấp các thành phần của khung cảnh (scene hierachy) qua sự phân cấp các node (node cha – node con). Để tạo ra DAG, có thể tạo ra hai node quan trọng để làm việc với vị trí của các thành phần trong khung cảnh và hình dạng của sự vật là: Transform nodes – bảo đảm các thông tin dịch chuyển (vị trí, quay, căn chỉnh..). Ví dụ: Nếu dựng một bàn tay, dùng một transform node để quay bàn tay và ngón tay, hơn là quay từng phần một. Shape nodes – Chỉ liên quan tới hình dạng và không cung cấp thông tin biến đổi hay thông tin gốc. c. Các khung nhìn-view Cho phép hình dung khung cảnh, thể hiện sự vật trong thế giới 3D. Trong đó có hai khung nhìn chính là Perspective và Orthographic. Perspective là khung nhìn phối cảnh, nó thể hiện cảnh vật như là ta đang nhìn trực tiếp. Orthographic là khung nhìn trực giao với cảnh vật, nó tập trung thể hiện cảnh vật trên hai trục toạ độ nào đó. Hình 2.9: Các kiểu khung nhìn d.Hệ toạ độ Hệ toạ độ sử dụng là Oxyz. Các trục Ox, Oy, Oz lần lượt thường được gán theo màu RGB (Red, Green, Blue) để phân biệt các trục này. Hệ toạ độ thường được gắn vào bộ công cụ dịch chuyển của phần mềm để làm việc với các thuộc tính của transform-node. +Cần điều khiển của công cụ Move (Dịch chuyển) +Cần điều khiển của công cụ Rotate (Xoay) +Cần điều khiển của công cụ Scale (Tỉ lệ ) 2.4. Kĩ thuật xây dựng 2.4.1 Vẽ đường cong a. Sử dụng CV để tạo đường cong Có thể đặt các CV để tạo ra đường cong. Các CV không phải là các điểm nằm trên đường cong nhưng có vai trò chỉ ra hình dạng của đường cong . Lưu ý: số bậc của đường cong bằng số CV trừ 1. Ví dụ như một đường cong bậc 5 thì cần có 6 CV để tạo ra nó.Số. Bậc của đường cong càng cao thì độ trơn của đường cong càng tốt nhưng độ phức tạp càng tăng b. Sử dụng EP để tạo đường cong EP là điểm nằm trên đường cong. Tuy vẽ trực tiếp từ điểm nằm trên đường cong nhưng từ đó vẫn phải tính toán để tìm ra CV và hull. Khi biên tập đường cong, các tính toán vẫn dựa vào phần khung này. Mặt khác làm việc với CV tốt hơn và dễ dàng hơn rất nhiều so với làm việc trên EP. c. Vẽ cung tròn Có hai cách để vẽ một cung tròn: - Input (A,B) -> Output ( O, r) với A, B là hai điểm đầu cuối, r là bán kính - Input (A,M,P)-> Output(O,r): Xác định input là 3 điểm đầu, cuối và đỉnh của cung tròn, từ đó tính toán tâm, bán kính. Các đường cong được vẽ có thể lên tới 180 độ. Tuy nhiên không thể tạo ra được một đường tròn khi sử dụng công cụ tạo đường cong. Bởi vì hai điểm đầu cuối của đường tròn là cùng một vị trí. Trong khi đó, vẽ cung tròn không cho bất kì hai điểm nào có cùng toạ độ một cách chính xác. Để tạo ra đường tròn, các phần mềm đều có các tool hoặc action riêng. Hình 2.10: Hai cách vẽ cung tròn d. Tạo đường cong từ các đường các đường cong khác - Fit-Bspline: 1 node được tạo ra với input là một đường cong bậc 3 và output là đường cong bậc 1. Cách này hay sử dụng khi sử dụng lại các đường cong, surface hoặc là các dữ liệu được số hoá từ các sản phẩm khác mà có các đường cong bậc 1. Các thuộc tính cần phải chú ý: Sai số khi chuyển đổi. Thường sai số là 0.1 cm Đường cong input: là đường cong kiểu NURBS. Đường cong ouput: là đường cong kiểu NURBS. - Sao chép đường cong: Có thể tạo ra một đường cong từ một đường cong khác bằng cách sao chép (Duplicate). Có hai cách để sao chép: Một là bản sao và bản chính ở cùng một ví trí và hai là bản sao cách bản chính một khoảng nào đó. Cách thứ hai được gọi là Offset. Sao chép đường cong hay sử dụng để tạo các bề mặt có tính cân xứng, có các chi tiết lặp đi lặp lại. Ví dụ: tạo 3 đường cong song song với nhau cách nhau 1 khoảng. Sau đó sử dụng phép Loft để tạo một surface (hình 2.11) Hình 2.11: Offset sử dụng trong phép Loft 2.4.2 Tạo surface Các surface là thành phần quan trọng để tạo ra hình dạng của mô hình. Việc tạo ra các bề mặt đều đi từ nguyên tắc chung là từ các đường cong liên kết với nhau. Điều cần chú ý ở đây là bề mặt sau khi được tạo ra, nó thuộc loại gì : Polygon, NURBS hay là Subdivision.. 1. Tạo surface từ đường cong a. Tạo mặt phẳng từ một đường cong -Planar: Tạo ra một mặt phẳng từ một đường cong đóng hoặc là một đường cong khép kín hay một tập các đường cong khép kín. Hình 2.12: Planar - Revolve: Hành động này phát huy hiệu quả đối với các surface đòi hỏi có tính đối xứng qua một trục nào đó ví dụ như khi tạo một cái cốc. Hình 2.13a: Revolve theo trục x Hình2.13b: Revolve theo trục y và trục z - Bevel: Để mở rộng thành một bề mặt từ một đường cong ban đầu sao cho bề mặt đó có một cạnh xiên. Hay áp dụng trong tạo các surface có gờ mép như là chữ cái, ghế bọc đệm v..v Hình2.14: Tạo một chữ M bằng Bevel Có thể Bevel các đường cong là cạnh của một surface, isoparm hay là các đường cong 3D thông thường. b.Tạo bề mặt từ ít nhất hai đường định hướng - Loft: Loft là kĩ thuật hay được sử dụng vì khả năng của loft khá linh hoạt. Loft cũng làm việc với nhiều đường cong. Các đường cong này được gọi là profile curve hay là cross-section được hiểu là các đường xương sống để tạo ra bề mặt. Thông thường sử dụng cách này để làm việc với các đường cong song song với nhau cùng phương và chiều. Hình 2.15: Tạo bề mặt nhờ Loft -Extrude: Extrude như ý nghĩa của từ đó, tức là tạo surface bằng cách từ một đường cong cơ sở profile curve và một đường cong định hướng project curve tưởng tượng có một thao tác như kéo dãn profile curve theo hướng của project curve cho đến khi bằng với độ dài của project curve. Phép Extrude thường sử dụng để tạo ra các sự vật có dạng đường ống. Hình 2.16: Extrude một đường tròn theo đường cong 2. Sao chép surface - Cũng tương tự như đường cong, các bề mặt cũng có thể được sao chép với hai cách sao chép là Duplicate và Offset. Sử dụng phép hai phép này khi muốn tạo ra các surface giống y hệt surface ban đầu trong các phép dựng mô hình có nhiều chi tiết giống nhau hoặc lặp đi lặp lại. Ví dụ: Dựng các chân cột của một ngôi đền. - Sao chép bề mặt còn thể là một phép ánh xạ (mirror). Với phép ánh xạ. ta chỉ cần dựng một nửa đối tượng rồi ánh xạ bề mặt đó qua trục đối xứng của đối tượng để tạo ra một đối tượng hoàn chỉnh. Sử dụng cách này khi dựng các đối tượng có tính chất đối xứng qua trục đối xứng của đối tượng đó. (Hình 20 dưới đây) Hình2.17: Mirror trên nửa quả cầu 3. Sử dụng phép toán Boolean vào trong dựng hình Nhiều khi trong dựng mô hình, việc ghép nhiều mô hình lại với nhau rất hay xảy ra. Vì vậy ý tưởng sử dụng toán tử Boolean vào trong dựng hình đã được đặt ra. Ví dụ: Một hình lập phương cùng với một hình nón có thể sử dụng phép loại trừ ( difference ) để tạo ra một hình vuông với một cái hố hình phễu ở trong. Phép Union: hai đối tượng sẽ được nối liền với nhau như phép hợp Phép Sucstract: đối tượng thứ nhất sẽ bị bỏ đi một phần đúng bằng đối tượng thứ hai như phép trừ. Phép Intersect: đối tượng sẽ chỉ giữa lại phần mà xuất hiện trong cả hai đối tượg như phép giao. Hình2.18: Sử dụng toán tử Boolean vào trong dựng hình 4. Các phương thức làm trơn a. Làm trơn trên Polygon Đối với một bề mặt NURBS, vấn đề làm trơn sẽ được thực hiện tốt hơn nhưng với Polygon, cũng có một vài phương thức làm trơn để mô hình được thể hiện một cách tốt hơn. Một vài kiểu làm trơn trên Polygon : Smooth:chỉnh sửa các hình bằng cách làm trơn các điểm và các cạnh nối các điểm đó Smooth Proxy: cũng giống như Smooth nhưng vẫn giữ nguyên hình dạng của Polygon gốc và làm trơn bằng cách thêm vào các Polygon. Phương thức này sử dụng để dựng và hoạt hóa dễ dàng. Average Vertices. Tính trung bình các giá trị của các điểm để tạo ra một bề mặt được làm trơn mà không làm thay đổi hình dạng hình (smoother surface) Hình2.19: Các kiểu làm trơn cho Polygon b. Làm trơn trên NURBS NURBS tạo ra các bề mặt có độ trơn nhẵn cao hơn so với Polygon. Tuy nhiên, để hiệu quả hình ảnh được tốt hơn, vẫn cần phải hỗ trợ một số phương thức làm trơn. Thứ nhất, đối với đường cong, chính tại các EP là nơi mà độ trơn bị giảm. Có rất nhiều lý do để giải thích cho vấn đề này. Thứ nhất, do khi dựng đường cong NURBS, người ta đã phân nhỏ đường cong thành các đoạn -segment , các đoạn là các đường cong có bậc nhỏ hơn đường cong tạo thành. Do đó, tại các điểm nối, tính trơn liền giữa bậc các đường cong, độ cong của các đường cong, tính liên tiếp của các đường cong, các tham số truyền v.v.. đã ảnh hưởng tới độ liên tục của đường cong đó. Vì thế phải cần làm trơn đường cong – Smooth Curve. Hành động này sẽ tính toán lại để các đoạn của đường cong thống nhất về hướng, về độ cong v.v... Bề mặt NURBS cũng cần được làm trơn. Bề mặt NURBS được tạo thành từ các đường cong và các mảng ráp. Trong đó, các đường cong được chia thành các đoạn, và các mảng ráp được chia thành các phần (segment và span). Làm trơn trên bề mặt chính là làm việc với các span này. Số lượng span, số lượng đường cong trên một span sẽ quyết định đến chất lượng của bề mặt. Độ trơn sẽ càng tăng khi mật độ span, mật độ đường cong lớn. Nhưng dung lượng dữ liệu, độ phức tạp của bề mặt vì thế mà cũng tăng lên. Vì thế cần phải cân nhắc kĩ khi tiến hành làm trơn. 5. Biên tập Sau khi có được các bề mặt, phải tiến hành chỉnh sửa các bề mặt, liên kết, tách cắt, làm trơn v.v... Tất cả các hành động đó được gọi là biên tập bề mặt. Một số chú ý khi biên tập để đảm bảo chất lượng và dung lượng hình: Giảm số điểm điều khiển: các điểm mà sự có mặt của nó không ảnh hưởng tới hình dạng của mô hình, Multiknot và CV multiplicity cần phải loại bỏ vì nó làm tăng dung lượng mô hình không cần thiết. Xoá các face không nhìn thấy. Sử dụng sự hỗ trợ của phần mềm để làm giảm dung lượng. Ví dụ: Một số kĩ thuật làm giảm dung lượng của phần mềm Maya Giảm số segment, số span, số isoparm, số division nhỏ nhất có thể. Optimize: sẽ xoá đi các phần rỗng, không dùng đến, các hình bị sai để giảm dung lượng và giảm độ phức tạp của khung cảnh. Polygon > Reduce: làm giảm số lượng các Polygon, các UV và các vertex color. Edit Curves > Rebuild Curve: giảm độ phức tạp của đường cong Edit Surfaces > Rebuild Surface: giảm độ phức tạp của surface Hình dạng của mô hình quyết định rất nhiều bởi quá trình này. 2.4.3 Các kĩ thuật tạo kết xuất 1. Đổ bóng – Shading a. Giới thiệu về đổ bóng và texture các surface Đổ bóng – Shading Trước hết cần tìm hiểu một số khái niệm sau: Surface shading: là sự kết hợp giữa chất liệu của đôi tượng với texture áp lên đối tượng Surface texturing: một texture là một ảnh tạo ra hoạ tiết cho surface. Phép kết nối một texture với vật liệu của đối tượng gọi là phép map. Shading network: Đây là tập các node liên kết với nhau theo phương pháp DG, trong đó node trước được tạo ra, truyền giá trị, cho ouput là input của node sau. Ví dụ: các node texture phải lấy tập giá trị về màu sắc của node material nếu muốn sử dụng phép color map. Khi đổ bóng phải chú ý đến độ phản chiếu ánh sáng specular highlight. Có những đối tượng sẽ phản ứng với ánh sáng rất mạnh nhưng có những đối tượng lại không. Ví dụ một con cá voi thì sẽ phải bóng sáng hơn một chiếc là khô. Vì thế tuỳ vào từng đối tượng để chọn vật liệu sáng cho phù hợp. Như vậy độ sáng của đối tượng không phụ thuộc vào vị trí đặt điểm sáng mà phụ thuộc vào góc nhìn (camera) và độ bóng nhẵn của bề mặt. Hình2.20: Vật liệu sáng hay sử dụng Với các vật liệu sáng khác nhau lại sử dụng cho những trường hợp khác nhau. Như Blinn hay dùng cho các bề mặt sáng bóng trong hoạt hoạ trong khi đó Phong hay PhongE lại có thể gây ra hiện tượng nhấp nháy khi hoạt hoạ. Highlight: là một kiểu phản chiếu ánh sáng mà làm cho đối tượng trông vửa phẳng nhẵn lại vừa chói sáng. Hình dưới mô tả hiện tượng chói sáng, màu chói sáng và chói sáng có phản chiếu. Hình2.21 : Các hiện tượng highlight Các vật liệu - material Có thể một bề mặt được chiếu sáng trông như ở thế giới thực nhưng có rất nhiều sự khác biệt khi các surface và ánh sáng tương tác trên một phần mềm đồ hoạ. Để tạo ra một vật liệu phù hợp, các node sau tương tác với nhau: - Metarial node là một node quyết định surface của đối tượng sẽ biểu hiện như thế nào khi dựng hình xong. Các node này sẽ định nghĩa làm thế nào để surface tương tác với ánh sáng. Metarial node phải thể hiện ánh sáng thông qua các thông tin sau, các thông tin này cũng là các node riêng. - Surface metarial node:Thể hiện các kiểu của surface mà trên đó sẽ áp các texture. Các thuộc tính như là ánh sáng, độ mờ, độ phản chiếu, vẻ bóng láng v..v Ví dụ, nếu một texture yêu cầu một bề mặt sáng, như crome thì sử dụng Phong material hơn là Lambert. - Displacement material node:Để sử dụng một ảnh xác định quá trình chạm trổ trên các đối tượng trong khung cảnh. - Volumetric material node: Để mô tả các hạt khói như: hạt sương, hạt khói hay hạt hơi nước.. Các metarial node khác nhau về giá trị của tập thuôc tính có thể được liên kết với nhau để áp dụng nhiều vật liệu trên một đối tượng. Vật liệu như vậy được gọi là vật liệu phân tầng layered shader. Tuy nhiên quá trình xử lý với phân tầng vật liệu sẽ mất nhiêu thời gian hơn vì vậy thay vào phân tầng vật liệu thì nên phân tầng các texture hơn mà hiêu quả đạt được thì vẫn như thế. Texture này được gọi là layered texture. Các texture Texture là các ảnh để tạo ra hoạ tiết của bề mặt đổ bóng. Tất cả các hành động định nghĩa một bề mặt sẽ trông như thế nào sau khi render có thể được coi là tập các phương thức của node texture. Trong Shading networks thì texture node hay metarial node đều là đầu vào của Shading Group node. Thông thường các texture là các ảnh bitmap được import vào phần mềm đồ hoạ để chiếu (map) tới các thuộc tính của vật liệu. Texture map cho thuộc tính nào của vật liệu như màu sắc, độ trong suốt hay độ sáng sẽ gây ra các hiệu ứng tương ứng ảnh hưởng tới bề ngoài của đối tượng. Các texture có 2 dạng là 2D texture và 3D texture : 2D texture bao lấy đối tượng giống như là gói quà goặc là gắn vào mặt phẳng giống như wallpaper (Hình 25). 3D texture chiếu xuyên qua đối tượng giống như các vân trên đá hoa hay là trên gỗ. Với 3D texture, các đối tượng trông như được khắc lên chất liệu (Hình 26). Các texture môi trường-Environment texture hay được sử dụng để làm background của đối tượng hoặc là map phản xạ. Hình2.22: Texture 2D Hình2.23: Texture 3D Một số chú ý để sử texture hiệu quả : - Nói chung, hay sử dụng file texture thay vì material vì nó đơn giản hơn và chất lượng hình ảnh tốt hơn, tốn ít dung lượng hơn. - Các File texture nên bé nhất có thể để giảm thời gian render. Apple Mac OS X còn không hỗ trợ cho các texture lớn hơn 1K. - Với các bề mặt như tường, gỗ, đá hoa.... trên các đối tượng có các cạnh thẳng hàng nhau thì sử dụng các ảnh làm nhiều lần. Ảnh này sẽ được phân tách thành các phần nhỏ hơn để map. Các ảnh này tải sẽ nhanh hơn, dễ dùng hơn trong quá trình render. - Các ảnh bitmap nên để dạng hình vuông. - Các texture hay sử dụng là các file *.PSD. PSD hay sử dụng bởi các lợi ích của nó trong layer sets như sau : Có thể thêm, xoá hay sửa chữa bất kì một tầng nào trong khi file đó vẫn duy trì kết nối với phần mềm đồ hoạ Có thể dễ dàng tạo layered texture Map các texture Để sử dụng một texture, kết nối texture đó tới các thuộc tính của vật liệu của đối tượng. Đó gọi là hành vi map. Các thuộc tính mà texture kết nối tới sẽ xác định xem texture sẽ được sử dụng như thế nào và vì thế sẽ ảnh hưởng tới kết quả cuối cùng. Ví dụ khi map một texture hình bàn cờ với hai màu trắng đen thì phải kết nối texture với thuộc tính màu sắc và sau đó xẽ xác định xem phần nào là ô trắng phần nào là ô đen. Map sử dụng gọi là color map Hình2.24: Color map * Các phép map hay sử dụng: - color map: Kết nối texture với thuộc tính Color, mô tả màu đối tượng - transparency map: Kết nối texture với thuộc tính Transparency, mô tả đối tượng sẽ trong suốt ở chỗ nào, mờ đục ở chỗ nào. - specularity map: Kết nối texture với thuộc tính Specularity, mô tả ánh sáng chiếu trên đối tượng sẽ như thế nào. - reflection map: Kết nối texture với thuộc tính Reflection, mô tả một vật phản xạ với xung quanh như thế nào. - bump map và displacement map: Tạo ra các bề mặt lồi lõm trên bề mặt mà không cần phải dựng. Hiện tượng này gọi là Surface Relief Hình2.25: Surface Relief * Các phương pháp map - Map thường normal map: phép map áp texture vào surface theo toạ độ UV tuỳ thuộc vào các tham số UV của s

Các file đính kèm theo tài liệu này:

  • docTìm hiểu một số kĩ thuật xây dựng mô hình 3D và ứng dụng trong tạo lập Web.doc