ラベル モデリング の投稿を表示しています。 すべての投稿を表示
ラベル モデリング の投稿を表示しています。 すべての投稿を表示

2012年4月2日月曜日

DiamantModelingToolsによるリトポロジー作業


先日Richard Diamant氏が無償公開した”DiamantModelingTools”(最新はAlpha1.01a)
モデリングツールやUVエディタなどの機能がセットになっていてどれもかなり使いやすい。
なかでもモデリングツールはリトポロジー作業を意識した機能となっており、
標準でリトポロジー機能のないMayaにとってはとても有用なツールだと思った。
そこで今回、リトポロジー作業に絞って同ツールの使用方法をまとめてみた。


Maya2011/2012の64bitのみ対応、32bitでは動作しないので注意。


【インストール】
1."http://rd3d.com/dtools.htm"から圧縮ファイルをDL。
2.解凍したフォルダ”DiamantToolsAlpha1.0”をCドライブ直下に置く。
3.同フォルダの”modules”フォルダ中の”DiamantTools.txt”を
4.”C:\Program Files\Autodesk\Maya2012\modules”にコピー。
5.Mayaを起動、[Window]→[Settings/Preference]→[Plug-in Manager]を
 開き、[ModelingTool_201X_x64.mll]の[Loaded]にチェック。
6.初回起動時、シェルフにツール起動用のアイコンが作成される。


【ツールの起動/終了】
インストール時に作成されたシェルフのアイコンをクリックして起動。
専用のツールウインドウが開く。
DiamantModelingToolsからMayaの通常機能へ戻るには"Q"を押す。
(単に他ツールを選択するだけでは切り替わらない事がある)




【ベースモデルの指定】
1.ベースモデルの含まれたシーンを開く。もしくはシーンにベースモデルを読み込む
2.DiamantModelingToolsのウインドウを開き、[Modeling]タブに切り替え
3.[Slide On Surface of Mesh]欄の[List]ボタンをクリック、リストからモデル名を選択
(以前に別モデルを読み込んでいた場合などは[Clear Objects]で選択をクリアする)




【リトポロジーモデルの生成】

1.ツールウインドウ内Modelingタブの左側[Quad Draw]アイコンを左クリック





2.ベースモデル上で左クリックすると緑のポイントが打たれるので、これを4点配置。





3.4点の緑のポイントに囲まれた範囲を"Shift+左クリック"すると最初のポリゴンが生成される
 以降も緑のポイントを設置→ポリゴン生成を繰り返す。生成に使うポイントは設置する
 緑のポイントと既存メッシュモデルのバーテックスから任意の4点を選択できる。
 生成されるポリゴンは青い半透明でプレビューされるので、希望の状態で生成する。




※注意点
四角ポリゴンのみで制作する。三角や五角形以上のポリゴンも一応作れるが不安定
大量のポイントを一度に配置するより、こまめにポリゴンを生成していく方が動作が安定する
ポイントの削除はアンドゥで行う。



【リトポロジーモデルの編集】
ベースメッシュ上に頂点をスナップさせた状態でコンポーネントの移動やスムージングを
行う事ができる。
このツールで生成したモデル以外でも、通常のMayaの機能で作成したモデルや追加した
頂点などもベースメッシュ上にスナップさせる事ができる


・移動/スムージングの共通操作
1.ツールウインドウ内[Modeling]タブの左側[AdvancedModeringTools]アイコンを左クリック
2.ビューポート上で"中クリック+マウス移動"でブラシの拡大/縮小が出来る




・頂点/エッジ/フェースの移動
1.モデル上にカーソルを乗せると、直近の頂点/エッジ/フェースのいずれかが強調表示される
2.そのまま状態から"Ctrl+左ドラッグ"で任意の場所に移動。
ブラシのサイズに応じて周囲のコンポーネントもソフト選択される




・頂点/エッジ/フェースのスムース
1.モデル上にカーソルを乗せると、直近の頂点/エッジ/フェースの何れかが強調表示される
2.そのまま状態から"Shift+左ドラッグ"で任意の場所に移動。
ブラシのサイズに応じて周囲のコンポーネントもソフト選択される。
ボーダーエッジにスムースを掛けるとフェースが縮むので注意




以上の機能を使ってリトポロジー作業を進めるが、手順としては、
最初は大まかにメッシュを生成。必要に応じてMayaの基本機能も使ってポリゴン分割等を行い、
メッシュのスムース機能でトポロジーを整えていくと手間が少なく済みそう。
生成されたモデルは多少不安定な事もあるので、早めに保存するか
FBXやOBJでエクスポートしておく事をお勧めする。

2011年1月10日月曜日

ハイディティールモデルからのノーマルマップ生成

Normalmap_02
        【ノーマルマップ適用後】



Normalmap_01
        【ジオメトリのみの状態】



ZBrushやその他スカルプトツールなどで作成したハイディティールモデルから
ノーマルマップを生成し、ローポリゴンモデルに転写する方法。
 
 
Normalmap_03



