Houdiniモデリング基本 基本操作02

モデリング基本操作

モデリングに必要な基本操作の覚え書きです

-------------------------------

  • オブジェクト、頂点、エッジ、フェースの選択
    • ショートカットキー
      • 1 オブジェクト
      • 2 頂点
      • 3 エッジ
      • 4 フェース
      • 5 面ごとの頂点
    • 基本
      • オブジェクト
        • 画面左
          •  円錐と球の合わさったマークを選択
            • Object オブジェクト
      • 頂点/エッジ/フェース/面ごとの頂点
        • 画面左
          • オブジェクト選択のマークの1つ下のマークから右クリック
            • Points 頂点
            • Edges エッジ
            • Primitives フェース
            • Vertices 面ごとの頂点

 

  • 移動、回転、スケールのツール選択
    • ショートカットキー
      • T 移動
      • R 回転
      • E スケール
    • 基本
      • 画面左
        • 移動
          •  立方体に矢印が4方に表示さたマーク(Move)
        • 回転
          • 球にぐるっと矢印が囲んだマーク(Rotat)
        • スケール
          •  立方体に上、左、前に矢印が表示されたマーク(Scale)

 

    • 編集した情報
      •  編集するとEditノードが作られる
        • Editノードの中に頂点など調整した情報が履歴として残る
      • 履歴を削減したい場合
        • Editノードを削除することで履歴をなくすことができる

Houdiniモデリング基本 覚え書き02 ボリュームモデリング

【ボリュームモデリング

ボリュームを使いモデルをくっつけてモデリングをする方法です

-------------------------------

  • 基本のベースモデル作成
    • BoxやSphereなどのくっつけたいモデルを作成します
    • 位置を移動されせてくっつけたい場所に移動
    • Mergeノードを生成ます
    • MergeノードにBoxやSphereなどくっつけたいノードをつなぎます
  • ボリュームに変換する
    • vdbfrompolygonsを作成
    • Mergeノードからつなげます
    • つながった状態でボリューム化されます
    • ボリュームの細かさを上げたい時
    • VoxelSizeの値を小さくすると細かいボリュームになります
    • ExteriorBandVoxelsの値はボリュームの影響範囲で大きな値を入力するとボリュームの計算範囲などが広がります
    • Fill Inreriorの✅をOnにすると内部のボリュームをなくした状態で計算してくれます
  • ボリュームからポリゴンに再変換します
    • convertvdbのノードをつくりvdbfrompolygonsからつなげます
    • convertvdbのノードのConvertToをPolygonsに変更します
    • この状態でポリゴン化されています
  • より面などを滑らかにしたい
    • vdbsmoothsdfのノードを作成します
    • vdbfrompolygonsとconvertvdbの間に入れます
    • モデルの滑らかさ名を下記の値で調整します
      • FilterVoxelRediusの値
      • Iterationsの値

Houdiniモデリング基本 覚え書き01 アトリビュートを活用する

【Houdiniモデリング基本 アトリビュートを活用する】

Arrributeで特定の設定のみ影響させたり、Groupノードで範囲のみ影響させる方法です

-------------------------------

≪Attribute(アトリビュート)を活用する≫

  • 基本のベースモデル作成
    • Geometryを作成
    • Gridを作成します
    • 各種設定を入れます
      • サイズ 10×10
      • Rows 50
      • Coplums 50
  • 自由にカスタマイズできるアトリビュートを作成
    • 右クリックでAttributecreateを作成gridにつなぎます
    • AttributecreateのNameにアトリビュート名に任意の名前を入力します
    • 仮にdistanceとします
  • Gridの各ポリゴンが隆起するようにします
    • polyextrudeを作成してAttributecreateにつなげます
    • LocalConttrolのタブを開きDistanceScaleの✅を入れます
    • DistanceScaleの名前に共通のアトリビュート名(distance)を入力します
    • Attributecreateとpolyextrudeがアトリビュート名でつながります
    • polyextrudeのDistanceの数値を上げるとポリゴンが隆起します。
    • AttributecreateのValueの値を入力しても隆起するようになっています。
  • 平面ではなくランダムにしてみます
    • Attributecreateとpolyextrudeのノードの間にattributenoiseを作成します。
    • attributenoiseのAttributeNamesに共通のアトリビュート名(distance)を入力します
    • attributenoiseのAttributeClassはPrimitiveに設定します
    • attributenoiseのAttributeNamesはFloatに設定します
    • Attributecreateとattributenoiseがアトリビュート名でつながります
    • NoiseValuesのAmplitudeの値を数値を増やすと隆起が大きくなります
    • NoisePatternのElementSizeを調整するとノイズのサイズなどを調整できます
    • Attributeでアトリビュート同士がつなげられた箇所への設定を変更することができるようになります

