vizard介紹
Vizard是一款虛擬現(xiàn)實(shí)開發(fā)平臺(tái)軟件,從開發(fā)至今已走過(guò)十個(gè)年頭。它基于C/C++,運(yùn)用新近OpenGL拓展模塊開發(fā)出的高性能圖形引擎。當(dāng)運(yùn)用Python語(yǔ)言執(zhí)行開發(fā)時(shí),Vizard同時(shí)自動(dòng)將編寫的程式轉(zhuǎn)換為字節(jié)碼抽象層(LAXMI),進(jìn)而運(yùn)行渲染核心。
vizard入門
1、加載人物、對(duì)象、背景
2、鴿子隨機(jī)漫步
?、倮胿izact.randfloat()生成隨機(jī)位置,調(diào)用vizact.walkTo()實(shí)現(xiàn)鴿子漫步
?、诶胿izact.choice()生成隨機(jī)選擇,隨機(jī)更新鴿子的state狀態(tài)
③調(diào)用vizact.waittime()實(shí)現(xiàn)隨機(jī)時(shí)間的等待
?、芾胿izact.sequence()實(shí)現(xiàn)上述動(dòng)作序列
3、人物談話動(dòng)作
4、角色移動(dòng)
?、偻ㄟ^(guò)viz.getFrameElapsed()*speed計(jì)算移動(dòng)速度
?、诔跏蓟瘹W拉矩陣m1=viz.Matrix.euler(0,0,0)
③通過(guò)viz.key.isDown()分析對(duì)應(yīng)鼠標(biāo)事件,根據(jù)人物朝向avatar.getEuler()更新m1平移變換矩陣
④通過(guò)avatar.setPosition(m1.getPosition())更新人物位置
?、萃ㄟ^(guò)viz.key.isDown()分析對(duì)應(yīng)鼠標(biāo)事件,設(shè)置對(duì)應(yīng)人物動(dòng)畫:
前進(jìn)、后退動(dòng)畫:avatar.state(2)
左跨步動(dòng)畫:avatar.state(12)
右跨步動(dòng)畫:avatar.state(13)
人物靜止動(dòng)畫:avatar.state(1)
5、獲取鼠標(biāo)位移
通過(guò)回調(diào)函數(shù)callback獲取
基于vizard實(shí)現(xiàn)的效果:
1.時(shí)鐘顯示當(dāng)前系統(tǒng)時(shí)間
2.兩個(gè)談話小人(帶動(dòng)畫)
3.第三人稱漫游(帶動(dòng)畫)
前進(jìn)(鍵盤 W 鍵)
后退(鍵盤 S 鍵)
左跨步(鍵盤 A 鍵)
右跨步(鍵盤 D 鍵)
旋轉(zhuǎn)(使用鼠標(biāo)左右平移)
上仰(使用鼠標(biāo)上下平移)
4.其他三維物體/背景
鴿子做自由漫步
花瓶擺件
天空背景
草地背景