成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python寫3D游戲,太贊了

開發 后端
當運用Python語言執行開發時,Vizard同時自動將編寫的程式轉換為字節碼抽象層(LAXMI),進而運行渲染核心。

vizard介紹

Vizard是一款虛擬現實開發平臺軟件,從開發至今已走過十個年頭。它基于C/C++,運用新近OpenGL拓展模塊開發出的高性能圖形引擎。當運用Python語言執行開發時,Vizard同時自動將編寫的程式轉換為字節碼抽象層(LAXMI),進而運行渲染核心。

vizard入門

1、加載人物、對象、背景

avatar = viz.addAvatar('xxx.cfg', pos=(0,0,0), euler=(0,0,0))
viz.add('xxx.osgb',pos=(0,0,0), euler=(0,0,0))
viz.addChild('xxx.obj',pos=(-4,0,7.5))

2、鴿子隨機漫步

①利用????????????. ??????????????????()生成隨機位置,調用????????????. ????????????()實現鴿子漫步

②利用????????????. ???????????()生成隨機選擇,隨機更新鴿子的??????????狀態

③調用????????????. ????????????????()實現隨機時間的等待

④利用????????????. ????????????????()實現上述動作序列

pigeon = viz.addAvatar('pigeon.cfg',pos=(2,0,5))
random_walk = vizact.walkTo(pos=[vizact.randfloat(1.5,2.5),0,vizact.randfloat(4.5,5.5)])
random_animation = vizact.method.state(vizact.choice([1,3],vizact.RANDOM))
random_wait = vizact.waittime(vizact.randfloat(2.0,8.0))
pigeon_idle = vizact.sequence( random_walk, random_animation, random_wait, viz.FOREVER)
pigeon.runAction(pigeon_idle)

3、人物談話動作

def PersonTalk():
female = viz.addAvatar('vcc_female.cfg', pos=(1,0,8), euler=(-90,0,0))
male = viz.addAvatar('vcc_male2.cfg', pos=(0,0,8), euler=(90,0,0))
female.state(14)
male.state(4)

4、角色移動

①通過??????. ??????????????????????????????() ? ??????????計算移動速度

②初始化歐拉矩陣??1 = ??????. ????????????. ??????????(0,0,0)

③通過??????. ??????. ????????????()分析對應鼠標事件,根據人物朝向????????????. ????????????????()更 新??1平移變換矩陣

④通過????????????. ??????????????????????(??1. ??????????????????????())更新人物位置

⑤通過??????. ??????. ????????????()分析對應鼠標事件,設置對應人物動畫:

前進、后退動畫:????????????. ??????????(2)

左跨步動畫:????????????. ??????????(12)

右跨步動畫:????????????. ??????????(13)

人物靜止動畫:????????????. ??????????(1)

def roleMove():
m1 = viz.Matrix.euler(0,0,0)
dm = viz.getFrameElapsed() * speed
temp=avatar.getEuler()[0]*math.pi/180
if viz.key.isDown('w'):
m1.preTrans([dm*math.sin(temp),0,dm*math.cos(temp)])
avatar.state(2)
elif viz.key.isDown('s'):
m1.preTrans([-dm*math.sin(temp),0,-dm*math.cos(temp)])
avatar.state(2)
elif viz.key.isDown('a'):
m1.preTrans([-dm*0.3*math.cos(temp),0,dm*0.3*math.sin(temp)])
avatar.state(12)
elif viz.key.isDown('d'):
m1.preTrans([dm*0.3*math.cos(temp),0,-dm*0.3*math.sin(temp)])
avatar.state(13)
else:
avatar.state(1)
avatar.setPosition(m1.getPosition(), viz.REL_PARENT)

5、獲取鼠標位移

通過回調函數callback獲取

def onMouseMove(e):  
global mp_x,mp_y
mp_x=e.dx
mp_y=e.dy
viz.callback(viz.MOUSE_MOVE_EVENT,onMouseMove)

基于vizard實現的效果:

1.時鐘顯示當前系統時間

2.兩個談話小人(帶動畫)

3.第三人稱漫游(帶動畫)

  •  前進(鍵盤 W 鍵)
  •  后退(鍵盤 S 鍵)
  •  左跨步(鍵盤 A 鍵)
  •  右跨步(鍵盤 D 鍵)
  •  旋轉(使用鼠標左右平移)
  •  上仰(使用鼠標上下平移)

4.其他三維物體/背景

  •  鴿子做自由漫步
  •  花瓶擺件
  •  天空背景
  •  草地背景
責任編輯:龐桂玉 來源: Python專欄
相關推薦

2021-09-26 10:45:27

前端游戲CSS

2021-12-28 10:52:10

鴻蒙HarmonyOS應用

2020-02-07 09:17:54

3D打印機技術辦公

2013-11-21 19:36:56

暢游游戲引擎Genesis-3D

2013-02-21 12:37:31

3D打印

2022-08-02 11:24:22

菜鳥Python網站自動簽到

2023-08-18 08:00:00

游戲開發3D模型

2024-03-15 08:10:00

2012-12-24 08:48:25

iOSUnity3D

2021-09-16 07:52:18

SwiftUScroll效果

2017-07-12 23:08:03

白鷺引擎

2010-09-08 11:26:26

Windows PhoXNA 4.0 3D游戲開發

2019-06-24 10:51:01

3D打印打印機

2014-07-28 17:09:54

Cocos

2012-11-26 12:51:44

木材3D打

2016-06-01 09:19:08

開發3D游戲

2011-10-06 13:30:45

宏碁投影儀

2024-05-11 10:28:12

3D場景

2016-12-20 10:35:52

游戲測試3D測試環境

2020-07-27 10:30:41

人工智能機器學習技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久久久久久久久 | 亚洲欧美男人天堂 | 日韩免费看片 | 久久久久资源 | 久久久久久久久久久久亚洲 | 欧美一级片久久 | 日韩在线第一 | 91社影院在线观看 | 成人精品在线观看 | 国产美女久久久 | 国产精品高潮呻吟久久aⅴ码 | 国产亚洲精品久久午夜玫瑰园 | 国产精品视频一区二区三区 | www国产亚洲精品 | 亚洲成人免费在线观看 | 午夜看电影在线观看 | 四虎影视 | 97免费视频在线观看 | 天天在线操 | 久久久精品黄色 | 中文字幕成人av | 91精品国产高清一区二区三区 | 国产精品久久久久久久久图文区 | 久久久久久久久91 | 国产最新网址 | 91视频大全 | 涩涩导航| 精品成人av | 99久久日韩精品免费热麻豆美女 | 青青久久av北条麻妃海外网 | 91天堂网 | 91视频在线看 | 超碰在线人人干 | 9191在线播放| 中文字幕在线视频网站 | 日韩欧美一区二区在线播放 | 国产精品国产三级国产aⅴ中文 | www国产亚洲精品久久网站 | 亚洲xx在线 | 亚洲一区二区久久 | 欧美日韩国产一区二区三区 |