Logics

Has Attribute

Instruction:
此範例可以和「Groups」作比較。
物體由Mouse Cursor碰觸後會產生旋轉的效果,旋轉的速度則利用Attribute-My Own Float來控制,當Mouse Cursor離開物體時,物體便停止旋轉。

Building Blocks
(a) Set As Active Camera-Cameras/Montage/Set As Active Camera
(b) Text Display-Interface/Text/Text Display
(c) 2D Picking-Interface/Screen/2D Picking
(d) Has Attribute-Logics/Attribute/Has Attribute
(e) Per Second-Logics/Calculator/Per Second
(f) Rotate-Transformations/Basic/Rotate

製作構想
主要是利用Building Blocks-Has Attribute賦予每個物體其屬性不同的參數值來影響物體旋轉的速度,再配合Building Blocks-Per Second、Rotate便可以達到旋轉的效果。

製作步驟
(a) Camera

Set As Active Camera:設定現在所使用的Camera。設定Target-NA即正前方。 Text Display:文字說明。
 
(b) Ground

Get Mouse Position:由Mouse Cursor即可得到2D 位置,由pOut輸出(如圖示)。

2D Picking:利用pIn輸入Mouse Cursor 2D的座標位置而得到一物體,並於pOut輸出該物體Object Picked;且不勾選Edit Parameters-Window Relative。
如果輸出為True即執行Building Blocks-Has Attribute;輸出為False即重新執行2D Picking。
Has Attribute:首先於Level Manager/Default Level/Global/3D Objects/Rock/Add Attribute/My own attribute增加屬性-My own float,再設定屬性My own float值為4。
其它物體Ball、Box、Statue依同樣方式將屬性My own float值分別設定為2、3、1(如圖示)。
設定Target-即Building Blocks所輸出物體Object Picked;設定Category-'-My own attribute-'、Attribute-My own float(如圖示),此屬性My own float值將影響其旋轉的速度。
最後由pOut輸出變數值Attribute Value。

Per second:由pIn輸入變數Attribute Value作為1秒鐘所旋轉的角度值X,乘上一個Frame所花費時間,在pOut輸出Y(旋轉角度值)。
T X(pIn) * Elapsed Time = Y(pOut) Rotate:設定Target-即Building Blocks所輸出物體Object Picked。
於Angle of Rotation的pIn輸入旋轉角度值Y,設定Axis of Rotation-Y軸;設定Referential of the Axis-'-NULL-'以World座標軸為參考 (如圖示)。


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