物理シミュレーションのループ処理

0


    服とか髪とかの重力系のシミュレーションをして動かしたとき、
    例えば走る場合など一つの短い動きを作って走りをループさせるにはボーンのアニメのキーフレームを
    コピー&ペーストすれば簡単ですが、物理シミュレーションなどで一連の動きだけの部分をループさせようとすると
    始点と終点でポリゴンの位置などが違って途切れ目が分かってしまいます。


    3dsmaxで言うと布地モディファイアでシミュレーションをしてループさせるのは
    シミュレーションをベイクしてキーフレームで始点のキーを終点にコピーで持ってきて終点前のキーを間引く
    感じで補間させれば出来ます。
    しかし布地のモディファイアの設定などは元に戻せなくなってしまい、やり直しが効かず、
    ベイクする処理もけっこう時間がかかったりします。


    そこで解決方法はモーファーで最初のオブジェクトの状態、例えば服や髪の状態をモーフターゲットとして
    登録して、シミュレーションの終わりでそのモーフになるようモーフ値100でキーを打って
    5フレーム前くらいはモーフ値0にすれば物理シミュレーションの修正もすぐ効くループ処理が完成です。


    しかし…、ループが基本のゲームとかのプロジェクトの制作で、
    ループ処理をたくさん作るときにモーフに登録するステップの手間もかかるし、
    髪の毛を房ごと分けて布地でやるとかの場合で布地モディファイアがたくさんあって全部にループ処理をする場合、
    モーフをインスタンスモディファイアにしてやろうとしてもモーフの個別登録が出来なかったりします。
    (房ごとオブジェクト分けてしまうのは、分けることで布地シミュのぶつかり干渉でシミュが止まってしまうのを防ぐのと
    分けるほうがシミュが早くていい感じのバラけで動いてくれる、ってのが理由です)


    布地のループ処理のためのモーフ登録は、Morph-o-matic(以下MOM)というプラグインが便利です。
    「現在の状態をキャプチャ」ですぐに現時刻0フレーム目などの形状のモーフを登録出来るのでよく使ってます。


    そしてMOMを髪の房に全部にまとめて選択して一括適用して、まとめて選択状態で
    「現在の状態をキャプチャ」しようとしても設定が個別なためパラメーター入力が表示されません。
    ちなみにMOMをインスタンスにしておけば出来るかというと、
    選択してるオブジェクトの「現在の状態をキャプチャ」しか出来ません。


    そこで選択しているオブジェクトに個別に「現在の状態をキャプチャ」するmaxscriptを作りました。


    --MOMadd
    --選択中の現在時間のオブジェクト状態をキャプチャしたモーフターゲットを追加
    if selection.count > 0 then(
    MySel=selection as array  
    for i=1 to MySel.count do  
    (
    select MySel[i]
    new_obj = instance MySel[i]
    maxOps.CollapseNode new_obj on
    MOM_MC_InsertTarget $.morphomatic[1] 2 new_obj
    delete new_obj
    deselect MySel[i]
    )
    ) else (messagebox "Select somthing")

     

     

    MOMのチュートリアルでMOM_MC_GetCurrentTarget $.morphomatic[1]を使って現在の状態をキャプチャ出来るっぽいですが、
    上手くいかなかったりmaxが落ちたりするのでオブジェクト自体をinstanceさせて登録する方法で代用してます。


    またまとめてオブジェクトを選択して
    これら現在の状態キャプチャしたターゲットをまとめて削除するスクリプトは以下です。

     

    --MOMdel
    --captchaしたモーフターゲットを削除
    if selection.count > 0 then(
    MySel=selection as array  
    for i=1 to MySel.count do  
    (
    select MySel[i]
    MOM_MC_RemoveTarget MySel[i].morphomatic[1] 2
    )
    ) else (messagebox "Select somthing")

     


    まとめて選択したオブジェクトのMOMのモーフの値を一括で0にするスクリプトは以下。


    --MOM0
    --値を0に設定
    if selection.count > 0 then(
    MySel=selection as array  
    for i=1 to MySel.count do  
    (
    MySel[i].morphomatic[1][2].value = 0
    )
    ) else (messagebox "Select somthing")

     


    まとめて選択したオブジェクトのMOMのモーフの値を一括で100にするスクリプトは以下。

     


    --MOM100
    --値を100に設定
    if selection.count > 0 then(
    MySel=selection as array  
    for i=1 to MySel.count do  
    (
    MySel[i].morphomatic[1][2].value = 100
    )
    ) else (messagebox "Select somthing")

     

     

    上記のスクリプトたちをボタン化してしまえばストレスフリーで作業出来ると思います。
    モーフ値は自由に書き換えたりスピナーとかで調整適用出来るように書き換えたりすると便利かもしれません。


    MOMのモディファイア自体のONOFFなどの操作は、
    zorbというフリーのmaxscriptでMOMの電球をまとめてON・OFF、MOMモディファイアの一括削除が出来るので
    そちらを使ってみてください。プラグイン系のモディファイアでもリストに表示される便利なスクリプトです。

     


    今回の記述ではMOMはモディファイアリストの一番上にある必要があります。
    MOMの上からFFDなどでさらに変形修正などを加える場合は注意が必要です。
    各場面Zorbで対応してください。


    使用にあたっては自己責任でお願いします。

     

     


    3dsmaxの複数のシーンファイルをまとめてbackburnerでレンダリング

    0


      前回mfrenderというmaxscriptを使ってシーンファイルをまとめてレンダリングする記事を書きましたが、
      どうしてもレンダーエレメンツでPencil+のラインが出力されませんでした。
      ObjectIDなどの標準機能の要素は出力されるんですが…。

       

      スクリプトを書き直すのにもレンダリング周りの記述はしたことなく、取り急ぎ他の方法を探していた所、
      Autodesk製品で標準で付いてくるbackburnerでも1台のPCで複数ファイルのレンダリングが出来るとわかりすぐに試してみました。

       

      backburnerというと複数PCでネットワークレンダリングとかのイメージで個人のデスクトップPCで出来ないと
      思い込んでたのですがそんなことはなかったようです。

       

      使い方は以下を参照。

       

      単一のPCを使用した、Backburner の設定方法 | 3ds Max | Autodesk Knowledge Network
      https://knowledge.autodesk.com/ja/support/3ds-max/troubleshooting/caas/sfdcarticles/sfdcarticles/kA230000000tzVZ.html

       

      サーバーの設定とか色々難しいこともなくアプリを起動する感じですぐ使えます。

       

      今回backburner 2016を使いましたが、現在使用中の3dsmax2011からジョブを投げても問題なく使えました。

       

      起動順は、マネージャー、サーバー、3dsmax、モニター、といった感じです。

       

      複数のファイルを順番に開いてレンダリングボタン→ジョブで追加していきます。
      1個1個.maxのシーンファイルを3dsmaxで開いてレンダリングボタンを押してジョブに送るという作業が必要なんですね^^;
      (エクスプローラから.maxをD&Dでまとめて追加出来ないものだろうか…)

       

      3dsmaxでレンダリングボタンを押して出て来る[ネットワーク ジョブの割り当て]ダイアログでの
      [マネージャ名または IP アドレスを入力]領域では自分のPCでレンダリングするので
      localhost
      と文字を打ってあげれば大丈夫です。


      サブミットボタンを押してレンダリングを開始して順番に.maxのシーンファイルがレンダリングされていきます。
      モニターで接続ボタンを押してレンダリング中のファイルの進行状況などを確認出来ます。


      注意としてはbackburnerが自動でファイルのオープンしてる最中のウィンドウがチカチカするときに
      変に3dsmaxを最小化したりすると落ちたりしたので、
      レンダリング中は安静に放置するかフォトショなど別のツールで仕事や作業をしてるほうが無難です。

       

       

      現在は3dsmax2011からそろそろ2017か2018の最新バージョンに引っ越しするようプラグインの選定をしています。
      買ったプラグインで2011~2016とかでしか使えないのが多くて中々移行しずらく、
      また無償アップグレードというのも無く最新maxで使える新しいバージョンのライセンスを買ってくださいというのが多いです。
      最近は標準機能をしっかりリファレンスを読めばかなり使えるとわかったので買う予定のプラグインを絞っています。

       

      とりあえずこれだけは譲れないなというプラグインは、
      Pencil+、Morph-o-matic、くらいですかね(笑

      Morph-o-maticも欲しい機能部分のスクリプトを書けば必要ないかもです。

       

      色々とお金がかかります^^;

       


      3dsmaxのシーンファイルが破損してしまったら慌てず…

      0

         

        今日の制作中に原因不明でPCが落ちてしまい、作業中のmaxファイルが破損してしまいました。

         

        3dsmaxで作業してるときはかなりの頻度で上書き保存はしています。

        maxファイルが壊れることは3dsmax自体が落ちてしまう時にもあるため、

        いざ壊れたときのために自分はある程度の間隔でフォルダー上で直にmaxファイルを

        そのままctrl+マウス左ドラッグで保険で複製(ファイル名 - コピー)して、

        自動バックアップ機能に関しては3dsmaxの挙動が度々遅くなり集中しにくいという点で

        オフにしています。

         

        そんな中でフォルダでのコピーもまったくしていない最中に落ちて壊れてしまったら…。

        もう絶望的かと思ったのですが、、

        解決方法

        ファイルの自動保存とバックアップの設定方法

         

        ありました!^^

        ここの「保存時にバックアップを作成」にチェックが入っていれば(デフォルトで多分チェックされているはず)、

         

        C:/users/<ユーザ名>/my documents/3dsmax/autoback/

        の中に「MaxBack.bak」というファイルで一番最後に保存した状態のmaxファイルのバックアップが残っていて、

        「MaxBack.bak」のファイルを自分の作業しているフォルダにコピー&ペーストして、

        「MaxBack.bak」→「MaxBack.max」に拡張子を変えてあげます。

         

        これを再び開くと以前の最終保存した所まで作業した状態で再開出来ます。

         

        というわけで慌ててやり直しで新しくmaxファイル作ってを保存を実行するともうダメかもしれません。

        けっこう作業したのに全部オシャカ…ってなって真っ青になったときは慌てて作業して元の状態まで

        やり直すのではなく、まず最初に「MaxBack.bak」を確認して復元するのが最善の策です。

         

        PCの寿命なのか…HDD交換も試してダメな場合は買い換えるかもしれないです(*_*)

         

         

         

         


        3dsmaxの複数のシーンファイルをまとめて自動でレンダリング

        0

           

          3dsmaxでアニメーションをレンダリングするとき、複数のシーンファイル(.max)を食事やお風呂や寝る時に

          まとめてレンダリング(バッチレンダリング)出来たらなぁって思いますよね。

           

          「3dsmax バッチレンダリング」で調べると一つのファイル内の複数のカメラからのレンダリングを

          バッチレンダリング出来る機能は見つかるのですが、

          シーンファイル(.max)自体を連続でレンダリングする機能は見当たりません。

           

          1つのファイルがレンダリングに2時間かかったりすると2時間おきにファイルを開いてレンダリング、

          また2時間後に次のファイルを開いてレンダリング…というようなことは夜寝てるときに全部自動でやってほしい、、

           

          というわけでそれを解決するスクリプトがこちら。

          http://www.scriptspot.com/3ds-max/scripts/mfrender

           

          mfrenderというmaxscriptですが、すごくシンプルで使い方はこのmfrender_0.msファイルを3dsmaxの画面に

          ドラッグアンドドロップ、開いたGUIの「Browse for file」からファイルを複数登録して「Render all files」ボタンを押すだけ。

           

          登録したファイルが順番にレンダリングされ、各.maxファイルで自分で設定した出力設定通りに

          連番画像なども書き出されていきます。

          夜寝る前にレンダリングを開始して朝起きれば1つ2時間レンダリングかかる3,4個のシーンファイルが

          ぐっすり寝てる間に全部レンダリング完了です。

          AfterEffectsなら標準で複数.aepファイルを登録してバッチレンダリングが出来るのですが、

          3dsmaxは標準機能で見当たらずちょっと引っかかりました^^;

           

           

          他にも、標準機能でレンダーエレメンツで欲しい要素別の画像ファイルを出力することも出来ますが、

          例えば1つのシーンファイルで、キャラクターのパーツの表示非表示を切り替えてレンダリングしたいときなんかは

          表示状態をそれぞれ分けたシーンファイルを複数作成してこのmfrenderで一気にシーンファイルをレンダリングして

          終わったら分けて作ったシーンファイルを削除(HDD容量節約)、というやり方もありですね。

           

          1つのシーンファイルでスクリプトでオブジェクト名とか取得して表示非表示を切り替えてレンダリング…とかも

          アリかもしれませんが、作っていく最中にファイル名やファイル構成が変わっていくと紛らわしいので、

          前述通り表示状態+出力先画像名設定をしてシーンファイルを別名で保存を繰り返して分ける作業をしています。

          ……しかしこれこそ標準機能のバッチレンダリングでシーン状態を保存を複数作って一気にやるべき案件かもしれないので

          少しまだ調べてみます。(昔からシーン状態を保存はけっこうおかしな挙動って先輩方のつぶやきがありますが…)

           

          とりあえずこういう一つ一つの自動で出来るはずって操作を片っ端から徹底して自動化していこうと思います。

           

           

           


          アニメーションをブラシで描くように作成出来るソフト「Mosketch」

          0

             

            Mosketch

            http://www.mokastudio.com/

             

             

            最近見つけた面白いソフトです。キャラクターの3Dアニメーションを作成するときはXYZの方向にボーンを動かしたり

            回転させたりしてポーズを作り、キーフレームを打ってポーズをつなげてアニメーションを作っていくと思うのですが、

            このソフトはブラシで線を描くようになぞるとその流れに従ってポーズをサクッと作成してアニメーションを作れるという

            素早くて直感的で面白いものです。

             

            言葉だと説明しづらいのですが以下の動画を見てもらえばすぐわかると思います。

             

            Mosketch from Moka Studio on Vimeo.

             

             

            これで作ったアニメーションはFBXファイルで他の3Dソフトへすぐ持っていけます。

             

            物と物の位置関係を見ながら作る細かい動作のシーンより、

            主にアクション系のダイナミックな激しい動作のシーンのアニメを作るときに重宝しそうです。

            現在はベータ版で無料で使えます。

             

            動作もとても軽いのでノートPCやタブレットPCなんかに入れて喫茶店で優雅にモーション作りなんか良さそうですね^^

             

            触ってみた感じ、心地よくストレスフリーで「動き」だけに集中して出来る感じで

            これからもアップデートを見ながらいじって行こうかと思います。

             

            現在150人以上が使ってるとHPに出てますが、本当に面白いのでもっと使う人が増えて

            開発が盛り上がることを期待します。

             

             

             


            服のアニメーション

            0

               

               

               

               

               

              この前セールで買ったMarvelousDesignerを使って服のアニメーションをテストしてました。

              アバター(キャラ)と服は標準のものです。

               

              一番気になってたのは服のアニメーションをシミュレートする機能で、

              チュートリアルは読まず極力やりたい部分を動画だけ見てダイレクトでやり始めてます(笑

              なので服飾メーカー的な機能の部分はノータッチで記事を書いて少しトンチンカンな部分があるのでご注意を。

               

               

              実際に制作しているアニメの服ではスキンを適用した服を動かして、それにシェイプでシワ用のリグを入れ込んで全部手付け、

              というやり方も考えたのですが、どうせならシミュレーションでも試してみたいですよね。

              シワを含めたアニメーションをうまく付けるために3dsmaxの布地シミュレーションでも良さそうですが、

              使い勝手と挙動とシワの精密さを比べた時MarvelousDesignerのほうが良さそうだったので

              これで作ったシミュレーションをmaxに渡してシワアニメが出来ないか調査中です。

               

              アニメーションはOBJシーケンス、MDDキャッシュ(maya/3dsmax)が良さそうで、

              別ソフトで作ってMarvelousDesignerにインポートした服もアニメのシミュレーションが使えるか、

              使えない場合の対処法なども見ていこうかと思います。

               

               


              3D素材コンポジット

              0

                 

                3Dで作ったキャラと背景を個別でレンダリングして色合いを調整して合成するテストです。

                 

                 

                 

                 

                暗い背景はけっこう色持ち上げていじっても画像荒れないですね…。

                キャラを明るく立たせたいという方向性を持って合成し始めて、思いっきり明るさを上げてハッキリ絵を出してみました。

                 

                背景とキャラクターを一緒にレンダリングすると落ち影とかリアリティが出るのですが、

                その分重くてキャラクターと背景の色調整もやりにくく(マスク素材など出せば別です)、

                レンダリング時間も多くなるので動き多めのキャラと止め多めの背景を分けて出力して

                PhotoshopやAfterEffectsで整える感じですね。

                …とは言え今回キャラ動かしてませんが^^;

                 

                トゥーンシェイドでの2Dアニメは、

                 

                ・1枚背景絵

                ・連番のキャラ素材

                ・マットシャドウでの影素材

                 

                が基本的なコンポジット素材として分けてエコ制作してます。

                 

                3Dから出力された各素材で影の方向から色合いまでをソフト上で変更をスピーディーに可能にする

                Fusion?やNuke?などの合成ソフトも便利そうで試してみたいです。

                その他時代はリアルタイムで絵を作っていくほうが早くなってきそうですね。

                UnityやUEは入れてあるのですが中々作業で使う機会が無く_| ̄|○

                 

                近頃AIで線画に色をいい感じに塗ったりする実験をしてる方などを見て、

                部分的にでも3Dの制作工程の情報までうまく噛み合わせて効率化していくと

                モデリングもモーションもセットアップもマテリアルも、完成までの時間が恐ろしく短縮されていきそうです。

                DTM界隈でも各メーカーさんなどが機械学習と謳ったものを入り込ませた成果物を作って来てワクワクしてるのですが、

                3Dにもその波はじわじわ来る気がします。

                 

                AIとは程遠いですが過去に自分もPhotoshop Scriptでアンチエイリアス有りの線画への色付け研究で

                セルの閉領域に色情報をプロット、または閉領域がたくさんの部分はバッと目印線だけ引いてあとはスクリプトで一気に塗る、

                というところまでは作ったのですが、今ではクリスタが優秀だったりアンチエイリアスに対しても綺麗に塗れるので

                使う機会が無いです。

                機械学習で色塗りがまだ不完全でも途中まで塗ってもらい、あとは自分で修正して仕上げるのは全然有りだと思いますね。

                完全に全てやってもらうというより、

                ヒントの色をプロットして与えるくらいの手動があったほうが生産面において早くてコスパ良いのかもしれません。

                 

                時代を見ながら制作工程を考察しつつ、おいしい所を取っていくスタイルで行きたいです。

                 

                 

                2016年もあと僅か、夜も更けてきたのでそろそろ寝ます。

                 

                良いお年を(*‘ω‘ *)

                 

                 

                 


                破片アニメ2

                0

                   

                   

                  前作った破片に動きを加えてみました。

                  マトリックスのような感じで止まってドリーしながら、

                  何かしらの力で破片がブルブルする状況になる感じの演出です。

                  制作中のアニメの一つのシーンでも使います。

                   

                  一度コツをつかむと色々アイデアが湧いて楽しいですね^^

                   

                   


                  セルエフェクト煙

                  0

                     

                     

                    またまた習作3Dエフェクトシリーズです。

                     

                    スーパースプレーのパーティクルの発生する速さがどうしてもゆっくり出来ず、

                    AfterEffectsのタイムリマップで無理やり引き伸ばしました。

                    3コマ打ちでカクカクな感じになってしまいましたが…撮影でぼかし処理が加わってタイム系のエフェクトなどで

                    OLして重ねていけば大丈夫な気がします。

                    あるいは只今セール中らしいお値段張るtwixtorでコマを埋めてぬるぬるさせてタイムリマップするとか…。

                     

                    スペースワープで渦とか使っていい感じに気流を移動してあげるといい感じです。

                     

                    煙、難易度がぐっと上がって少々苦戦しました^^;

                     

                     


                    破片散らばり

                    0

                       

                       

                       

                      ベースオブジェクトを作ってスーパースプレーでいい感じに散らばす、

                      ココらへんの基本を掴むと色々出来ますね。

                       

                      スペースワープにバインドでスーパースプレーに重力を加えるってのもリアリティが増します。

                       

                      変化がわかりにくいですが、作画のブレを与えるため

                      ベースオブジェクトにノイズモディファイアを付けてノイズをアニメートさせています。

                      その結果、瓦礫オブジェクトを作るDebrisMakerでエッジが二重になってるのをノイズでぐちゃらせられて

                      Pencil+の線画がいい感じに瓦礫が細かく欠けた感じのギミックを出してくれて一石二鳥になりました。

                       

                      AEでのタイムリマップでのタメツメも早い部分は1コマ打ちして散る所で2コマ打ちくらいにしてあげると

                      それっぽくなりました。

                       

                      ちょっとこの状態からまだ試したいことがあって、オブジェクトとアニメをこのまま集約?というか

                      パーティクルシステムではなくして、全部の瓦礫をデタッチ(スクリプト)して

                      以前作った作画化スクリプトを適用したいんですよね。

                       

                      また後日。

                       

                       

                       

                       

                       

                       


                      | 1/3PAGES | >>

                      calendar

                      S M T W T F S
                          123
                      45678910
                      11121314151617
                      18192021222324
                      252627282930 
                      << June 2017 >>

                      selected entries

                      categories

                      archives

                      recent comment

                      links

                      profile

                      search this site.

                      others

                      mobile

                      qrcode

                      powered

                      無料ブログ作成サービス JUGEM