亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Maya > 正文

Maya粒子替換實現射箭效果圖文教程

2020-10-20 19:07:36
字體:
來源:轉載
供稿:網友

由于最近想做一個用粒子替換實現射箭的特效,一時摸不著頭腦。粒子替換實現射箭的效果的最大問題在于,如果用粒子的速度velocity作為instancer的Aim Direction,那么一旦粒子與地面產生碰撞(這里我們碰撞屬性中的摩擦力Friciton設置為1,彈力Resilience設置為0),勢必導致速度瞬時變為0,使得箭無法插在地面上,而是一碰到地面就倒下。

于是網上找了一下相關教程特別是G_no_mon的在線教程給了我很多提示。國內大部分相關教程也是翻譯的那個版本,該教程提供的解決方案是使用了一個JMS的腳本,先是通過記錄粒子的運動軌跡生成若干條曲線,然后將曲線上的的末端的一些點給刪除了(也就是粒子碰撞地面后生成的軌跡點),最后讓劍沿著這些曲線做"路徑動畫"。從而實現亂箭射在地面上(或是其他物體)的效果。研究過程中覺得用JMS腳本來一遍一遍的計算生成曲線有些浪費時間,而且對于我們這些MEL初學者來說,還的另外花些時間研究下JSM(當然了,學習是必須的)。

只是我從原來的教程中得到些啟發覺得可以用更為簡單的方法去實現這一射箭的效果?,F講一下我的大概想法,既然我們不能直接用velocity作為instancer的Aim Direction,那么我們可以自定義一個變量用來存儲粒子在碰撞前一幀,速度還沒變為0的那個速度值,用該矢量速度值作為箭插在物體上的方向。為了完整起見,我把整個制作過程詳細介紹一下:1.先制作一只簡單的箭

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

 2.制作一個地面,和一個用來發射箭的面

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

3.選擇用來發射箭的那個面,通過Particles Emit form object,從該面上發射粒子

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

4.打開粒子發射器屬性:emitter type :surfacerate(particles/sec): 5speed : 20speed random: 4

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

5.給粒子加個重力場

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

6.選中粒子和地面,打開菜單命令particles make collide 后面的屬性對話框,將彈力resilience設置為0,摩擦力friction設置為1,點擊create生成碰撞事件

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

7.執行play場景,看到粒子與地面產生正確的碰撞,并停止在地面上(如果地面凹凸不平,會有滑動,不妨,這個我們稍后解決)

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

8.先選弓箭再選粒子,打開菜單命令particles instancer

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

9.打開粒子屬性中的instancer一欄,勾啟allow all data types,aimdirection設置velocity,此時播放我們就會發現劍一射中就立馬"爬"下了

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

10.解決這一問題需要添加一個自定義屬性,在粒子屬性窗口中add dynamic attributes一欄中,點擊general,添加一個名為dirpp的每粒子屬性,類型為vector矢量(此處一點要注意)

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

 11.右擊dirpp屬性,添加runtime before dynamics表達式:float $speed = mag(arrow_particleshape.velocity);if($speed != 0){arrow_particleshape.dirpp = arrow_particleshape.velocity;}這里詳細解釋一下,我用$speed來存儲粒子的速率(速度是個矢量,是三維的,速率是個標量,是一維的,函數mag()正是將三維的矢量計算得到一個相應的一維標量),只要粒子在運動,速率不為零,那么我自定義的dirpp將不停的更新為粒子的速率,而一旦碰撞產生,速度為零,那么我的dirpp就不會更新,所存儲的是粒子停止之前一幀的那個速率,并且之后也將一直存儲這個值,這樣我們就可以用這個dirpp作為instancer的aimdirection了

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

12. 修改粒子屬性面板中instancer一欄中aim direction 為 dirpp,在播放一下看看,箭就不會射中倒下了

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

13. 接下來要解決的問題就是,即便摩擦力為1,彈力為0了,箭還是會在地面上滑動這里我們為粒子添加個runtime after aynamics的表達式:float $speed = mag(arrow_particleshape.velocity);if($speed < 4){arrow_particleshape.velocity = <<0,0,0;}這樣,當粒子在碰撞時速度小于一定值后我們將其速率強行限制為<<0,0,0,注意,你也可以試試其他的數值不一定用4,但數值不宜過小,否則箭在射出的一瞬間會有個抖動。

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

14. 這是我們發現即使箭的速率為零了,但還是會在地面上滑動,我想到的解決方法還是和上面的差不多,用一個自定義的pospp來存儲碰撞產生前一幀的position,以此來作為箭插入地面后的永久坐標選中粒子,添加自定義的每粒子屬性pospp,類型還是vector(矢量)

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

15. 右擊pospp添加runtime before daynamics的表達式,這里我直接在原先的表達式的做些添加就可以了,修改后如下float $speed = mag(arrow_particleshape.velocity);if($speed != 0){arrow_particleshape.dirpp = arrow_particleshape.velocity;arrow_particleshape.pospp = arrow_particleshape.position;}else{arrow_particleshape.position = arrow_particleshape.pospp;}后果有朋友看不懂,我再解釋一下其意思:

每過一幀,只要粒子速度不為零,我就將粒子的坐標值position賦給pospp,一旦產生碰撞,速度為零了,那么也就停止了position賦值給pospp這一操作,我的pospp存儲的值是粒子停止前一幀所處的位置,接下來,我們反過來將這一固定了的值賦給position,以防止例子因為重力場的作用會出現position不停地在一個范圍內抖動的結果。

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

16.至此,整個過程也就差不多完成了,你也可以再為粒子添加一些擾亂場,不用擔心箭射到地面出現抖動情況了

