用 Python 寫 3D 游戲,太贊了!
共 4130字,需瀏覽 9分鐘
·
2024-05-04 19:24
??我的小冊 40章教程:(小白零基礎(chǔ)用Python量化股票分析小冊) ,原價(jià)299,限時(shí)特價(jià)2杯咖啡,滿100人漲10元。
vizard介紹
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))
①利用????????????. ??????????????????()生成隨機(jī)位置,調(diào)用????????????. ????????????()實(shí)現(xiàn)鴿子漫步
②利用????????????. ???????????()生成隨機(jī)選擇,隨機(jī)更新鴿子的??????????狀態(tài)
③調(diào)用????????????. ????????????????()實(shí)現(xiàn)隨機(jī)時(shí)間的等待
④利用????????????. ????????????????()實(shí)現(xiàn)上述動(dòng)作序列
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、人物談話動(dòng)作
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、角色移動(dòng)
①通過??????. ??????????????????????????????() ? ??????????計(jì)算移動(dòng)速度
②初始化歐拉矩陣??1 = ??????. ????????????. ??????????(0,0,0)
③通過??????. ??????. ????????????()分析對應(yīng)鼠標(biāo)事件,根據(jù)人物朝向????????????. ????????????????()更 新??1平移變換矩陣
④通過????????????. ??????????????????????(??1. ??????????????????????())更新人物位置
⑤通過??????. ??????. ????????????()分析對應(yīng)鼠標(biāo)事件,設(shè)置對應(yīng)人物動(dòng)畫:
前進(jìn)、后退動(dòng)畫:????????????. ??????????(2)
左跨步動(dòng)畫:????????????. ??????????(12)
右跨步動(dòng)畫:????????????. ??????????(13)
人物靜止動(dòng)畫:????????????. ??????????(1)
def roleMove():m1 = viz.Matrix.euler(0,0,0)dm = viz.getFrameElapsed() * speedtemp=avatar.getEuler()[0]*math.pi/180if 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、獲取鼠標(biāo)位移
通過回調(diào)函數(shù)callback獲取
def onMouseMove(e):global mp_x,mp_ymp_x=e.dxmp_y=e.dyviz.callback(viz.MOUSE_MOVE_EVENT,onMouseMove)
基于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.其他三維物體/背景
鴿子做自由漫步
花瓶擺件
天空背景
草地背景
最后推薦一下我們團(tuán)隊(duì)寫的量化小冊的內(nèi)容,45篇內(nèi)容!從Python安裝,入門,數(shù)據(jù)分析,爬取股票基金的歷史+實(shí)時(shí)數(shù)據(jù),以及如何寫一個(gè)簡單量化策略,策略回測,如何看資金曲線統(tǒng)統(tǒng)都有介紹!非常超值!
歡迎訂閱:原價(jià)299 早鳥價(jià)2杯咖啡錢,即可永久閱讀。滿400人又要漲價(jià)了,現(xiàn)在的價(jià)格非常非常低,只要2杯奶茶,就可以終身訂閱+課程源碼,還有永久陪伴群。48小時(shí)無理由退款,放心食用!
往期推薦
量化: 如何用Python爬取創(chuàng)業(yè)板歷史+實(shí)時(shí)股票數(shù)據(jù)!|實(shí)戰(zhàn)股票分析篇利用Pandas 9招挖掘五糧液股價(jià)!|實(shí)戰(zhàn)股票數(shù)據(jù)分析篇 Pandas滾動(dòng)操作 |量化股票第一步,用Python畫股票K線,雙均線圖,可視化你的股票數(shù)據(jù)!|如何用Python爬取全部800多只ETF基金數(shù)據(jù)!|如何用Python寫一個(gè)雙均線策略 |如何用Python開發(fā)一個(gè)多策略機(jī)器人!上篇!|Python量化系列-用布林策略買五糧液能賺多少錢?|只要4秒鐘!用Python 獲取上證指數(shù)34年的歷史日線數(shù)據(jù)!
入門: 最全的零基礎(chǔ)學(xué)Python的問題 | 零基礎(chǔ)學(xué)了8個(gè)月的Python | 實(shí)戰(zhàn)項(xiàng)目 |學(xué)Python就是這條捷徑
干貨:爬取豆瓣短評,電影《后來的我們》 | 38年NBA最佳球員分析 | 從萬眾期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個(gè)海量小姐姐素描圖 |碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影
趣味:彈球游戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》游戲!
AI: 會(huì)做詩的機(jī)器人 | 給圖片上色 | 預(yù)測收入 | 碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影
小工具: Pdf轉(zhuǎn)Word,輕松搞定表格和水??! | 一鍵把html網(wǎng)頁保存為pdf!| 再見PDF提取收費(fèi)! | 用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換 | 制作一款釘釘?shù)蛢r(jià)機(jī)票提示器! |60行代碼做了一個(gè)語音壁紙切換器天天看小姐姐!|
