解釋
Virtools是一套整合軟體,可以將現有常用的檔案格式整合在一起,如3D的模型、2D圖形或是音效等。Virtools是一套具備豐富的互動行為模組的實時3D環境虛擬實境編輯軟體,可以製作出許多不同用途的3D產品,如網際網路、計算機遊戲、多媒體、建築設計、互動式電視、教育訓練、仿真與產品展示等 。
Virtools 的歷史發展
法國擁有許多技術上尖端的小型三維引擎或平台公司,Virtools公司所開發的三維引擎成為微軟XBox認可系統。其特點是方便易用套用領域廣。
2004年VIRTOOLS日前推出了Virtools Dev 2.1實時三維互動媒介創建工具,隨即被引進到中國台灣地區,並在台灣地區得到迅速發展,並引進到中國大陸。
目前全世界有超過270所大學使用Virtools ,Virtools已經獲得許多媒體技術學系學生的肯定和支持 。
系統需求
<;基本配備>
處 理 器 : Pentium Ⅱ 以上
作業系統: Microsoft Windows (95,98,98SE,ME,2000,XP or NT 4.0(Service Pack6以上))
記憶體 :32MB RAM以上
<;建議配備>
圖形加速卡: 至少16MB記憶體以上與Direct3D或OpenGL兼容的3D加速卡
<;網路播放器 >
網路播放器(Virtools Web Player)支持麥金塔系統
建議配備-
處 理 器 : Mac G3以上
作業系統: Mac OS X
記憶體 : 256MB RAM以上
圖形加速卡: 至少32MB 記憶體以上與Direct3D或OpenGL兼容的3D加速卡
新一代的Virtools Dev 3.0整合許多最新的技術,有效的提升互動3D研發環境的製作過程以及在不犧牲任何質量的情況下,同時降低成本並且確保產品上市時間。
執行流程
⑴ 動態計算(Calculating Animations)
例如一個有走路動態數據的主角,將會先計算此主角在該角色中所應該移動的動作後,才會開始處理此主角的移動位置。
⑵ 處理行為模組(Proccessing the behaviors)
⑶ 訊息傳遞處理 (Handling the message passing)
⑷ 聲音 (Sound)
⑸ 場景著色(Rendering scene)
最新功能
Virtools Shaders: 可程式化的「頂點著色器」與「像素著色器」
架構於 MicrosoftDirectX 9.0的 Effect Framework,Virtools Dev 使用可程式的「頂點著色器」與「像素著色器」大幅提高3D繪圖的視覺質量,達到電影般擬真的效果不再只是夢想。
Virtools Shaders支持絕大部分最新的顯示卡,供您撰寫屬於您自己開發的特殊效果,並提供使用者,在Virtools的著色階段(rendering pipeline)完整的控制權。
透過最新的著色器(Shader)運算技術可以迅速地編寫並且立即完成內容的更新。不需重新讀取整個檔案,只需更改 shader 參數即可。這強大的編輯功能讓開發者將 shader 效果很快速地置入實際的遊戲場景中,並可立刻提升畫面效果,使空間環境及對象貼圖材質的呈現更具真實性及說服力。讓遊戲開發者對於整體繪圖流程 (render pipline) 、視覺效果與後制特效 (post-processing) 技術能有更為完善的掌控。
控管功能
Virtools Dev 3.0中,整合了知名的軟體公司 NXN 的 alienbrain 檔案控管功能,提供使用者不管是小型工作室,或是大型公司的遊戲製作群,一種團隊工作全面性的解決方案,其中的功能有:
⑴檔案使用權管理、檔案版本控管與「登入 / 註銷」流程的查核功能。
⑵「便利寫」(Easy-to-insert)是針對於撰寫批註說明與記錄檔案部分的功能,可有效幫助使用者檔案保存歸檔、版本控管、回存檔案…等所有關於項目管理的瑣碎雜事,NXN也已提供可與項目管理軟體--- Microsoft Project 連結的外掛程式,所以,在對於整個項目控管上無疑是如虎添翼的新功能,幫助使用者更有效率達成項目目標。
Action Manager
另外一項對於增加製作編輯效率上,有著重大意義的新功能--- Action Manager,每一個Action都代表一個特定形式的 VSL script (Virtools Scripting Language,Virtools 開發環境中的程式語言,類似C),可透過選擇或是參數設定的方式,執行事先定義好的工作流程,並可輸入其它類型的Action 數據、重新組織整理,再設定鍵盤的快速鍵做為執行的Action的方式。
VSL的編輯環境提供可以建立、共享已撰寫完成的VSL功能,並透過鍵盤按鍵的設定執行,增加編輯效率,減少繁複瑣碎的工作。
新增功能
⑴ Web Download:從網站伺服器透過網際網路下載檔案。
⑵ Web Get Data:透過URL的指定,取得網頁的相關內容。
⑶ Cloth System:利用分子彈簧系統(spring-mass system)仿真布料物體飄動、垂掛的效果。
⑷DX8
⑸ DX9 如 Virtools Shaders。
⑹Hardware Level:新增一個參數輸出(pOut),DirectX7,DirectX8 或是 DirectX9。
⑺Mark System:增加產生 decal amrks 的選項與隨機數產生方位角輸出 Mark System的效果。
⑻Ray Intersection,Ray Box Intersection 與 2D Picking:這3個BB都新增了可輸出執行結果的選項,包含相關物體的世界坐標或是區域坐標。
其它功能
⑴未使用或是無效的 Building Blocks瀏覽器:加進 Schematic 的工具列中,協助使用者更新、修改。
⑵在 Variable Manager 新增許多可設定參數。
⑶線上檔案部分,在「Optimization Whitepaper」章節中加入「Behavior Graph Management」文章。
⑷在 Virtools Resources 中,點選 .nms檔案兩下,可取得相關的資料。
SDK
Virtools Interface SDK使得整合外部的 Manager 與 Plugins 更加容易,並可建立專屬的使用者接口功能,如在Dev的接口中,增加編輯animation的功能。
SDK:CK2/VXMATH
⑴Template 類別---Xarray,可以將內容 aligned至特定的 memory bounary,如以16 bytes的方式 aligned。
⑵VxINdexedCopy功能可以使用 word indices的數據型態。
⑶在 Window的平台中,因為Intel使用了新的技術---SpeedStep,所以在VxTimeProfiler類別可使用 QueryPerformanceCounter,藉以傳回正確的數值。由於QueryPerfomanceCounter在執行較小的程式時,會產生明顯的負載現象,在此情況下,可以使用 VxRDTSCProfiler 類別會有較精準的效果,不會有明顯的負載現象,但是以此類別作業並不在 “SpeedStep safe”的情況下,所以只能用於profiling的功能。
⑷新增 manager event OnRasterizerEvent:使用者可由此觀察到當前使用的 rasterizer的狀況,如是否已經被建立、消除或是重設尺寸大小。
渲染引擎
即Render Engine
⑴在物體的著色流程做了一些修改,如著色狀態的改變儘量減到最少、避免傳送太小的primitives(就面數而論)到顯示卡,這裡使用了兩個新增的變數來控制:CK2_3DDisableBatching 與 K2_3DBatchingMaxVertexCountToBeBatched。
⑵CK3dEntity::AddPreRenderCallback 與 CK3dEntity::AddPostRenderCallback 新增參數可指定 callback是否修改著色流程(改變當前的著色狀態、貼圖或矩陣…等),藉此提供render engine著色順序的信息。
⑶VxDrawPrimitiveData structure 以修改成可以儲存 XptrSrided的成員。
⑷一些不會在render engine使用到,或是可能阻礙某些功能最佳化的列舉(enumerations)與方法,都已經移除,如:
CK3dEntity::AreRenderChannelsVisible,CK3dEntity::SetRenderChannels
VX_MOVEABLE_RENDERCHANNELS,VXMESH_RENDERCHANNELS
CKMaterial::SetCallback,CKMaterial::GetCallback
CKMesh::AddSubMeshPreRenderCallBack,CKMesh::AddSubMeshPostRenderCallBack
CKMesh::SetFaceChannelMask,CKMesh::ChangeFaceChannelMask (Replaced by FaceIndices)
⑸新增類別:CKShader與CKShaderManager,可使用高階的著色器語言如HLSL或CG,存取相關資料。HLSL的相關實作在SDK目錄中附有原始程式代碼可供參考。
基本規格
繪圖引擎支持OpenGL、Direct 3D
不必寫程式,提供400多個的互動模組讓使用者設定即可做出多種互動
提供程式語言VSL(Virtools Scripting Language)
具備有智慧型型關鍵字顏色顯示系統(coloring system)
具備指令字元串提示功能(context-sensitive completion)
具備函示自變數顯示(function arguments display)
可與NxN的Alienbrain檔案管理系統整合,提供完整的項目管理功能
提供Action Manager方便程式人員進行大量而固定的編輯工作
支持DirectX 9.0以上的圖形產生器,包含可用程式編寫的頂點(Virtex)及
像素 (Pixel)著色功能
可製作實時的分子系統(Particle System),並具有物理特性,如重力、反
彈力等
可製作具有實時陰影(real-time shadow)計算效果之場景
可製作具有實時鏡射(real-time mirror)計算效果之場景
具有可以免費下載的虛擬實境瀏覽器Plug-in(可自動偵測,下載及安裝Plug-in)
提供可輸出Virtools檔案格式的3DSMAX、MAYA、Lightwave外掛程式
支持3DSMAX、MAYA的骨架系統(Bones System)
支持3DSMAX的Character Studio專業角色動作製作外掛軟體
可以與HTML整合,使用者可透過網際網路經由網頁瀏覽
可輸入3D Studio的.3ds格式、DirectX的.x格式,包含動態(Animation)
支持JPG、TIFF、TGA、BMP、PCX、DDS、PNG檔案格式
支援Wave、Midi與MP3
具VSL程式語言模組,可在軟體接口直接撰寫程式並編譯
支持 Cloth System,可實時模擬布料飄動效果
可透過HTTP下載檔案
可取得執行ASP、PHP、JSP執行的結果參數
具可擴充支持Xbox平台程式(選購模組)
Virtools SDK
使用者可以C++建立自己的互動行為模組
可編譯成執行檔
可撰寫特定輸入設備的驅動程式