Visuals

Level Of Detail Sphere

Instruction:
為了增加電腦的運作效率,增進3D互動的流暢度,此範例中運用了LOD(Level Of Detail)的技巧來達到減面的效果,且利用Camera在軌道中行走以便於觀察Sphere減面的時機與形態;於螢幕的左上方同時也顯示FPS(Frames Per Second),其中於減面後會造成FPS較高,反之減面前的FPS較少。

Building Blocks
(a) Set As Active Camera-Cameras/Montage/Set As Active Camera
(b) Key Waiter-Controllers/Keyboard/Key Waiter
(c) Timer-Logics/Loops/Timer
(d) Sequencer-Logics/Streaming/Sequencer
(e) Activate Script-Narratives/Script Management/Activate Script
(f) Deactivate Script-Narratives/Script Management/Deactivate Script
(g) Restore IC-Narratives/States/Restore IC
(h) Bezier Progression-Logics/Loops/Bezier Progression
(i) Position On Curve-3D Transformations/Curve/Position On Curve
(j) Group Iterator-Logics/Groups/Group Iterator
(k) Identity-Logics/Calculator/Identity
(l) Set Attribute-Logics/Attribute/Set Attribute
(m) LOD Manager Options-Optimizations/Level Of Detail/LOD Manager Options
(n) Statistics-Optimizations/System/Statistics
(o) Create String-Logics/Strings/Create String
(p) Create System Font-Interface/Fonts/Create System Font
(q) Set Font Properties-Interface/Fonts/Set Font Properties
(r) 2D Text-Interface/Text/2D Text

製作構想
可以利用Building Blocks-Set Attribute設定Sphere在LOD的Screen與Faces值,且利用Building Blocks-LOD Manager Options切換LOD 的狀態;在Camera的應用上,使其規律地在軌道New Curve上運行,以便於觀察Sphere在LOD 狀態下減面的時機與形態;文字顯示上,利用 Building Blocks-Statistics 取得FPS(Frames Per Second)且配合Building Blocks-Create String與2D Text 等將文字與狀態顯示於螢幕 的左上方。

製作步驟
(a) New Camera Script

Set As Active Camera:設定現在使用的Camera。
Key Waiter:鍵盤控制鍵設定為'Space'鍵。
Timer:設定延遲時間Duration-250 Ms。
Sequencer:每次訊息由In進入後,會依次由Out 0…Out n輸出。
Activate Script:設定Reset-True,表示Script會執行Reset動作;設定Behavioral Object-New Camera,以及所執行的Script-New Camera Movement Script。
Deactivate Script:中斷Script的執行;設定Behavioral Object-New Camera,以及所中斷的Script-New Camera Movement Script。
Restore IC:將所有設定回復至初始設定值IC(Initial Condition)。
 
(b) New Camera Movement Script

Bezier Progression:設定動作持續執行的時間Duration-20 Sec,調整New Camera的行進曲線Progression Curve;且由pOut輸出變數值value(介於0~1)作為Building Blocks-Position On Curve的變數Progression使用。
註:Progression Curve曲線斜率愈大表示行進速度愈快;反之斜率愈小表示行進速度愈慢;斜率變為負值表示物體向後倒退;斜率不變表示行進速率相等(如圖示)。

Position On Curve:設定Path-New Curve,且由pIn輸入變數Progression; Follow-True,表示物體的Direction方向會依循Curve的切線方向;Bank-True,指物體會依循坡度傾斜;Bank Amount-1,值1是一個標準值,值愈高表示傾斜的效果愈明顯;Direction-Z方向,表示物體會依循本身的Z方向前進;Hierarchy-True,表示其行為也會應用及Child。

(c) Sphere

Group Iterator:首先設定Group-Spheres,其Group內容為所有的Sphere,且由pOut輸出變數Element。
Identity:設定pIn0-LOD Activated,且由pOut輸出訊息。
Set Attribute:由pIn輸入變數Element至Target;設定Category-LOD(Level Of Detail),Attribute-LOD Object,其後會自動新增一項Attribute Value(如圖示),再設定Screen與Faces的Mag(LOD執行前的值)與Min(LOD執行後的值)值,新增後Group-Spheres的Attribute如圖示。
註:為了增加電腦的運作效率,增進3D互動的流暢度,可以使用LOD減面的技術。如圖示,在Mag的狀態下Screen值為30%、Faces值為100%,表示Sphere所佔的2D面積如果小於整個螢幕的30%,Sphere的面數即表現原始面數的100%;在Min的狀態下Screen值為20%、Faces值為10%,表示Sphere所佔的2D面積如果小於整個螢幕的20%,Sphere的面數即表現原始面數的10%;且減面的過程是屬於漸變的方式,以增進視覺上的舒適感。

註:Sphere減面的情形可以利用調整Progressive Mesh來觀察,以便於控制在Min狀態下的Screen與Faces值。

(d) Sphere

-Timer:設定延遲時間Duration-5 Sec。
Sequencer:每次訊息由In進入後,會依次由Out 0…Out n輸出。
LOD Manager Options:設定LOD是否為Activate狀態;Global LOD Factor-1,表示在LOD的狀態下,Sphere的面數為減面後的面數乘上1。
Identity:設定pIn0,且由pOut輸出此訊息。
 
(e) Text Display

Statistics:顯示目前的狀態,且由pOut輸出變數Frame Rate。
Convert:由Float(浮點數)轉換為Integer(整數)(如圖示)。

Create String:建立字串。
首先於Construct/Add Parameter Input增加pIn 1、pIn 2與pIn 3;設定Pin 1(字串)-FPS:,且由pIn輸入變數Pin 2(整數)-Frame Rate與Pin 3(字串)-LOD Desactivated,且由pOut輸出變數Text(如圖示)。

Create System Font:設定字體名稱-MyFont;字體-Arial;字體狀態-Normal;斜體Italic-False;底線-False,且由pOut輸出變數Font Created(如圖示)。

Set Font Properties:由pIn 輸入變數Font;設定字元間距(X, Y)-(0, 0);字體尺寸倍數(X, Y)-(0.8, 0.8);字體傾斜值Italic Offset-0,正值表示向右傾斜,負值表示向左傾斜;字體顏色Color(R, G, B, A)-(255, 255, 255, 255);字體下部顏色(R, G, B, A)-(128, 128, 128, 255);陰影色(R, G, B, A)-(0, 0, 0, 0);陰影的角度(Turn, Degree)-(0, 120);陰影的長度-4;陰影大小(X, Y)-(0, 0)。

2D Text:由pIn 輸入變數Font、Text;設定偏離位置-Top-Left;頁邊空白Margins (X, Y)-(0, 0);偏離值Offset(X, Y)-(0, 0);縮排值Paragraph Indentation(X, Y)-(0, 0);背景材質Background Material-'-NULL-'。


愛迪斯科技股份有限公司版權所有,本網站各連結標題,商標及連結內容歸原權利人所有.
台北市內湖區民權東路六段16011樓之
2 Tel:(02)2791-2917 Fax:(02)2791-2916
CopyRight 2001-2002 Axis 3D Technology,inc. All rights reserved.