Maya粒子替換實現射箭效果 武林網 MAYA角色動畫教程

ok!教程結束,希望本教程對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看网址| 亚洲日本中文字幕免费在线不卡| 国产精品国产三级国产专播精品人| 国产成人久久精品| 成人黄色在线观看| 中文国产成人精品久久一| 日韩精品极品在线观看| 最近2019年好看中文字幕视频| 国产精品免费小视频| 亚洲春色另类小说| 亚洲欧洲在线看| 日韩精品免费综合视频在线播放| 亚洲激情电影中文字幕| 亚洲图片欧洲图片av| 亚洲精品之草原avav久久| 欧美激情视频在线观看| 欧洲午夜精品久久久| 亚洲va久久久噜噜噜久久天堂| 国产有码一区二区| 国产亚洲精品成人av久久ww| 国产精品一区二区三区在线播放| 久久久国产一区| 精品国产一区二区三区久久久狼| 久久久久久12| 国产九九精品视频| 亚洲精品免费网站| 亚洲欧美国产一本综合首页| 深夜精品寂寞黄网站在线观看| 91美女福利视频高清| 日韩美女视频免费看| www.日韩不卡电影av| 国产精品av在线| 欧美做受高潮电影o| 国产69精品久久久久久| 欧美电影免费看| 日韩中文字幕视频在线| 全球成人中文在线| 亚洲国产精品美女| 97精品一区二区三区| 久久人人爽亚洲精品天堂| 国产精品久久久久久久久久尿| 欧美国产高跟鞋裸体秀xxxhd| 亚洲高清福利视频| 欧美性xxxx极品高清hd直播| 5252色成人免费视频| 欧美丝袜一区二区三区| 欧美激情精品久久久久久免费印度| 日韩国产在线看| 亚洲新中文字幕| 久久久国产精品亚洲一区| 亚洲国产成人在线播放| 中文字幕亚洲第一| 日本电影亚洲天堂| 国产精品一区av| 精品久久久国产精品999| 成人精品视频在线| 国产精品久久久久久网站| 日本道色综合久久影院| 国产欧美一区二区三区在线| 亚洲va国产va天堂va久久| 色婷婷av一区二区三区在线观看| 色偷偷偷亚洲综合网另类| 欧美国产在线电影| 欧美亚洲一级片| 欧美大片大片在线播放| 欧美一级免费视频| 68精品久久久久久欧美| 欧美中文字幕第一页| 92看片淫黄大片看国产片| 亚洲欧美日韩国产精品| 欧美野外wwwxxx| 久久精品成人动漫| 欧美人在线观看| 久久精品久久精品亚洲人| 96国产粉嫩美女| 亚洲国产精品一区二区久| 国产精品欧美激情| 欧美自拍大量在线观看| 久久免费视频在线观看| 欧美性猛交xxxx免费看漫画| 亚洲在线免费观看| 国产欧美日韩精品丝袜高跟鞋| 97精品一区二区视频在线观看| 国产乱人伦真实精品视频| 久久久99免费视频| 亚洲天天在线日亚洲洲精| 欧美日韩国产影院| 91日韩在线视频| 日韩av在线免费看| 91av中文字幕| 国产精品网站入口| 亚洲成人在线视频播放| 国产成人福利夜色影视| 欧美性猛交xxxx黑人| 国产在线久久久| 色哟哟入口国产精品| 国产精品成人v| 色婷婷av一区二区三区在线观看| 欧美大成色www永久网站婷| 日韩福利视频在线观看| 欧美激情国产日韩精品一区18| 57pao成人永久免费视频| 成人淫片在线看| 久久精品国产99国产精品澳门| 国产一区二区日韩精品欧美精品| 久久成年人视频| 国产精品视频免费在线| 国产成人在线一区二区| 精品亚洲一区二区三区在线播放| 亚洲自拍欧美另类| 国产精品久久久久久久美男| 国产精品爽爽ⅴa在线观看| 欧美野外猛男的大粗鳮| 亚洲欧洲自拍偷拍| 久久99亚洲精品| 热99久久精品| 岛国视频午夜一区免费在线观看| 久久久久久久一区二区三区| 欧美一区深夜视频| 亚洲成人免费在线视频| 日韩欧美在线中文字幕| 日韩毛片在线看| 中文字幕亚洲色图| 中文字幕精品www乱入免费视频| 国产精品美女呻吟| 国产福利精品av综合导导航| 亚洲欧美日本伦理| 亚洲午夜av久久乱码| 草民午夜欧美限制a级福利片| 美女性感视频久久久| 精品国产一区二区三区久久久| 亚洲偷熟乱区亚洲香蕉av| 国产69精品久久久久9| 91精品国产乱码久久久久久久久| 色阁综合伊人av| 国产在线视频2019最新视频| 亚洲美女在线视频| 亚洲九九九在线观看| 奇米4444一区二区三区| 51色欧美片视频在线观看| 中日韩午夜理伦电影免费| 久久久久久成人| 日韩av在线天堂网| 国产做受69高潮| 国产美女扒开尿口久久久| 岛国av午夜精品| 色777狠狠综合秋免鲁丝| 欧美猛交免费看| 国产日韩在线视频| 狠狠色狠狠色综合日日五| 日本a级片电影一区二区| 91国产精品电影| 国产精品免费一区二区三区都可以| 夜夜狂射影院欧美极品| 欧美日韩爱爱视频| 国产精品pans私拍| 中国人与牲禽动交精品| 丁香五六月婷婷久久激情| 久久免费精品日本久久中文字幕| 日韩视频在线观看免费| 亚洲嫩模很污视频| 成人性生交xxxxx网站| 国产精品亚洲网站| 国产自产女人91一区在线观看|