日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ShockWave 3D 制作系列教程之七

人物控制與關(guān)鍵幀
本例主要介紹使用DIRECTOR播放關(guān)鍵幀的技巧 。由于本人對3DSMAX的CHATACTOR STUDIO并不熟悉,故當(dāng)中的人物動作全使用關(guān)鍵幀控制 。
制作步驟:
1、使用3DMAX輸入一個小人和地面,并在人物的腳部添加一個虛擬物體,具體如下圖所示

2、在3DMAX里制作人物動作,包括行走、跳和揮錘然后輸出W3D文件并導(dǎo)入DIRECTOR
3、在DIRECTOR中把W3D演員放到舞臺上,并單擊右鍵為其添加SCRIPT,如下圖所示:
4、SCRIPT內(nèi)容如下:
property pscene,modellist
property keyisdown,keyofjump,keyofhit
on beginsprite me
--定義場景
pscene=member("scene")
--重設(shè)場景
pscene.resetworld()
--定義一個變量其初始值,此變量主要判斷是否按鍵
keyisdown=false
--把小人的各部分名稱加入數(shù)組
modellist=["body","hand1","hand2","leg1","leg2","hammer"]
--對小人的各部分進(jìn)行處理
repeat with i=1 to 6
--各部分都暫停播放
pscene.model(modellist[i]).keyframePlayer.pause()
--把每個部件都以子物體的方式加到虛擬物體上
pscene.model("manbox").addchild(pscene.model(modellist[i]))
end repeat
end
on exitframe me
--暫停播放行走動畫
if pscene.model("hand1").keyframePlayer.currentTime<50 and keyisdown=false then
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.pause()
end repeat
end if
--暫停播放跳躍動畫
if pscene.model("hand1").keyframePlayer.currentTime<700 and keyofjump=true then
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.pause()
end repeat
keyofjump=false
end if
--播放跳躍動畫
if keypressed("z") and keyofjump=false then
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.play(modellist[i] & "-Key",1, 667, 1166,1.0000)
end repeat
keyisdown=true
keyofjump=true
end if
--停止播放揮錘動畫
if pscene.model("hand1").keyframePlayer.currentTime<1200 and keyofhit=true then
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.pause()
end repeat
keyofhit=false
end if
--播放揮錘動畫
if keypressed("x") and keyofhit=false then
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.play(modellist[i] & "-Key",1, 1167, 1500,1.0000)
end repeat
keyisdown=true
keyofhit=true
end if
--播放行走動畫
if keypressed(126) or keypressed(125) then
walk
end if
end
--按鍵離開時
on keyup me
keyisdown=false
end
--行走
on walk
if keyisdown=false then
--播放行走的關(guān)鍵幀
repeat with i=1 to 6
pscene.model(modellist[i]).keyframePlayer.play(modellist[i] & "-Key",1, 0, 666,1.0000)
end repeat
keyisdown=true
end if
end

    推薦閱讀