<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    TWaver提供了一套3D場景的開發(fā)包,用來幫助用戶快速搭建3D場景,實(shí)現(xiàn)3D的監(jiān)控系統(tǒng)。這個(gè)開發(fā)包目前商推的只有Flex框架下的版本,被稱為TWaver3D for Flex。開發(fā)包提供簡單的API,用戶向TWaver的數(shù)據(jù)對象(例如Node)中設(shè)定相關(guān)的3D style,就可以構(gòu)建出一套3D場景。(詳細(xì)的使用方式請參考產(chǎn)品包中的
    為了簡化用戶使用代碼搭建3D場景的復(fù)雜度,TWaver還提供了一個(gè)可視化的編輯工具,用于幫助用戶編輯3D場景,然后將場景轉(zhuǎn)換為可讀的xml文件。需要再現(xiàn)場景的時(shí)候,用戶只需要將這份圖紙載入系統(tǒng),實(shí)現(xiàn)所見即所得的目的。用戶加載完圖紙后,就可以根據(jù)設(shè)計(jì)圖紙的時(shí)候設(shè)定的數(shù)據(jù)綁定關(guān)系,實(shí)現(xiàn)實(shí)時(shí)系統(tǒng)監(jiān)控信息的綁定。

    現(xiàn)在就讓我給大家詳細(xì)的介紹一下如何使用Editor工具設(shè)計(jì)3D場景,如何綁定實(shí)時(shí)數(shù)據(jù)。
    第一步當(dāng)然是打開Editor,加載預(yù)定義的3D模型,初始化設(shè)計(jì)環(huán)境。

    ps:Editor這個(gè)工具采用了Flex的module機(jī)制,允許用戶將預(yù)定義的3D模型資源打包成module,然后通過Editor進(jìn)行動態(tài)加載到編輯環(huán)境中(擴(kuò)展動態(tài)模塊的話題我們下章細(xì)聊)。

    點(diǎn)擊上圖的“確定”按鈕后,Editor就會在同根目錄下尋找相關(guān)module。根據(jù)Flex的設(shè)計(jì),這些module都被打包成為swf文件,如果用戶使用HTTP服務(wù)器發(fā)布起Editor的話,需要把這些module的swf文件放在Editor.swf 的同根目錄下。
    加載成功后,在模塊中預(yù)定義的模型就會呈現(xiàn)在Eidtor左側(cè)的資源欄中。

    預(yù)定義的模型加載進(jìn)來之后,我們就可以著手設(shè)計(jì)我們的3D場景了。Editor目前采用的是2D方式編輯,3D場景展現(xiàn)的方式。例如我們現(xiàn)在建立一個(gè)小房間,房間內(nèi)設(shè)置一個(gè)機(jī)柜。

    在編輯的時(shí)候,需要強(qiáng)調(diào)的一點(diǎn)是這個(gè)里面的BID屬性,在Editor工具中,對于可以將來用于監(jiān)控的對象設(shè)定了一個(gè)Business ID屬性,就是用來與客戶自己系統(tǒng)模型中具體設(shè)備的ID相關(guān)聯(lián)用的,這個(gè)屬性被存在了TWaver的ClientProperty里(本文后面會介紹此處的用法)。
    我們從視圖上如果看到場景設(shè)計(jì)達(dá)到目標(biāo)了,就可以將場景存為xml文件,以備監(jiān)控程序加載使用。

    我們將其另存成名為common.xml的圖紙。
    圖紙片段如下

    <data type='twaver.Element' ref='7' id='EF576749-1DD2-39D0-7FFD-0B7B913ABCF8'>
        
    <s n='physical.size.t3d' x='60' y='120' z='60'/>
        
    <s n='mapping.common.path.t3d'>XZRack3D1</s>
        
    <s n='mapping.type.t3d'>map6</s>
        
    <s n='scene.location.t3d' x='-148.5' y='60' z='117.5'/>
        
    <s n='both.sides.visible.t3d'>true</s>
        
    <c n='itemid'>XZ1</c>
        
    <c n='bid'>custom1</c>
    </data>
    有了這份圖紙我們就可以在監(jiān)控系統(tǒng)載入的時(shí)候,將圖紙載入系統(tǒng),直接呈現(xiàn)3D場景了。

     

               

    [Embed(source="images/XZRack3D1.png")]
    public static const XZRack3D1:Class;

    private function init():void{
    twaver.threed.util.Util3D.registVector3D();
    twaver.Utils.registerImageByClass("XZRack3D1",XZRack3D1);
    var network:Network3D = new Network3D();
    network.applyHoverCamera(-180,10,5,1000);
    this.addElement(network);
    var box:ElementBox = network.elementBox;
    network.tiltAngleLowLimit = 0;
    network.tiltAngleUpLimit = 15;
    var xs:XMLSerializer3D=new XMLSerializer3D(box);
    xs.deserialize(scene);
    }

    ps:由于我們的模型中,用來渲染機(jī)柜的圖片定義成了XZRack3D1,所以我們在上面的代碼里需要把資源注冊進(jìn)來。
    載入圖紙之后,我們就可以看到一個(gè)在Editor中設(shè)計(jì)完成的場景了。

    話題引申開,畢竟僅僅加載一個(gè)3D場景還不是我們的目的,我們還會希望能夠把我們的監(jiān)控信息追加到3D場景上,實(shí)現(xiàn)我們監(jiān)控系統(tǒng)的3D化。那么這個(gè)時(shí)候,我們前面提到的Business ID就起到作用了。

    //注冊數(shù)據(jù)類型,用來解讀bid屬性 
    twaver.SerializationSettings.registerGlobalClient("bid","String");
    ......
    var finder:QuickFinder = new QuickFinder(box,"bid","client");
    var els:Array = finder.find("custom1");
    var alarm:Alarm = new Alarm(null,els[0].id,AlarmSeverity.CRITICAL);
    box.alarmBox.add(alarm);

    那么我們就可以直接讀取映射在圖紙中的業(yè)務(wù)id屬性,用來滿足用戶動態(tài)綁定數(shù)據(jù)

    這樣我們就完成了應(yīng)用程序加載預(yù)設(shè)計(jì)的圖紙,并實(shí)現(xiàn)數(shù)據(jù)綁定的功能了。ok,動動手指就可以把你的2D變3D,趕緊來試一下吧。

    后續(xù)文章
    如何自定義模型module;
    圖紙的二次編輯。


    評論

    # re: TWaver 3D 編輯器的使用(一)----設(shè)計(jì)3D場景以及數(shù)據(jù)綁定  回復(fù)  更多評論   

    2012-05-02 16:48 by skywalker
    通過簡化操作,倒是也不復(fù)雜太多

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 女人被男人桶得好爽免费视频| 亚洲av无码天堂一区二区三区| 亚洲综合一区二区三区四区五区| 国产无遮挡裸体免费视频| 成av免费大片黄在线观看| 亚洲国产精品成人综合久久久| 国产成人青青热久免费精品 | 精品国产免费人成网站| 亚洲最大的视频网站| 亚洲av无码不卡私人影院| 四虎影视成人永久免费观看视频| 国产亚洲精品AAAA片APP| 亚洲A∨无码一区二区三区| 免费毛片在线视频| 一级毛片免费毛片一级毛片免费| 亚洲精品久久无码av片俺去也| 久久久久久久尹人综合网亚洲| 曰皮全部过程视频免费国产30分钟| 91视频免费观看| 国产精品亚洲一区二区三区在线观看 | 国产亚洲欧美日韩亚洲中文色| 亚洲深深色噜噜狠狠爱网站| 成人午夜免费福利| 久久久久久国产精品免费免费男同| 亚洲成a人无码亚洲成www牛牛| 亚洲短视频男人的影院| 亚洲国产成人久久一区WWW| 最新欧洲大片免费在线| 久久青青草原国产精品免费| 国产亚洲综合精品一区二区三区| 亚洲成在人线中文字幕| 亚洲色欲久久久综合网东京热| 日韩中文无码有码免费视频 | 国产亚洲视频在线| 精品亚洲国产成人| 亚洲精品私拍国产福利在线| 亚洲毛片av日韩av无码 | 亚洲久悠悠色悠在线播放| 亚洲av综合色区| 中文字幕亚洲图片| 亚洲av中文无码|