1. Trang chủ
  2. » Cao đẳng - Đại học

Bài giảng Đồ họa máy tính: Bài 8 - Lê Tấn Hùng

7 11 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 643,35 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

VRML dïng nót Group ®Ó thùc hiÖn ®iÒu nµy „ Nót Group cã thÓ cã c¸c nót con.. Xem code Chaþ vÝ dô}[r]

Trang 1

(c) SE/FIT/HUT 2002

Ngôn ngữ mô hình hóa thực tại ảo

VRML

(c) SE/FIT/HUT 2002

VRML ? Lịch sử

„ VRML là một ngôn ngữ văn bản dùng để mô tả các môi trường tương tác

và các vật thể 3-D

„ Các file text VRML có đuôi là wrl

„ VRML 1.0 dựa trên ngôn ngữ mô tả Silicon Graphics 3D gọi là “Open Inventor” VRML 1.0 cho phép mô tả các cảnh tỉnh và không tương tác

„ VRML 2.0 là một ngôn ngữ mô tả dựa trên Silicon Graphics và được goi là “Moving Worlds”

„ VRML1 (1994) & VRML2 (1997) có mở rộng thêm các chủ đề liên quan

(c) SE/FIT/HUT 2002

Tính chất

„ Bạn có thể xem các file VRML nhờ trình duyệt VRML :

„ Một ứng dụng hỗ trợ VRML

„ Một ứng dụng VRML nhúng vào một trình duyệt HTML

„ Bạn có thể xem các file VRML từ đĩa cứng , hay qua mạng Internet

„ Toàn bộ trang Web

„ Nhúng vào trang Web

„ Toàn bộ khung của trang Web

„ Nhúng vào khung của trang Web

„ Nhúng vào các ứng dụng đa thời gian

„ Bạn có thể tạo các file VRML nhờ :

„ Một trình soạn thảo văn bản đơn giản

„ Một chương trình ứng dụng

„ Một trình dịch định dạng và mô hình hóa 3D

„ Một ngôn ngữ tạo vật thể (như ngôn ngữ kịch bản Perl )

(c) SE/FIT/HUT 2002

Cấu trúc file VRML

„ Trong file VRML gồm có :

„ Đầu đề của file

„ Comments – chú thích

của bạn

„ Nodes – nút chứa các

thông tin quan trọng của cảnh vật

„ Fields – các thuộch tính

của nút mà bạn có thể thay đổi

„ Values – các thuộc tính

giá trị

„ Và

#VRML V2.0 utf8

# example1.wrl - a yellow box Shape

{ geometry Box{ } # default box appearance Appearance # override appearance

{material Material # with a new material

{diffuseColor 1.0 1.0 0.0 # yellow

} } }

Comments-chú thích

„ Lời chú thích bắt đầu với ký tự #

„ Ký tự # trong nháy kép không phải bắt đầu chú thích.

„ Chú ý rằng dòng đầu của VRML 2.0 là :

#VRML 2.0 utf8

và là bắt buộc !

„ Từ khóa utf dùng để nói đến bộ ký tự quốc tế UTF-8 được

dùng trong file.

„ Lời chú thích và khoảng trắng có thể không được bảo toàn

bởi VRML document server.

Phần tử cơ bản của VRML: Nút

„ Một file VRML gồm có một danh sách các nút, mỗi nút chứa một phần thông tin mô tả toàn cảnh

„ Một nút có thể định nghĩa hình dạng vật thể, hay thuộc tính của của một

đối tượng , như màu màu sắc và hệ tọa độ của nó

„ Mỗi nút có một tên, theo sau là cặp dấu { } có thể không chứa trường nào hoặc nhiều trường

„ Một câu lệnh trường gồm có tên trường sau đó có thể có một hay nhiều giá trị.Các trường có thể được viết theo các trật tự khác nhau

„ Tên của nút bắt đầu bằng ký tự hoa, tên trường bắt đầu bằng ký tự

thường (case sensitive).

„ Ví dụ về nút

„ Shape, Box, Appearance, Material,lights, sounds,

Trang 2

(c) SE/FIT/HUT 2002

Cấu trúc phân lớp

„ Nút Shape chứa hai trường, geometry và appearance, mỗi trường lại

chứa các nút khác được coi như giá trị của chúng.

„ Shape

{ appearance NULL exposedField SFNode

geometry NULL exposedField SFNode

}

„ Đôi khi nút Shape có một trường Appearance nhưng không có trường

