ミニマル制作

0


    ミニマル・ミュージック - Wikipedia

    これは短い同じメロディーフレーズを繰り返してその短いフレーズの尺内だけに
    様々な要素のオケを足していくようなイメージです。
    しかしながらその単純な組合せ、仕組みでありながら複雑な印象や快感を与えていくコスパ最強の手法と言えます。


    最近思いついてるのが音楽以外にも絵や3Dでミニマルな制作を突き詰めると、
    「一度した作業は二度としない」という段階まで行き着きます。


    昔アニメーションの再利用の記事を書いたのと似てるのですが、
    プログラミングでツールを作り込んでいく感覚に近いものです。


    システムがあって要素を足して強化していく、常に頭を働かせますがこれが有利に働いていくと思います。


    現状でワンボタンでアニメーションがぽんっと出来上がるってのは難しいですが、
    部品ごとに「一度した作業をなるべくしない」仕組みを入れ込んでいきます。


    例えばアニメキャラの目。3dsmaxの場合。


    基本的なベースのまつ毛と白目と瞳を作り、
    まつ毛の喜怒哀楽などの感情で変形する基本モーフを作っていきます。
    キャラごとつり目やタレ目などのキャラ別モーフを作っていきます。
    まつ毛のディテールなどポリゴンの追加もポリゴン編集モディファイアでやります。
    さらに大きく変形を加える場合はFFDでパターンを作っていきます。
    要素を足す方向で行けば作品ごとにも飽きずに使いまわしていけます。
    あとは組合せてバリエーションが増えていく形です。


    これで3dsmax上でアニメキャラの目ジェネレーターが出来上がりました。


    モーフアニメも標準機能のアニメーションの保存とロードが利用出来るので、
    目のアニメライブラリが出来ていきます。
    (そこのシンプルな管理が重要ですが)

    口も眉毛もマスク型のものであれば同様な仕組みと手順でバリエーションを増やして
    ジェネレーター化出来ます。


    表情にも身体の動きなどにもパターンが無限にあるように見えて、
    実は人は基本的な繰り返しのパターンが少数あって
    それにアレンジを加える、要素が加算されていくということに気づきます。


    アイデアもそうですが、
    全ては組み合せで出来ている、というベースで作っていくと上手くいきそうです。


    次の課題は、
    「最低限の組合せの法則を体系化して、すぐ表現したいことを引っ張ってこられるようまとめていく」
    とします。


    組合せはどこまであるのか、どういう範囲でまとめると最適なのか、
    底が見えてこないと手付かずになりがちな部分を考えてまとめていきます。
    要領よく、早見表やあんちょこを作る感じですね。


    例えば目なら感情のパターンやシチュエーションを想定して、
    最低限の基本感情とその要素での最低限の組合せを相互関係があるマップにする感じです。
    3Dのアニメーション付けで長年の作業で熟練した人ほど、ものすごい少ないキーフレームで感情表現するアニメーションを
    作ってしまうというのはプリキュアの3DCG解説動画で知りました。
    まさにミニマル制作だなぁと感心します。


    抽象的な文章になってしまいましたが、基本的に複雑に見えるものでも
    最小限の要素の最小限の組合せで複雑に魅せられる、ここを目指そうという記事でした^^

     

     


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

    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でコマを埋めてぬるぬるさせてタイムリマップするとか…。

                       

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

                       

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

                       

                       


                      | 1/3PAGES | >>

                      calendar

                      S M T W T F S
                        12345
                      6789101112
                      13141516171819
                      20212223242526
                      2728293031  
                      << August 2017 >>

                      selected entries

                      categories

                      archives

                      recent comment

                      links

                      profile

                      search this site.

                      others

                      mobile

                      qrcode

                      powered

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