「Maya」カテゴリーアーカイブ

アニメーション基礎(4)

ボーンにアニメーションを設定します.

この際,ボーンの動かし方には大きくわけて2種類ありますが,今回はボーンの根元から先に向かって動かしていくForward Kinematics(以下FK)である

  1. 2つめのボーンにY軸回転のアニメーションを作成する
  2. 1フレーム目は0度,10フレーム目で-25度,20フレーム目で0度,30フーレム目で25度,40フレーム目で0度を設定する
    fish6
  3. 0フレーム目と40フレーム目のキー(下図の1など)を選択し,リニアボタン(下図の2)を1度押すか,ハンドルを使い図のように直線に変更する.これで繰り返したときの不自然な動きが減る
    fish7
  4. 3本目のボーンにも同じアニメーションを設定すること.
  5. 動画のようなアニメーションになるはずです.ポイントとして,1本目のボーンはまだ動かさない
  6. つづいて,グラフエディタを表示させ,2本目のボーンを選択します
  7. 回転Yを選択し,グラフエディタのメニューバーから,カーブ>ポストインフィニティ>サイクル を選択します.グラフには変化があらわれません
    fish8
  8. 再生範囲を200までにし,再生します
    fish9
  9. 2本目のボーンのアニメーションが200フレームまで繰り返されています.こうした繰り返すアニメーションのことを「サイクルアニメーション」と呼びます.
  10. では3番目のボーンも同じようにサイクルアニメーションの設定をしてください.
  11. 次に,最初の骨を選択し泳いで前へ進むアニメーションを作成します
    fish15
  12. 魚が泳ぐようになりました

つづく

アニメーション基礎(3)

今日はボーンをいれてみましょう.

  1. まずこちらのファイルをダウンロードする(右クリックでリンク先を保存,などで)
  2. Mayaに移動し,ファイル>読み込み でダウンロードしたファイルを読み込む
  3. 画面上に魚の3Dモデルが表示される
  4. メニューセットをリギングに,シェルフもリギングにする※リギングはMaya2016で表示される
    fish1
  5. ボーンを作成してもよく見えるように,各ビューのメニューから,シェーディング>X線表示 を選択
    xray
  6. ジョイント作成ボタンをクリックし,ボーンを作成できる状態にする
    fish1
  7. 魚に骨を描きます.口の上あたりからクリックし,次に胴体の真ん中で,次に尾の付け根で,最後に尾の先でクリックする.この図では左から右にクリックしている
    fish2
  8. 次に,ボーンと3Dモデルと関連づけるバインドという作業をおこなう.ます.まず最初のボーンを選択(下図の1)するとボーン全てが選択する.そのままShiftキーを押しながら,魚の3Dモデルを選択(下図の2)するfish3
  9. 最後にシェルフのスキンのバインド(上図の3)をクリックする
  10. 見た目は何も変化がない.ところが選択を解除すると,ボーンに色がついている.これでバインドができたことを確認できる(下図)
    fish5
  11. 口の方向から2番目のボーンを選択し,Y軸回転を-25度くらいにしてみること
    fish4
  12. 魚の体がボーンにつれられて曲がりましす
  13. このように,3Dモデルとボーンを関連づけることで,有機的な動きをさせることが可能になる