転写される側のローモデルは、事前にUV展開しておく。
その際、展開したUV同士が重ならないように配置する。
ハイモデルのUVは特に考慮する必要はない。
 
 
1.[Lighting/Shading]→[Transfer Maps…]を選択。
2.開いたウインドウの左上[Edit]→[Reset Setting]で初期設定に戻す。
3.初期設定の状態から以下の項目を変更する



Normalmap_04



・ローモデルのみを選択した状態で、[Target Meshes]欄内の[Add Selected]ボタンをクリック
・ハイモデルのみを選択した状態で、[Source Meshes]欄内の[Add Selected]ボタンをクリック
・[Output Maps]欄内の[Normal]アイコンをクリックし、NormalMap設定を追加する



・[Normal map]から生成した画像の保存先を指定する
・[File format:]から画像形式を選ぶ。非圧縮フォーマットが無難。
・[Use Maya common settings]にチェック。



・[Maya Common Output]欄を開く。
・[Map width:][Map height:]で出力画像サイズを指定。
・[Transfer in:]から転写方法を選択。
  双方のジオメトリ形状の誤差が少ないなら[UV Space]が精度高く転写できる。
  誤差が大きい場合は[World Space][Object Space]の方がうまく転写できる。
・[Filter size]の数値を1.5~2.0程度に下げる。初期値ではボケ過ぎる為。



・[Bake and Close]か[Bake]ボタンを押し、ノーマルマップの生成/転写を行う。



生成後には、ローモデルにノーマルマップがアサインされた新しいマテリアルが適用される。
これを確認するにはビューポートを[High Quality Rendering]にするか(グラボ性能による)、
mentalrayを使ってレンダリングを行う。
MayaSoftwareではノーマルマップは確認出来ないので注意。



Normalmap_05
        【生成されたノーマルマップ】



2010年6月17日木曜日

対称形を保持したモデリング

Mirror_00


左右対称のモデルを作成する際など、対称の状態を随時確認しながら作業を行う方法。

1.原点上平面に切断面(対称化後の中心面)を作ったモデルを用意する。

2.[Edit]→[Duplicate Special□] 開いたウインドウで以下の設定を行う。

Mirror_01

 ・[Geometry type]を[Instance]に変更
 ・[Scale]の対称化したい軸に[-1]を入力
 ・[Number of copies]に[1]を入力
 ・[Duplicate Special]か[Apply]ボタンで実行。



対称化した側のモデルはインスタンスなので、最終的には以下の手順で一体化させる。

1.インスタンスを選択
2.[Modify]→[Convert]→[Instance to Object] 、インスタンスを実体化
3.左右モデルを選択、[Mesh]→[Combine] 、単一モデルに合体
4.モデルを選択、[Edit Mesh]→[Merge]、切断面のバーテックスを結合



2010年5月18日火曜日

押し出したフェイスなどの一体性を保持する

押し出し・抽出・複製を行う際に選択した連続する面の一体性を保持する/しないの設定方法。
 
1.一体性の保持/非保持
 
Keepface00
 
[Edit Mesh]→[Keep Faces Together]にチェックを入れる/外す。
 
 
 
Keepface01
   【チェックが入っている場合の押し出し】
 
 
Keepface02
   【チェックが入ってない場合の押し出し】


 
2.マーキングメニューからの切り替え
 
Keepface03
 
押し出し・抽出・複製を行った後でマニピュレータが表示されているときに、
Ctrl+Shift+右クリック、表示されるマーキングメニューから
[Keep Faces Together]を選択して切り替えることもできる。
 
 



2010年4月21日水曜日

パスに沿って均等にポリゴン分割されたパイプの作成

Pipe_model
 
ポリゴンモデルでパスに沿って均等に分割されたパイプを作成する方法。
通常の「パスに沿って押し出し」と比べて、ポリゴンの分割が均一になるので
UV展開やその後の加工が楽になる。
 
 
1.パイプのルート形状、断面形状をカーブで作成。ルート形状の始点と断面形状の中心は
 原点に置くと形状を把握しやすい。



2.断面、ルートの順で選択した後、[Animate]→[Motion Paths]→[attach to Motion Path■]
 以下のように設定し、実行する。
  [Time range]を[Start/End]
  [Start time][End time]に任意のタイム(長いほど、最終的に細かいポリゴン分割になる)
  [Follow]にチェックを入れる
  [Front axis]を[Z]
  [Up axis]を[Y]
  [World up type]を[Scene up]
 ルート形状に沿って断面形状のカーブが移動するようになる。 
 
3.アニメーションタイムスライダーを動かし、Start~End timeでルートパスの始点~終点を
 断面形状が移動することを確認。
 グラフエディターで断面の移動アニメのfカーブがリニアになっていることも合わせて確認する。
 
4.断面形状を選択し、[Animate]→[Create Animated Sweep■]
 以下のように設定し、実行する。
  [Time range]を[Start/End]
  [Start time][End time]に2.で入れた数値と同じ値を入力
  [By time]に任意の数値を入力
  (End time - Start time)÷By time でサーフェイスの密度が決まる
  [Parameterization]を[Uniform]
  [Surface Degree]を[Linear]
  [Surface] 開いた形状ならば[Open]、閉じた形状ならば[Close]
  [Output geometry]を[NURBS]に
 以上で均等なメッシュのナーブスモデルが出来上がる。



