freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

虛擬現(xiàn)實(shí)技術(shù)——vrml篇-文庫(kù)吧在線文庫(kù)

  

【正文】 l {diffuseColor IS topColor}         }        geometry Box {size }        }      ]    }Transform { translation 0    children [    DEF Leg Shape {     appearance Appearance {      material Material {diffuseColor IS legColor}         }        geometry Cylinder {height 1 radius }        }      ]    } Transform { 另一條桌腿 translation 0    children USE Leg    }Transform { 另一條桌腿 translation 0    children USE Leg    }Transform { 另一條桌腿 translation 0    children USE Leg    } ]根節(jié)點(diǎn)Transform的兒子結(jié)束 }根節(jié)點(diǎn)Transform結(jié)束}原型結(jié)束原型語(yǔ)句PROTO分為原型接口聲明和原型定義兩部分。根據(jù)路由,按照removeChildren的語(yǔ)義,球體節(jié)點(diǎn)SphereChild從leftBox的子節(jié)點(diǎn)列表中刪除。VRML中的組節(jié)點(diǎn)包含Anchor(錨)、Billboard(布告牌)、Collision(碰撞)、(Group)(組)、Inline(內(nèi)聯(lián))、LOD(細(xì)節(jié)層次)、Switch(開關(guān))、Transform(變換)共8種,除Inline、LOD 、Switch這幾個(gè)具有特殊功能外,它們都定義了人事件addChild和removeChildren,前者用于向組節(jié)點(diǎn)的子節(jié)點(diǎn)域children中增加新的子節(jié)點(diǎn),后備用于從中刪除子節(jié)點(diǎn),這樣就可以動(dòng)態(tài)修改場(chǎng)景圖的結(jié)構(gòu)。   所有插補(bǔ)器的域和事件都是類似的:   eventIn SFFloat set_fruction   exposedField MFFloat key [...]   exposedField MF[type] keyValue [.....]   eventOut [S|M]F[type] keyValue_changed   關(guān)鍵值域keyValue的類型決定了插補(bǔ)器的類型(例如,OrientationInterpolator的keyValue域的類型是MFFloat).入事件set_fraction接收SFFloat型的事件,插補(bǔ)器隨即根據(jù)它進(jìn)行插值,并通過(guò)出事件value_changed送出插值結(jié)果。     revolve[2]=1。當(dāng)鼠標(biāo)指針移動(dòng)到方塊之上時(shí),接觸檢測(cè)器發(fā)出isOver,和第一節(jié)中采用的isActive事件不同,isOver不需鼠標(biāo)左鈕按下時(shí)即可發(fā)出。      revolve[2]=1。      }    }隨后,我們?cè)卩徑鼨z測(cè)器的出事件isActive和腳本節(jié)點(diǎn)eCloserScript的入事件enterProximitySensorIsActive之間建立路由,后者收到事件后執(zhí)行函數(shù)enterProximitySensroIsActive,函數(shù)發(fā)出bindView2出事件,這個(gè)出事件通過(guò)路由連接到視點(diǎn)節(jié)點(diǎn)View2:ROUTE TO   ROUTE TO 也就是說(shuō),一旦用戶進(jìn)入鄰近區(qū),、三個(gè)物體、一個(gè)鄰近檢測(cè)器和一個(gè)腳本節(jié)點(diǎn)組成的境界的完整代碼如下:VRML utf8   DEF view1 Viewpoint {    position 0 0 20    description view1    }   DEF view2 Viewpoint {    position 0 0 20    description view2    }   Group {    children [     DEF box Transform {      translation 5 0 0      children [       Shape {        appearance Appearance {         material Material {          diffuseColor 1 0 0          }         }        geometry Box {}        }       ]      }     DEF sphere Transform {      translation 0 0 0      children [       Shape {        appearance Appearance {         material Material {          diffuseColor 0 1 0          }         }        geometry Sphere {}        }       DEF eCloser ProximitrySensor {        center 0 0 0        size 4 4 4        }       ]      }     DEF cone Transform {      translation 5 0 0      children [       Shape {        appearance Appearance {         material Material {          diffuseColor 0 0 1         }         }        geometry Cone {}        }       ]      }     ]end of Group children    }   DEF eCloserScript Script {    eventIn SFBool enterProximitySensorIsActive    eventOut SFBool bindView2    url javascript :     function enterProximitySensorIsActive(active) {      bindView2=TRUE。正如你在標(biāo)準(zhǔn)中可以查到的那樣,ProximitySensor節(jié)點(diǎn)定義為:ProximitySensor {    exposedField SFVec3f center 0 0 0    exposedField SFVec3f size 0 0 0    exposedField SFBool enabled TRUE    eventOut SFBool isActive    eventOut SFVec3f position_changed    eventOut SFRotation orientation_changed    eventOut SFTime enterTime    eventOut SFTime exitTime    }ProximitySensor節(jié)點(diǎn)共有三個(gè)外露域(exposedField)和五個(gè)出事件(eventOut).出事件我們已經(jīng)熟悉,是節(jié)點(diǎn)狀態(tài)發(fā)生改變時(shí)用來(lái)通知其它節(jié)點(diǎn)的,這里的出事件isActive 用于ProximitySensor通報(bào)自己已被激活。  ?。?)函數(shù)向touchScript的事件出口bindView2發(fā)送一個(gè)“TRUE”事件(還可以進(jìn)行其它判斷或執(zhí)行其它事件)。   上面我們?cè)呀佑|檢測(cè)器touchBox 和視點(diǎn)view2直接通過(guò)路徑連接起來(lái),現(xiàn)在要定義我們指定的行為,就需要在二者之間插入一個(gè)腳本節(jié)點(diǎn),也就是讓路徑繞個(gè)彎:   ROUTE TO   ROUTE TO   其中的腳本節(jié)點(diǎn)touchScript有一個(gè)事件人口touchBoxIsActive和一個(gè)事件出口bind_View2,前者接收來(lái)自接觸檢測(cè)器touchBox的事件,然后經(jīng)自己的腳本處理后,把結(jié)果發(fā)送給視點(diǎn)節(jié)點(diǎn)view2:   DEF touchScript Script {    eventIn SFBool touchBoxIsActive  #入口   eventOut SFBool bindView2    ?。3隹凇  rljavescript:         ?。D_本    function touchBoxIsActive(active) {   #與入口同名的函數(shù)被調(diào)用     bindView2= TRUE。在這里,我們是把接觸檢測(cè)器touchBox的事件出口isActive連接到視點(diǎn)節(jié)點(diǎn)view2的事件入口set_bind:   ROUTE TO   現(xiàn)在我們得到的VRML文件是:   VRML utf8    DEF view1 Viewpoint { ?。R朁c(diǎn)    position 0 0 20     description view1     }    DEF view2 Viewpoint {     position 5 0 20     description view2     }    Group {     children [      DEF box Transform {       translation 5 0 0        children [         Shape {          appearance Appearance {           material Material {            diffuseColor 1 0 0           }           }          geometry Box {}          }         DEF touchBox TouchSensor {} #觸感        ]       }      DEF sphere Transform {       translation 0 0 0        children [         Shape {          appearance Appearance {           material Material {            diffuseColor 0 1 0           }           }          geometry Sphere {}          }         ]       }      DEF cone Transform {       translation 5 0 0        ch
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1