-------------------------------

≪Group化して一部のアトリビュートを変更する≫

  • 基本のGroupノード
    • GridにGroupノードをつなげます
  • Groupノードの設定
    • GroupNameを任意の名前を入力します
    • 仮にgroup01とします
    • GroupTypeはPrimitivesにします
    • BaseGroupの✅をOFFにします
    • KeepinBoundingRegionsのEnableの✅をONにして有効にします
  • BoundingType BoundingBox
    • Size 10,1,10
    • Center 5,0,-5
    • 一定の範囲がグループ化されます
  • Groupノードで指定した範囲のみポリゴンを隆起させる
    • Groupノードの下にポリゴンを隆起させるためpolyextrudeを作成します
    • polyextrudeのGroup名に共通のグループ名group01を入力します
    • この状態でグループ名で紐づけられた箇所のみ影響するようになります
    • polyextrudeのDistanceなどの値を入力するとグループ化された箇所のみポリゴンが隆起します

Houdiniモデリング基本 基本操作01

【Houdiniモデリング基本 覚え書き01】

レゴブロックのピースのような簡単なモデリングをする用の覚え書きです

----------------------------------------

≪レゴブロックのようなピースを作成≫

  • 基本の入れ物を作る
    • obj内
    • Geometryで基本の入れ物を作成
  • Boxを作成
    • Geometry内
    • 右クリックTabメニューを呼び出しBoxを入力
  • 面を選択する
    • 選択ツール
    • 右の方にあるメニューから矢印を選択
    • 選択ツールの状態でシーンビューの上にある「点/線/面」を選択するアイコンから面を選択するモードにする
  • 押し出す
    • 面を選択した状態で
    • Tabキーpolyextrudeを入力してEnter
    • Insertの値で面を内側に押し出し
  • 四角い面を丸くする
    • 押し出した中央の面を選択して
    • Tab→editを呼び出す
    • その状態で右クリックMakecircleを行うと四角が丸くなる
  • 面を筒状に伸ばす
    • 丸くした面を選択した状態で
    • polyextrudeを呼び出し
    • distanceで縦に円を伸ばす
  • Boxの下の面を内側に押し出す
    • Boxの下の面を選択して
    • polyextrudeを呼びだすInsetを調整して面の内側に押し出し
    • 面を選択したままpolyextrudeでDistanceで上の方へ押し出す
    • Boxの内側にモデルが押し出されるような形状になる

≪完成≫

----------------------------------------

  • ショートカットメニュー
    • Polyextrudeなどのメニューショートカット
      • Houdiniの一番上のメニュー
      • Main→PolyModelingに変更
      • シーンビュー上でcキーを押すとショートカットメニューが出るため
      • そこからPolyextrudeは呼び出すことができます
    • editのショートカット
      • editはtキーを押すとショートカットで呼び出せる
    • 同じものを繰り返したい時のショートカット
      • qキーでeditやpolyextrudeなど直前のノードが繰り返されます

----------------------------------------

ウェイトのついたモデルのBlendShape Maya→Unity

 ウェイトのついたモデルをMayaでブレンドシェイプ設定をしてUnityへ出力する方法