5.出来たナーブスモデルを選択し、[Modify]→[Convert]→[NURBS to Polygons■]
 以下のように設定し、実行する。
  [Attach multiple output meshes]と[Match render tessellation]のチェックを外す
  [Type]を[Quads]
  [Tessellation method]を[General]
  [Initial Tessllation Controls]枠内、
  [U type]を[Per span # of iso params]に
  [Number U]を[1]に
  [V type]を[Per surf # of iso params in 3D]に
  [Number V]に断面形状のポリゴン分割数を入力
 
 
不要なカーブ・ナーブスモデルを削除して、完成。





2008年6月30日月曜日

背面のコンポーネントを選択しないようにする

エッジやフェースなどのコンポーネント選択をする際に、カメラから見えていない
背面側の物も選択されてしまうのを防ぐ方法。
モデル単位で、背面表示を消して選択も不可にする。

1.背面選択させたくないモデルを選択
2.[Display]→[Polygons]→[Back Face Culling]

再度背面を表示させたい場合は、同様の操作を再度行う



2008年3月12日水曜日

コンポーネントの編集に数値を用いる方法

モデル単位で移動・回転・拡縮をする場合はオブジェクトのSRTに数値を入れればよいが、
これはバーテックスやフェイスなどの選択したコンポーネントに対して同様の操作をする方法。

1.コンポーネントを選択
2.編集内容のツールに切り替え(移動ツールなど)
3.ステータスライン右端近くのX:Y:Z:(文字の横に入力ボックス)に数値を入力

以上で可能。モデルと違い絶対座標を持っていないため、入力する度に数値は0に戻る。
また、もとに戻す方法はアンドゥのみ。



2008年3月11日火曜日

エッジ・フェイスを均等に分割する

エッジやフェイスを均等に分割する方法。

1.[Edit Mesh]→[Split edge ring] のオプションを開く。
2.[Settings] の中の [Number of edge loops] に分割したい数を入力。
3.分割したいエッジをクリック。

1.の部分は[Split edge ring options] としてシェルフに登録しておくのが良い。



2008年2月4日月曜日

コンポーネントをエッジに沿って移動させる

1.Tool Settingsから
 [Move Tool]の[Tool Settings]を開く
 ウインドウ内の[Set to Edge]ボタンを左クリック。
 その後、沿わせたいエッジを左クリック。

2.ホットメニューから
 キーボードの[w](Move Toolのホットキー)を押しながらマウスの左クリック。
 ホットメニューから順に[Aline Along]→[Aline Axis with Edge]
 その後、沿わせたいエッジを左クリック。

同様の方法で最後の沿わせるコンポーネントを変えることで、フェイスなどに沿わせる事も可能。



2008年2月2日土曜日

レイヤーにオブジェクトを追加・削除する

ビューポートへの描画をコントロールするディスプレイレイヤー、
レンダリングの対象や設定をコントロールするレンダーレイヤーに
オブジェクトを追加・削除する方法。 どちらのレイヤーも同じ操作を行う。
2.のレイヤーの追加は、事前にレイヤーがある場合は飛ばしてもよい。
 
 
1.操作したいレイヤーをラジオボタンで選択。
 
Renderlayer_00
 
 
2.[Layers]→[Create Empty Layer] で新規の空レイヤーを作成する
 
Renderlayer_01
 
 
3.【追加】
 追加させたいオブジェクトを選択後、追加したいレイヤー名の上で右クリック。
   [Add Selected Objects]
 
Renderlayer_02
 
 【削除】
 削除させたいオブジェクトを選択後、削除したいレイヤー上で右クリック。
   [Remove Selected Objects]



[MEL]選択したコンポーネントのみ表示する

通常操作ならば、表示したいコンポーネントを選択後、パネルのメニューから
[Show]→[Isolate Select]→[Veiw Selected]
同様の操作をもう一度行うと全表示になる。

以下はこの操作をMELにしたもの。
ホットキーやシェルフに割り当てるとかなり便利。


{
string $selectObj[] = `ls -sl`;
string $getPanelName = `getPanel -withFocus`;
int $i = `isolateSelect -q -state $getPanelName`;



  select -r $selectObj;
   select -cl;



switch($i)
  {
   case 0:
    select -r $selectObj;
     enableIsolateSelect $getPanelName 1;
      break;



   case 1:
    select -r $selectObj;
     enableIsolateSelect $getPanelName 0;
      break;



   default :
    break;



  }
}





ピボットの位置をモデルの中心に合わせる

 ステータスラインが(左上部のプルダウンメニュー)「Polygons」の状態で、
 [Bonus Tools]→[Move Object Pivot To Component Centre]



プリミティブ作成時の挙動をMaya7.0以下と同様にする

[Create]→[Polygon Primitves]、[Create]→[NURBS Primitves]の、



それぞれのメニュー内(下から2番目)にある、「Interactive Creation」のチェックを外す。