geometry (ví dụ như các vật thể không nhìn thấy!)

„ Trường geometry chứa nút Box và trường appearance coi nút

Appearance như là giá trị của có.

„ Nút Appearance lại chứa một nút khác là Material.

„ Câu trúc cây của nút mà nút lại được chứa trong nút khác gọi là scene

graph.

(c) SE/FIT/HUT 2002

Cấu trúc cảnh

„ VRML giúp bạn chia một lớp thành các khoanh có thể quản lý được

„ Mỗi nút riêng lẻ thì rất đơn giản, sự kết nối giữa các nút cho phép tạo ra các lớp phức tạp

„ Nút shape được tạo nên trung tâm của thế giới VRML

„ Một file VRML có thể chứa nhiều nút shape

„ Các nút shape có thể trùng lên nhau khi chúng được tạo nên ở cùng một

vị trí

„ Bạn nên xem và sử dụng một trong các trường geometries sau

zShape

geometry

material

zBox

zMaterial

diffuseColor

(c) SE/FIT/HUT 2002

Cơ bản về nút shape

„ Box {size 8 12 10 # x, y, z (=w, h, d)

}

„ Cone { bottomRadius 5 # so 10 units wide

}

„ Nút Shape là những viên gạch

tạo nên thế giới VRML Các nút

Shape gốc là các khối chuẩn :

• Box

• Cone

• Cylinder

• Sphere

• Text

„ Các trường của nút Geometry

điều khiển kích thước

„ Kích thước thường có đơn vị là m,

nhưng có thể bất cứ đơn vị gì

(c) SE/FIT/HUT 2002

Cơ bản về nút shape

