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

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。 |

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值。 |
|

-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輸出此訊息。 |

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-'。 |

|
|

|
 |