Maya

  • 準備
    • 複製モデルをフェースや頂点でモデルを変形したい形に調整
    • ウェイトのついたモデル作成 01
    • ウェイトのついてないモデル(複製) 02

 

  • blendshape設定
    • この時点で複製モデルは削除して大丈夫
    • 履歴を消さなければblendshapeの設定は残ります
    • Window アニメーションエディター→ShapeEditorを開く
    • ウェイトのモデル01を選択
    • エディター「ブレンドシェイプの作成」を押す
    • BrendShapeDeformer(BrendShape1)を作成する
    • ウェイトのついていないモデル02を選択(複数選択可能)
    • エディターのBrendShapeDeformer(BrendShape1)の上で右クリック
    • 選択項目をターゲットとして追加
    • BlendShapeDeformerの下にskinModelShapeが登録される
    • 複数のモデルを選択して登録するとskinModelShapeが複数登録される
    • skinModelShapeに0~1を入力すると元モデル→複製モデルの形状に変化
 
  • FBX出力
    • アニメーション
      • アニメーション
    • 変形したモデル
    • blendshape設定されてるウェイトのモデル01を選択→「選択項目の書き出し」
    • オプションで下記にチェックを入れて書き出し
 

Unity

  • Unityへfbxをインポート
    • ImportBlendShapes チェックON
    • NaimationType Legacyなどに設定
    • Model
    • Rig
 
  • BlendShapeの変形
    • FBXをシーン内にインポートするとSkinnedMeshRendererになっている
    • Mesh以下のskinModelのInspector内にBlendShapesの項目ができているので0~100の値で設定するとBlendShapeの変形ができます
    • Unityのアニメーションでもキーが打てるようになるのでキー設定するとアニメーション変形させられます
  • アニメーションコントローラーがモーションのアニメーションしか入らず、Readonlyになっている場合
    • アニメーションコントローラーのLayersにBaseLayerに別レイヤーを作成し、そちらの方でBlendShapeのアニメーションを作成して同時再生すると良さそう

エフェクトの猫ウェブログ

はじめまして。さびネコと申します。

普段はゲームエフェクトを作成しております。

日々学んだ技術の覚書として残していこうと思い、

ウェブログを立ち上げました。

 

また

ゲーム業界で活躍されている方、

ゲーム業界で活躍したい方への情報共有としても、

少しでもお役に立てればと思います。

 

どうぞよろしくお願い致します。✨

 

                            さびネコ

Maya BlendShape → Unity出力

 Mayaでブレンドシェイプ設定をしてUnityへ出力する方法

Maya

  • 準備
    • モデル作成 01
    • モデルを複製 02
      • 複製モデルをフェースや頂点でモデルを変形したい形に調整

 

  • blendshape設定
    • 複製したモデル02をShiftを押しながら選択
    • 元のモデル01も一緒に選択
    • アニメーションモードへ変更
    • デフォーム → ブレンドシェイプを設定
    • 元モデルのチャンネルボックス内に「blendshape1」の設定項目が作成される
    • blendshape1に0~1を入力すると元モデル→複製モデルの形状に変化
      • この時点で複製モデルは削除して大丈夫
      • 履歴を消さなければblendshapeの設定は残ります
 
  • FBX出力
    • blendshape設定されているモデルを選択→「選択項目の書き出し」
    • オプションで下記にチェックを入れて書き出し
      • アニメーション
        • アニメーション
      • 変形したモデル
 
  • 複数のモデルへのBlendShape設定がしたい場合
    • 複数の複製モデルを作成
      • 複製したモデル03
      • 複製したモデル02
      • 元のモデル01
    • 上記の順で選択してデフォーム → ブレンドシェイプを設定
    • 「blendshape1」「blendshape2」という形で複数の入力欄が作成されます
    • こちらに数値を入力すると複数のBlendShapeの設定を扱うことが可能に
 

Unity

  • Unityへfbxをインポート
    • Model
      • ImportBlendShapes チェックON
    • Rig
      • NaimationType Legacyなどに設定
 
  • BlendShapeの変形
    • FBXをシーン内にインポートするとSkinnedMeshRendererになっている
    • BlendShapesの項目ができているので0~100の値で設定するとBlendShapeの変形ができます
    • Unityのアニメーションでもキーが打てるようになるのでキー設定するとアニメーション変形させられます