国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

X3D實戰基礎講座之十

2019-11-18 11:36:45
字體:
來源:轉載
供稿:網友

  由于X3D的動畫涉及到時間觸發器、插值器、事件和路由等概念,因此在本講中,我們先來看一個簡單的示例,然后一步一步深入下去。

  一、 一個簡單的示例

X3D實戰基礎講座之十(圖一)



  示例的結果如下圖所示:

X3D實戰基礎講座之十(圖二)

  說明:預覽后,球往返移動。

  二、 相關概念的理解

  在X3D中,動畫的產生涉及到時間觸發器、插值器、事件和路由的概念,下面來說明:

  1、 時間觸發器TimeSensor

  觸發器或者叫做傳感器,是用來產生不同類型的事件。時間觸發器TimeSensor是根據時間來不斷產生事件,它有許多屬性,通常把用于輸入的屬性稱為域,或稱為輸入事件,而把輸出的屬性稱為產生的事件,或稱為輸出事件。時間觸發器TimeSensor的主要域有:

  cycleInterval -- 每個周期的長度,以秒為單位,取值大于0。需要說明的是:假如cycleInterval < 0.01 秒,TimeSensor 可能不起作用。

  enabled -- 若為True,當條件成立時產生時間相關事件;若為False,在任何條件下都不會產生時間相關事件。

  loop -- 表明時間傳感器是無限循環,還是在一個周期后被終止。

  startTime -- 開始產生事件的時間。

  stopTime -- 終止產生事件的時間。其值若小于等于起始時間,則被忽略。

  pauseTime -- 暫停時間。若當現在時間>= pauseTime,isPaused 值變為True,暫停。

  resumeTime -- 恢復時間。當resumeTime <= 現在時間,isPaused值變為False,再次激活。

  而事件主要有:

  isActive -- 表明時間傳感器當前是否在運行。若在運行,則返回True;若處于停止狀態,則返回False。

  isPaused -- 表明時間傳感器當前是否在暫停。

  cycleTime -- 在每個周期開始時,返回當前時間。

  fraction_changed -- 當前周期的完成比。從0(周期開始)到1(周期結束)。

  time -- 從格林威治時間1970年1月1日子時(午夜12點)至今所經過的秒數。

  2、 插值器

  計算機動畫按生成的方法可以分為逐幀動畫、要害幀動畫和造型動畫等幾大類。在要害幀動畫設計中,通常需要我們指定要害幀,而中間幀往往由計算機自動生成。X3D中的插值器就起到設定要害幀并自動生成中間幀的作用。它主要有顏色插值器節點(ColorInterpolator)、坐標插值器節點(CoordinateInterpolator)、法向量插值器節點(NormalInterpolator)、方向插值器節點(OrientationInterpolator)、位置插值器節點(PositionInterpolator) 和比例插值器節點(ScalarInterpolator)。除此之處,X3D還提供比較專業的插值器,如NURBS曲線系列插值器等。

  3、 事件

  事件(Events)是在 X3D 運行時環境中產生行為的主要方法,這種方法用來改變域的輸入值或接受域的輸出值,分別又稱為發送到輸入域的事件和輸出域發送的事件。

  4、 路由

  路由(Route)聲明答應我們在把一個節點的輸出事件連接到另一個節點的輸入事件上,這樣可以執行復雜的行為,而不需要使用程序命令。在路由中,一個輸出事件發生,相應目的的輸入事件就會接受到通知,同時可以對輸入事件變動做出相應的處理。這個處理可以改變節點的狀態,產生額外的事件,或者改變場景圖的結構。

  Route(路由)不是節點,它是一個語句。ROUTE 語句是建立指定節點的域之間通道的語法構件。ROUTE 語句可以出現在 X3D 文件的最上層,或者也可以出現在節點中任何可以使用域的地方。ROUTE 語句應該放置在路由的源節點和目的節點定義之后,而不能放置在源節點中或目的節點中。

QQ病毒 騰訊QQ空間代碼專題 PPT教程專題 ADSL應用面面俱到 fireworks教程專題 計算機和網絡技術基礎知識 校園網專題 網吧技術專題



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长乐市| 沙洋县| 砚山县| 霸州市| 平原县| 讷河市| 神农架林区| 藁城市| 盈江县| 仲巴县| 新安县| 定襄县| 汝阳县| 剑河县| 普洱| 潞西市| 大安市| 青海省| 怀远县| 浙江省| 紫云| 乐安县| 美姑县| 东至县| 嘉义县| 林西县| 南靖县| 桂东县| 城口县| 宜昌市| 郧西县| 贺州市| 卢氏县| 平昌县| 涟源市| 葵青区| 安平县| 安达市| 临海市| 含山县| 乌兰察布市|