(つづく

アニメーション基礎(2)

アニメーションの細かい調整を行います.(2019更新)

  1. (編集対象)を選択し,ウィンドウ>アニメーションエディタ>グラフエディタを選択する
  2. グラフエディタでは,選択したオブジェクトの移動や回転の情報がグラフで示されている.
    fcurve
  3. グラフエディタの移動Yを選択します.画面が移動Yだけのグラフとなる
    ysele
  4. タイムスライダをドラッグすると,球の高さはこの緑のグラフによって変化されていることが分かる
  5. Yの頂点部分を選択し,詳細の値を3にします(左のボックスはフレーム番号,右のボックスが値)
    transY
  6. 0フレームと60フレーム目のポイントを選択し,図のような山型になるようにカーブを編集する
    curve6
  7. ポイントの選択がしづらい場合は,グラフエディタの選択>カーブの選択をオフにする
  8. カーブの編集をするには,まず移動ツールを選択する
    curve5
  9. ポイントのカーブを変更し,山型にする.※このカーブはAdobe Illustratorでおなじみのベジェカーブです
    curve3
  10. 動画のようにバウンスして見えるようになる
  11. このように,移動,回転,スケールの動きはこうしたカーブ(ファンクションカーブ,アニメーションカーブなどと呼ばれている)で制御できる.
  12. U字型のグラフの場合は
  13. このような動きになります
  14. ここまでの流れをまとめてみました

アニーメーション基礎(1)

簡単なアニメーションの入門です.

  1. 球と平面を作成する.大きさは自由に設定すること
    001
  2. 移動ツールで平面上に置く
    002
  3. タイムスライダを1フレーム目に移動させ,球を選び移動ツール(W)に切りかえる0032
  4. メニューセットをアニメーションにする
    toolset
  5. キー>キーの設定(S)を選択.キーフレームが記録される.又はSキーを押すkey
  6. つづいて,タイムスライダを30の位置に移動し,球を上の方へ移動させ,キーフレームを記録する
    004
  7. タイムスライダを60にして,球を平面の位置まで下げ,キーの設定をする
    005
  8. 再生速度を1倍速に設定する.右下のアニメーションプリファレンスをクリックし,図のように設定すること.特に再生スピードの項目をリアルタイムループ連続に.
    aniPre
  9. 再生ボタンをクリックする
    play
  10. 球が動く
  11. 再生範囲を設定し,ループ再生する範囲を決める
    animLoop
  12. その他にもプリミティブを出して動かしてみること.移動だけでなく回転,拡大縮小もアニメーションできるので試してみること
  13. このシーンを保存しましょう(〜2019までの旧バージョン記述:前回制作した椅子のシーンを開き,椅子のアニメーションを作成してみること.アニメーションは「上から落ちてきて,少し転がる」内容で)

  14. (参考)プレイブラストでの出力方法はこちらを参考に
  15. つづく

 

ボーンの設定(2)

    1. 髪の毛を一緒に動かすボーンを作成する.sideのビューで作業すること.
    2. Headのボーンの上に新たにボーンを追加します.ジョイント作成モードで,Headのボーンをクリックしてから,頭頂部をクリックします
      atama-bone
    3. joint1が作成される.必ずEnterキーで確定させること
    4. 次に,右目,左目用のjointを作成す
      leye1
    5. Hedaから目玉に向かってボーンを作成します
    6. ボーンの先端を移動させ,目玉の位置に一致させます
      leye2
    7. 右目も同様に作業します
    8. kaopartd
    9. ヒエラルキーのCharacter1_Referenceを選び,メニューバー>選択>階層 を選ぶ.これで下の階層の骨まで全て選択されたbody6
    10. さきほど作成したjoint1~3は選択を外す(映像メディア2を思い出す)
      unselect
    11. 次に,身体のモデル(この場合,H_DDS_MidRs)を追加選択する
      bodyselect
    12. 次にメニューバー>スキン>スキンのバインド□を選択します
      body7
    13. バインドの設定は以下のとおりとし,最後にスキンのバインドをクリックしますbindSettng
    14. 骨を選んで回転させます.体のモデルが骨に連動していることを確認する.確認後は取り消しを選択し元の位置にもどす
      body8
    15. l_wigを選択し,頭頂部のjoint1を選択し,編集>ペアレントを選択
      wig
    16. これで,首と髪の毛が一緒に動くようになる
      wig2
    17. 次に歯を2つ選び,同じく頭頂部にペアレント化しますteeths
    18. 目も同様に右目用,左目用のボーンへペアレント化する.右目の場合はm_R_gland(目頭),m_R_eye,m_R_transの3つですReye

      hedaComo

    19. Caharacotr1_refernceを選択し,HumanIKツールソースからコントロールリグを選択controlrig
    20. コントロールリグが作成されました.コントロールポイントを持って動かしてみましょう 次に進む
      body10

つづく

ボーンの設定(1)

3Dキャラクタにアニメーションをつけましょう

(参考情報)このモデルはAutodesk Character Generatorを使用して作成しています=>https://charactergenerator.autodesk.com/

まず,データを読み込んでください.データはこちらから(Chrome推奨)

  1. メニューセットリギングに変更し,(Maya2016からの機能)
    menyuset
  2. 人体を選択し,メニューバー>スケルトン>HumanIK を選択します.
    body2
  3. キャラクタコンソールキャラクタなしにし,スケルトンの作成をクリックしますbody3
  4. このままでは骨が見えませんので,シェーディング>X線表示を選択します.これによりシェーディング状態のままでもスケルトンの位置を把握しやすくなります
    sk8
  5. ヒエラルキーに作成されたCharactor1 _Referenceを選択し,全体を体の中心に移動させます
    body4
  6. つぎに背骨や首の位置を修正します
  7. それが終わったら次に左側の脚,腕,指を調整します.膝の部分は少し前にでるように調整
  8. 調整後,キャラクタコントロールのウィンドウへ移動し,プルダウンメニュー>編集>スケルトン>左>右へのミラーを選択.左の骨の位置が右側にもコピーされるbody5

つぎへ

 

Mayaでトゥーン

※Unityのトゥーンシェーダはこちら

Softimage(以下SI)の場合は,レンズシェーダやFxTreeでトゥーン表現をおこなったりましますが,Mayaの場合は個別のマテリアルっぽく使用するようです.

まず適当にモデルを配置します.

to1

 

レンダリングモードに変更,トゥーン>塗りつぶしシェーダの割り当て>シェーディングブライトネス2トーン をアサインします

TO2

 

アトリビュートエディタで色味を調整します

to3

 

次に,トゥーン>アウトラインの割り当て>新しいトゥーンアウトラインの割り当て を選択します.

to4

 

プロファイルカラーで線の色を変更できます.一時期のジブリが使用していたトレスラインのようにブラウンにしてみます.

to5

他のモデルにも同じ色を割り当てます.アウトラインは一度作成したラインがメニューバーに表示されますので,それを割り当てています.

to6

 

軽くレンダリングして例.オブジェクト同士が重なっている箇所のアウトラインがありません.

to7

 

そこで,アウトラインの設定に戻り,交差線にチェックをいれます.

to8

 

交差部分にもアウトラインが描かれました.

to9

 

少しチューニングした作例(下図)

to11

おつかれさまでした.

Photonについて

Photon(光子)の設定です

光子と飛ばして光りのふるまいを計算させる手法です.

GIを使用する場合,IBLならばHDR画像が光源になるのですが,そうでなくMaya内の光源(Point Lightとか)を使用する場合にはPhotonを飛ばします.

(未確認)IBLはPhoton出してると思います.

光源(この場合Pointlight)を選択し,コースティクスとグローバルイルミネーションの中にある設定を以下のように

photon7

最下部のコースティクスフォトン(コースティクスをONにしないと選択できない) GIフォトンは最初は少なめの9万くらいから調整しましょう.

レンダラーの設定でGIをONにします.下記も参考に.

photon2

フォトンが見えすぎています.

そこでFGをONにします.

photon3

 

真ん中の球をガラスの設定にし,屈折率を入れ,コースティクスをONにします.ライトのコースティクスの値を99万くらいにいsています(下図右).下記はrefraction 1.4

photon5

下記はrefraction 2.0

photon6

以上,Photonでした.

メンタルレイはチューニングに時間がかかりますが、仕上がりはとても綺麗です。一度見てしまうと中毒になります。

また、光源をArea Lightにするともう少し柔らかい影になると思いますが,計算時間が大幅にかかります.

チューニングを繰り返すことで大幅に時間がかかり、うまくいかずストレスも、、

《今週の標語》

メンタルレイをONにするたび、寿命が100日縮むよ。 (恐怖新聞)

あれをUnityで作ろう2

Unityを開き,

作成したCubeのFBXファイル,テクスチャ画像ノーマルマップ画像を読み込み,ゲーム画面に配置します.(この画像ではScale Factorを10に変更していますが,このあたりは各自設定によって変わります)

u06

作成した画像もよみこまれています.

u07

assetの中で 右クリック>Create Material で新規マテリアルを作成します.

そのマテリアルのインスペクタのAlbedoの左の□部分に,テクスチャ画像をドロップしてアサインします(下図)

u08

次に,Normal Mapの部分に,作成したノーマルマップ画像をドロップしてアサインします.(下図の紫の部分)

u09

作成したマテリアルをステージのCubeにドロップします.

u10

おしまい.

正確に作るにはAdobe Illustratorを使用してデザインし,Photoshopに出力し,NormalMapに変換するという流れになり,Mayaで作成したこれ,

m19

近い形も作成可能です.

Photoshop,Illsutratorは必須のツールです.

 

さて,ここで注意しなくてはならないのは

NormalMapは画像で法線方向を変えることで擬似的に立体感を出しているということです.

実際には6ポリゴンの立方体です.年輪のような細かいシワをゲームで表現したいとき,デバイスの能力が限られており,このような方法でごまかすことになります.

Mayaではディスプレイスメントマップという方法で,同様のことが可能です.こちらは実際にモデルを変形することもできます.

モデリングでいくのかNormalMapでいくのかは状況に応じて使い分けてください.

こうした細かいモデリングは,Mayaなどではなく,スカルプト系と言われるモデラーが使用されます.AutodeskだとMudBoxなどですね.

あれをUnityで作ろう1

あれをUnityで作ります.

まずはMayaでcubeを作成し,

UVの編集>UVテクスチャエディタ でテクスチャエディタを開き,

ポリゴン>UVのスナップショット でUV展開の様子を保存します

u01

 

このcubeを選択し,

ファイル>選択項目の書き出し をおこない,FBX形式で書き出してください.

u05

 

これをPhotoshopで開き,枠線を頼りに下図を作成します.

u02

実際に使用するファイルはこちらからダウンロードできます.(枠線は隠してることに注意)

 

次に,Photoshopで凹凸の画像をグレースケールで作成します.レイヤーの組み合わせなどは下図を参考に

u03

実際に使用するファイルはこちらからダウンロードできます.(実際にはこのファイルは使いません)

PhotoshopCCであればこれをノーマルマップ形式に変更します.MacであればCrazy Bump,Winであればノーマルマップ変換用ソフトでこれをノーマルマップに変換します.

下図はCrazyBumpでの編集の様子です.

u04

作成したノーマルマップを書き出します.

実際に使用するファイルはここからダウンロードできます.

つづいて,Unityでの作業です.