お知らせと画力修行用に開設しました。よろしくお願いします!
これが海外のサイトで見つけたコードです↓
ここから======================
-- Script for Crowd system
-- Set/unset preferred clips at times
-- flipperdesign
bips = #()
fn PerFrameFn crwd time =
(
IF (time == 1f) then
(
Print "Script active!"
)
-- set action at given frame
IF (time == 400f) then
(
format "building biped list\n"
bips = for obj in objects
where (classof obj == Biped_Object and
obj.controller.rootNode == obj) collect obj
for bip in bips do
(
bipCtrl = bip.controller
biped.addprefclip bipCtrl "Laugh" 100
Print("Frame 400 - addprefclip: Laugh")
)
bipCtrl = $Bip01.controller
Print ("Remaining Clip pref: " +(biped.numPrefClips bipCtrl) as string)
)
-- set action at given frame
IF (time == 700f) then
(
format "building biped list\n"
bips = for obj in objects
where (classof obj == Biped_Object and
obj.controller.rootNode == obj) collect obj
for bip in bips do
(
bipCtrl = bip.controller
biped.deleteprefclip bipCtrl "Laugh"
Print("Frame 700 - deleteprefclip: Laugh")
)
bipCtrl = $Bip01.controller
Print ("Remaining Clip pref: " +(biped.numPrefClips bipCtrl) as string)
)
)
ここまで=========================
群集の海外のサイト
スプリクトにコピペすれば使えます。
本当すばらしいコードだと思いました。これはフレームで違うモーションに変わる
ものですが、これを改造すれば、色々実現できると思いました。
このコードを改造したい所は、、
①全てのバイペットが同じタイミングでモーションが変わってしまうので個別で指定したい。
②トリガーを触ったらモーションを発動させるようにさせたい。
これを実現できたらかなりの事ができるきと思います。
ここから======================
-- Script for Crowd system
-- Set/unset preferred clips at times
-- flipperdesign
bips = #()
fn PerFrameFn crwd time =
(
IF (time == 1f) then
(
Print "Script active!"
)
-- set action at given frame
IF (time == 400f) then
(
format "building biped list\n"
bips = for obj in objects
where (classof obj == Biped_Object and
obj.controller.rootNode == obj) collect obj
for bip in bips do
(
bipCtrl = bip.controller
biped.addprefclip bipCtrl "Laugh" 100
Print("Frame 400 - addprefclip: Laugh")
)
bipCtrl = $Bip01.controller
Print ("Remaining Clip pref: " +(biped.numPrefClips bipCtrl) as string)
)
-- set action at given frame
IF (time == 700f) then
(
format "building biped list\n"
bips = for obj in objects
where (classof obj == Biped_Object and
obj.controller.rootNode == obj) collect obj
for bip in bips do
(
bipCtrl = bip.controller
biped.deleteprefclip bipCtrl "Laugh"
Print("Frame 700 - deleteprefclip: Laugh")
)
bipCtrl = $Bip01.controller
Print ("Remaining Clip pref: " +(biped.numPrefClips bipCtrl) as string)
)
)
ここまで=========================
群集の海外のサイト
スプリクトにコピペすれば使えます。
本当すばらしいコードだと思いました。これはフレームで違うモーションに変わる
ものですが、これを改造すれば、色々実現できると思いました。
このコードを改造したい所は、、
①全てのバイペットが同じタイミングでモーションが変わってしまうので個別で指定したい。
②トリガーを触ったらモーションを発動させるようにさせたい。
これを実現できたらかなりの事ができるきと思います。
PR
最近更新していませんでしたが、制作活動はしています。最近転職してmaxからmayaの
作業になりました。mayaか~きついな~と思っていましたが、なれるとmayaでもいいかって
感じになりました。
話を本題にもどしますが昔からmaxに付いている群衆システムに興味があり調べてましたが
日本語のサイトではリファレンス以上情報がありませんでした。海外のサイトとか
動画サイトで情報をあつめました。いままで色々なサイトの情報で救われてきたので
集めた情報も誰 かの役に立つかもしれなと思いまして情報の海に置いておきます。
maxの群集ですが新しく入った奴では無く何年もバージョンアップもしていない
こっそり存在している方です。
このあたりはリファレンスに載ってますので詳しい説明はしませんが
代理オブジェクトに命令を与えてアニメーションをさせるシステムです。
色々遊ぶと面白いです。
このシステムで面白いのはキャラスタジオに完全に統合されてる点です。
モーションフローを組んで共通モーションフロー割り当てれば
キャラスタジオのアニメーションファイルを使って群集アニメーションをしてくれます。
最近使ってませんが、、使い慣れたキャラスタでアニメーションをつけてれるのは
maxユーザーにとっては使いやすと思います。
今回は歩く、10度曲がる、45度曲がる、90度曲がる、、を左右のファイルを
足跡機能5分で作りました。
代理オブジェクトとキャラスタを同じ数複製しまて共通モーションフローと代理オブジェクト
を割り当てます。
単純な探索の思考の群集ならこれでできますが、、もっと高度な思考を持たせたかった
んだけど、その為にはスクリプトを書かないと実現できない、、突っ込んだ
リファレンスが何処にも無かった、、でも海外サイトに凄くよいサンプルコード見つけたので
次はこれを紹介します。
作業になりました。mayaか~きついな~と思っていましたが、なれるとmayaでもいいかって
感じになりました。
話を本題にもどしますが昔からmaxに付いている群衆システムに興味があり調べてましたが
日本語のサイトではリファレンス以上情報がありませんでした。海外のサイトとか
動画サイトで情報をあつめました。いままで色々なサイトの情報で救われてきたので
集めた情報も誰 かの役に立つかもしれなと思いまして情報の海に置いておきます。
maxの群集ですが新しく入った奴では無く何年もバージョンアップもしていない
こっそり存在している方です。
このあたりはリファレンスに載ってますので詳しい説明はしませんが
代理オブジェクトに命令を与えてアニメーションをさせるシステムです。
色々遊ぶと面白いです。
このシステムで面白いのはキャラスタジオに完全に統合されてる点です。
モーションフローを組んで共通モーションフロー割り当てれば
キャラスタジオのアニメーションファイルを使って群集アニメーションをしてくれます。
最近使ってませんが、、使い慣れたキャラスタでアニメーションをつけてれるのは
maxユーザーにとっては使いやすと思います。
今回は歩く、10度曲がる、45度曲がる、90度曲がる、、を左右のファイルを
足跡機能5分で作りました。
代理オブジェクトとキャラスタを同じ数複製しまて共通モーションフローと代理オブジェクト
を割り当てます。
単純な探索の思考の群集ならこれでできますが、、もっと高度な思考を持たせたかった
んだけど、その為にはスクリプトを書かないと実現できない、、突っ込んだ
リファレンスが何処にも無かった、、でも海外サイトに凄くよいサンプルコード見つけたので
次はこれを紹介します。