„ Cylinder { radius 4 # chiều rộng là 8

bottom TRUE # “cup” có cạnh và đáy

top FALSE # nhưng không có đỉnh }

„ Sphere # đơn giản nhất trong các nút shape { radius 2 # nhưng cũng là phức tạp } Xem code Chạy ví dụ

Nút text

„ Tránh tạo ra các đặc tả kỹ thuật Web-based 3D/VR

„ Text rất hữu ích ở các hệ chuyên gia,ví dụ như trong khoa học về trực quan

„ Text

{ string “Hi!” # multi-field

length 0 # stretch to this width (0=natural width)

fontStyle FontStyle

{ family “SERIF” # or SANS or TYPEWRITER

style “PLAIN” # or BOLD ITALIC

}

} Xem code Chaỵ ví dụ

Cấu trúc ảnh bitmap

„ Sử dụng ảnh bitmap thay cho một mô hình 3D thật cụ thể có thể tiết kiệm

được nhiều thời gian xử lý

„ Tuy vậy việc sử dụng rộng rãi ảnh bitmap có thể có những bất lợi sau:

„ Cấu trúc của ảnh sẽ được gủi cho trình duyệt ,có thể phải qua một quá trình thông tin chậm

„Thiết kế một ảnh bitmap và đưa nó lên màn hình là công đoạn xử lý khá là kỹ lưỡng

Trang 3

(c) SE/FIT/HUT 2002

Cấu trúc trong VRML

„ Appearance

{ texture ImageTexture

{ url “skin.gif” # GIF, JPG or PNG

repeatSTRUE # repeat or stretch?

repeatT TRUE

}

„ Các Texture có thể là một URL đầy đủ hoặc chỉ là một URLtương đối đơn

giản như sử dụng ở trên

„ Có ba kiểu nút texture là : ImageTexture, MovieTexture and PixelTexture

(c) SE/FIT/HUT 2002

Hệ tọa độ

„ Một file VRML xây dựng nên các thành phần của thế giới VRML

„ Một file thành được xây dựng trong thế giới hệ toạ độ

„ Theo mặc định , tất cả các vật thể được xây dựng từ gốc của hệ toạ độ

„ VRML sử dụng hệ toạ độ thuận hệ toạ độ Đề Các

„ Đơn vị chuẩn đo chều dài và khoảng cách trong VRML là m

„ Góc là radian

„ Một vòng quay là 2π radian

„ 360 là 2π radian, khoảng 6.28 radian,

90 là π/2 radian, khoảng 1.57 radian

(c) SE/FIT/HUT 2002

Chuyển đổi một hệ toạ độ

„ Một nút transform tạo ra một hệ toạ

độ có:

„ Positioned :gốc

„ Rotated :góc quay

„ Scaled :tỷ lệ

„ Liên hệ với hệ toạ độ cha của nó

„ Các vật thể được xây dựng trong hệ

toạ độ mới được định vị ,quay và tỷ lệ

cùng với nó

„ Nhóm các nút Transform tạo ra

một nhóm với hê toạ độ của chính nó

rotation – hướng

scale – kích cỡ

translation – vị trí

children – các vật thậ tạo Transform {

translation rotation scale children [ ] }

(c) SE/FIT/HUT 2002

Trường children

„ Trường children bao gồm một danh sách một hay nhiều nút

„ Transform { children [ Shape { } Shape { } Transform { } ] }

Nút transform

„ Trường Translation định vị hệ toạ

độ bởi X,Y và Z

„ Transform { # X Y Z

translation 2.0 0.0 0.0 children

[ ]}

„ Trường Scale để co hay giản một

hệ toạ độ dựa vàu hệ số tỷ lệ ở

các trục X, Y, và Z

„ Transform { # X Y Z scale 0.5

0.5 0.5 children [ ] }

„ Trường Rotation định hướng hệ toạ độ

quay quoanh một cạnh bởi một góc quay

•Góc thường được đu bằng đơn

vị radian

• radian = độ/ 180.0 * 3.141 Transform { # X Y Z Angle rotation 0.0 0.0 1.0 0.52 children [ ] }

Nút transform

„ Co giãn , xoay và dịch một hệ toạ độ, cái này sau cái kia Transform {

translation 2.0 0.0 0.0 rotation 0.0 0.0 1.0 0.52 scale 0.5 0.5 0.5 children [ ]}

„ Các thao tác được thực hiện từ dưới lên bottom-up:

„ Trường children được co giãn ,xoay rồi sau đó mới dịch

„ Thứ tự giữa các trường được ấn định, độc lập với trật tự của các trường Xem code Chạy ví dụ

Trang 4

(c) SE/FIT/HUT 2002

nút Appearance

„ Các vật thể gốc có màu phát ra từ bề

ngoài là màu trắng

„ Bạn có thể điều khiển màu của một

vật thể:

•Màu bóng

•Màu phát ra

•Tính trong suốt

•Tính không chiếu sáng

•Cường độ ánh sáng bao

quanh

„ Một nút Appearance miêu tả toàn

bộ hình dạng của vật thể

Trường material gồm các

thuộc tính như color, transparency, etc

„ Shape { appearance Appearance { material }

geometry }

(c) SE/FIT/HUT 2002

nút Material

„ Một nút Material điều khiển các thuộc tính về chất liệu của vật thể

diffuseColor – màu bóng chính

emissiveColor – màu phát chính

transparency – Trong suốt hay không

„ Shape {

appearance Appearance { material Material { diffuseColor 0.8 0.8 0.8 emissiveColor 0.0 0.0 0.0 transparency 0.0 } }

geometry }

(c) SE/FIT/HUT 2002

Nút material

„ Nút Material cũng có thể điều khiển tính chiếu sáng của một vật thể

specularColor – điểm có màu nổi bật nhất

shininess – kích cở chỗ nổi bật nhất

ambientIntensity – hiêu ứng ánh sáng xung quanh

„ Shape {

appearance Appearance {

material Material {

specularColor 0.71 0.70 0.56

shininess 0.16

ambientIntensity 0.4 } }

geometry } Xem code Chạy ví dụ

(c) SE/FIT/HUT 2002

Bảng màu thường dùng

0.12 0.83 0.83 0.83 0.20 0.20 0.71

0.10 Plastic Blue

0.20 0.61 0.13 0.18 0.27 0.00 0.00

0.15 Metalic Red

0.20 0.64 0.00 0.98 0.10 0.03 0.22

0.17 Metalic Purple

0.16 0.71 0.70 0.56 0.22 0.15 0.00

0.40 Gold

0.08 0.75 0.33 0.00 0.30 0.11 0.00

0.26 Copper

0.10 0.70 0.70 0.80 0.30 0.30 0.50

0.30 Aluminum

shininess specular

Color diffuse

Color ambient

Intensity Mô tả

nút Group

„ Thông thường chúng ta cẩn nhóm các

đối tượng lại với nhau VRML dùng nút

Group để thực hiện điều này

„ Nút Group có thể có các nút con

„ Có thể chính các nút con là các nút

group

„ Có các kiểu nút group sau:

„ Bạn có thể nhóm các vật thể lại với nhau để tạo thành một vật thể phức tạp

„ VRML có nhiều nút group bao gồm Group { }

Switch { } Transform { } Billboard { } Anchor { } Inline { } Xem code Chaỵ ví dụ Billboard

Switch

Collision

Inline

Anchor

LOD Group

Transform

Kết nối tới một vị trí khác

„ Cũng như trong trang Web , siêu liên kết cũng sẵn có trong VRML

„ Có thể kết nối tới các kiểu dữ liệu hợp lệ , bao gồm các trang VRML khác, các trang HTML và các ứng dụng CGI

„ Vị trí (x, y, z) của con trỏ có thể được truyền tới URL, chỉ thực sự có ích với các ứng dụng CGI

Trang 5

(c) SE/FIT/HUT 2002

Các nút Group-Switch-Transform

„ Nút Group tạo ra các nút cơ bản

khác

„ Mỗi nút child trong group là được

hiển thị

„ Group { children [ ] }

„ Nút nhóm Switch tạo ra một nhóm có

thể chuyển cho nhau

„ Chỉ có một nút child group is

trong nhóm là được hiển thị

„ Bạn chọn nút child nào

•Nút con được đánh số tường

minh từ 0

A -1 không chọn nút con nào

Switch { whichChoice 0 choice [ ]

}

Xem code Chaỵ ví dụ

„ Nút Transform tạo ra một nhóm dựa

trên chính hệ toạ độ của nó

„ Mỗi nút child là được hiển thị

Transform { translation 0.0 0.0 0.0 rotation 0.0 1.0 0.0 0.0 scale 1.0 1.0 1.0 children [ ] }

„ Nút nhóm Billboard tạo ra một nhóm

với hệ toạđộ đặc biệt

Mỗi nút child được hiển thị

displayed

•Hệ toạ độ trở lại mặt xem

„ Billboard { axisOfRotation 0.0 1.0 0.0 children [ ] }

(c) SE/FIT/HUT 2002

Nút Anchor và Inline

„ Nút Anchor tạo ra một nhóm mà hoạt

động như kiểu có thể kích chuột được

„ Chỉ nút child là được hiển thị

„ Kích chuột vào nút child theo sau bởi một URL

„ Trường description đặt tên cho nút

anchor Anchor { url "stairwy.wrl"

description "Twisty Stairs"

children [ ] }

Nút Inline tạo ra một nhóm đặc biệt từ

nội dung của một file VRML khác

„ Nút con đọc từ file được chọn bởi URL

„ Mỗi nút child là được hiển thị

„ Inline { url "table.wrl" }

„ Inline { url "table.wrl" } Transform { translation -0.95 0.0 0.0 rotation 0.0 1.0 0.0 3.14 children [ Inline { url "chair.wrl" } ] } Xem code Chạy ví dụ

(c) SE/FIT/HUT 2002

Đặt tên

„ Nếu nhiều vật thể giống nhau về các

yếu tố hình học hay hình dạng , bạn

phải dùng nhiều nút giống hệt nhau

„ Thay vào đó , định nghĩa một tên

cho nút tìm thấy đầu tiên

„ Sau đó, sử dụng tên đấy để chia sẻ

cho nút tương tự ở trong ngữ cảnh

mới

„ Cú pháp DEF tạo ra tên cho một

nút

„ Shape { appearance Appearance { material

DEF RedColor Material { diffuseColor 1.0 0.0 0.0 } } geometry }

„ DEF bắt buộc phải ký tự hoa

„ Có thể đặt tên cho một nút nào đấy

„ Tên có thể là hầu hết các chuỗi ký

tự và số

„ Trong một file tên phải là duy nhất

(c) SE/FIT/HUT 2002

Từ khóa use

„ Từ khoá USE cho phép sử dụng

một nút đã được đặt tên trước

„ Shape { appearance Appearance { material

USE RedColor } geometry }

Xem code Chạy ví dụ

„ USE bắt buộc phải là chử hoa

„ Sử dụng lại nút đã được đặt tên gọi là một biến hay một thể hiện

„ Một nút đã được đặt tên có thể có một vài thể hiện

„Mỗi thể hiện chia sẻ cùng một miêu tả về nút đấy

„Chỉ có thể có thể hiên mà tên của nút đã được định nghĩa trong cùng một file

ưu điểm

„ Đặt tên và sử dụng nút:

„ Lưu những gì đã đánh vào

„ Giảm kích thước file

„ Cho phép thay đổi nhanh chóng các vật thể có cùng thuộc tính

„ Tăng tốc độ cho quá trình xử lý trên trình duyệt

„ Tên cũng cần thiết cho cảnh động

Giới thiệu hoạt cảnh

„ Các nút như Billboard và Anchor có các hành động xây dựng sẵn

„ Bạn có thể tạo ra hành động của riêng bạn như làm cho các vật thể có thể di chuyển,xoay, co giãn và hơn thế nữa

„ Chúng ta cần một phương thức để kích , thời gian hoá, và đáp ứng một chuỗi các sự kiện theo một trật tự để một sự tương tác tốt hơn giữa người dùng và thế giới bên ngoài

„ Hầu hết các nút đều có thể là thành phần trong một dòng hoạt cảnh

„ Nút hoạt động như các phần điện tử ảo

„ Nút có thể gửi và nhận các sự kiện

„ Các đường dây nối các nút lại với nhau

„ Một sự kiện là một thông báo được gửi giữa các nút

„ Một giá trị dữ liệu (giống như sự dịch chuyển)

„ Thời gian hoàn thành (Khi sự kiện được chứng nhận là đã được gửi)

Trang 6

(c) SE/FIT/HUT 2002

Thêm các sự kiện

„ Để quay một vật thể:

Nối một nút mà gửi sự kiện rotation với trường rotation của nút

Transform

„ Để làm một vật thể nhấp nháy:

Nối nút gửi sự kiện color vớii trường diffuseColor của nút

Material

(c) SE/FIT/HUT 2002

Cài đặt hoạt cảnh

„ Để cài đặt một dòng hoạt cảnh , bạn cần ba thứ :

„ Một nút gửi sự kiện

„ Nút phải được đặt tên với câu lệnh DEF

„ Một nút nhận sự kiện

„ Nút phải được đặt tên với câu lệnh DEF

„ Một đường dây kết nốichúng lại

„ Mỗi nút có các trường , thông tin vào và thông tin cần có:

„ field: Một giá trị dữ liệu được lưu trử

„ eventIn: đầu vào

„ eventOut: đầu ra

„ Một trường exposedField viết gọn cho một giá trị dữ liệu, đầu vào và đầu

ra

(c) SE/FIT/HUT 2002

Các ví dụ Vào- ra

„ Nút OrientationInterpolator

có sự kiện ra :

„ value_changed đưa ra giá trị

góc xoay

„ NútPositionInterpolator

sự kiện ra :

„ value_changed đưa ra vị trí

„ Nút TimeSensorcó sự kiện ra:

„ time đưa ra thời gian

„ NútTransformcó các sự kiện vào:

„ set_translation

„ set_rotation

„ set_scale

„ NútMaterialcó các sự kiện vàu:

„ set_diffuseColor

„ set_emissiveColor

„ set_transparency

(c) SE/FIT/HUT 2002

Từ khóa route

„ Câu lệnh ROUTE cho phép kết nối

hai nút lại với nhau :

„ Tên nút gửi và sự kiện ra

„ Tên nút nhận và sư kiện vàu

„ ROUTE MySender.rotation_changed

TO MyReceiver.set_rotation

„ ROUTE và TO bắt buộc phải là

ký tự hoa

„ Các quy ước về đặt tên

„ Hầu hết các nút đều có exposedFields

„ Nếu trường exposed tên là xxx, thì:

set_xxx là một sự kiện vào

được gán cho trường

xxx_changed là sự kiện ra

được gửi đi khi trường đó thay

đổi

Các tiếp ngữ set_ và _changed

là tuỳ chọn nhưng nên có để phân biệt

„ Nút Transform có:

Trường rotation

Sự kiện vào set_rotation

Sự kiện ra rotation_changed

Hoạt cảnh

„ Hoạt cảnh cho phép thay đổi qua thời gian:

• Vị trí – một ô tô đang đi

• Hướng - một máy bay đang lượn

• Màu sắc – đổi mùa

„ Hoạt cảnh bắt buộc điều khiển qua thời gian:

• Khi nào thì bắt đầu và dừng

• Mức độ nhanh chậm

điều khiển thời gian

„ Nút TimeSensor cho phép bạn điều khiển thời gian bắt đầu và kết thúc

„ Nút cảm ứng tạo sự kiện thời gian khi nó đang chạy

„ Để kích hoạt , dẫn các sự kiện thời gian tới các nút khác

„ Nút TimeSensor tạo ra hai sự kiện thời gian là absolute and fractional

„ Sự kiện thời gian Absolute tạo ra thời gian thực

• Thời gian tuyệt đối được đu bằng giây từ 12:00h mồng 1 tháng 1 năm 1970!

• Rất có ích cho việc triệu gọi một sự kiện ở thời gian cụ thể

Trang 7

(c) SE/FIT/HUT 2002

sử dụng thời gian phân đoạn

„ Sự kiện thời gian phân đoạn nhận các giá trị số từ 0.0 tới 1.0

„ Khi nút cảm ứng thời gian bắt đầu , đầu ra của nó là 0.0

„ Kết thúc một chu kỳ_ cycle, đầu ra của nó là 1.0

„ Số giây giữa 0.0 và 1.0 được xác định bởi xung tuần hoàn_ cycle

interval

„ Cảm biến thời gian có thể chạy mãi , hoặc chỉ chạy qua một vòng rồi

dừng

(c) SE/FIT/HUT 2002

Nút timesensor

„ Nút TimeSensor tạo ra các sự kiện

dựa vào thời gian

„ Thời gian bắt đầu_ startTime và thời gian kết thúc_ stopTime khi

chạy

„ Thời gian tuần

hoàn_cycleInterval thời gian cho

một chu kỳ là bao lâu

„ Lặp_loop – có lặp lại hay không

„ TimeSensor { cycleInterval 1.0 loop FALSE startTime 0.0 stopTime 0.0 }

„ Để tạo ra bộ thời gian chạy liên tục:

„ loop TRUE

„ stopTime <= startTime

„ Khi stop time <= start time,thì stop time bị bỏ qua

„ Chạy cho tới khi stop time:

„ loop TRUE

„ stopTime > startTime

„ Để chạy một vòng rồi sau đó dừng:

„ loop FALSE

„ stopTime <= startTime

„ Sự kiện vào dữ liệu set_startTime :

„ đặt khi bộ thời gian sắp bắt đầu

„ Sự kiện vàu dữ liệu set_stopTime :

„ đặt khi bộ thời gian kết thúc

(c) SE/FIT/HUT 2002

Trường ra dữ liệu

„ Trường ra dữ liệuisActive :

„ Ra dữ liệu là TRUE khi bộ thời gian bắt

đầu

„ Ra dữ liệu là FALSE khi bộ thời gian

kết thúc

„ Trường ra dữ liệutime :

„ Đưa ra thời gian tuyệt đối

„ Trường ra dữ liệufraction_changed :

„ Đưa ra các giá trị từ 0.0 tới 1.0 trong

suốt một chu ký

„ Đặt lại giá trị 0.0 lúc bắt đầu mỗi chu

kỳ

Xem code Chạy ví dụ

(c) SE/FIT/HUT 2002

Chuyển đổi thời gian ra toạ độ

„ Để kích hoạt vị trí của một vật thể VRML cung cấp:

•Một danh sách khoá về vị

trí key positions cho đường

di chuyển

•Thời gian bắt đầu ở mỗi vị trí

„ Nút interpolator có thể chuyển đổi

một đầu vàu thời gian thành một

đầu ra toạ độ

•Khi thời gian ở giữa hai khoá vị trí, nút interpolator

sẽ tính toán vị trí trung gian

„ Mỗi khoá vị trí cùng với đường dẫn có:

„Một khoá giá trị key value

(như là một vị trí)

„Một khoá thời gian phân đoạn

„ Phép nội suy sẽ điền vàu các giá trị vàu giữa các giá trị khoá:

„Fractional TimePosition

„0

„0.1

„

„1

Nút positioninterpolator

„ Nút PositionInterpolator miêu

tả vị trí của đường dẫn

key – khoá thời gian phân

đoạn

keyValue – khoá vị trí

„ PositionInterpolator { key [ 0.0,

] keyValue [ 0.0 0.0 0.0, ]

}

„ Thường để gửi vào sự kiện đầu

vào set_translation của nút

Transform

„ Sự kiện đầu vào set_fraction :

• Đặt thời gian phân đoạn hiện thời theo khoá đường dẫn

„ Sự kiện đầu ra value_changed :

• Đưa ra vị trí theo đường dẫn mỗi khi fraction được

đặt Xem code Chạy ví dụ

Sử dụng các nút interpolator khác

„ Kích hoạt vị trí PositionInterpolator

„ Kích hoạt hướng OrientationInterpolator

„ Kích hoạt co giãn Position Interpolator

„ Kích hoạt màu sắc ColorInterpolator

„ Kích hoạt tính trong suốt ScalarInterpolator

Ngày đăng: 09/03/2021, 04:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w