「3DCG」カテゴリーアーカイブ

Mayaテクスチャマッピング2

マテリアルを作成しオブジェクトに割り当てる

  1. 椅子の木目を作成したことを思い出しながら,新しいマテリアルを作成する(参考
  2. 作成したマテリアルのカラーの右にあるチェッカーマークをクリック
  3. ファイルを選択する
  4. ファイルアトリビュートが開かれるので,フォルダボタンをクリックし,ファイルの場所を指定する
  5. 作成されたマテリアルを立方体にアサインする
  6. ビューのマテリアル表示モードをONにし,パースビューでテクスチャが反映される
  7. レンダリングするとこのようになる

 

(次へ

 

Mayaテクスチャマッピング1

Mayaで作成したオブジェクトにテクスチャ画像を貼り付ける,テクスチャマッピングを実習する.

  1. まず,簡単なサイコロを作成する.作成>ポリゴンプリミティブ>立方体>□ で1×1×1サイズで分割もそれぞれ1にする.
  2. この立方体を選択したまま,メニューバーのUV>UVエディタを選択
  3. UVエディタの画面が開く
  4. UVエディタのポリゴン>UVのスナップショットを選択
  5. UVのスナップショットの設定を,サイズをそれぞれ512に,イメージフォーマットはPNGかJPEGにし,OKをクリック
  6. 保存した場所を覚えておくこと.次にAdobePhotoShopを開きます
  7. UVの枠が画像として保存されている.この枠線を頼りにサイコロの模様を描く
  8. 概ねサイコロはこのような模様です
  9. 完成した画像を保存するときは,UVの枠線を無い状態で保存すること

 

次へ

Maya復習ーその2

ここではMayaのマテリアル設定の復習をします.1年次では実習していないプロシージャルテクスチャ(計算で生成したテクスチャ)を,木目で使用します.

マテリアル設定やレンダリングの設定について忘れてしまった方は,少し古いレジュメになりますがこちらを参考に.

 

  1. ウィンドウ>レンダリングエディタ>ハイパーシェード を表示させる
  2. ハイパーシェードの 作成>マテリアル>Phongシェーダを選択 これでPhongのマテリアルが作成される
  3. 作成されたPhongマテリアル(Phong1など)を選択し,アトリビュートエディタのカラーの右にあるチェック模様のボタンを押す
  4. レンダーノードの作成 ウィンドウが現れるので,木目を選択
  5. アトリビュートエディタが木目のプロパティ画面になるので以下のように設定
  6. もしも,木目のプロパティ画面に移行できなかった場合,作成したPhongを選び,チェック模様だったところが右向き三角になっているのでそこをクリックすると木目編集画面へ移行する
  7. 次に作成したPhongを選択し,アトリビュートエディタのスペキュラーシェーデイングの項目を調整する
  8. このPhongマテリアルを座面にアサインする(マウス中ボタン+ドロップ)
  9. もしも木目がビューに表示されていない場合は,各ビューのテクスチャ表示をONにする
  10. 次にパイプのマテリアルを設定をする.ハイパーシェードの 作成>マテリアル>Phong を選択
  11. 新しくPhongマテリアルが作成されました.スペキュラを調整し,グレーのペンキが塗られた脚にする
  12. 本来は脚の先端が黒いのですが,そこは割愛
  13. レンダリングして完成(アンビエントライト,エリアライトを使用)
  14. レンダリングした画像を保存し,提出のこと.画像の保存方法は,レンダービューファイル>イメージの保存の,,
  15. ファイルの種類JPEGか,PNGを選択し,ファイル名を入力して保存を押す.
  16. なお保存した場所を覚えておくこと.通常はプロジェクトファイルのImagseなどに保存される.

Maya復習ーその1

Mayaの復習

Mayaの復習をしましょう.以前のレジュメも参考にしましょう.

【2019年度変更箇所】

デフォルトのレンダラーはArnoldになっていますが,Mayaソフトウェアでかまいません.

—-

ここではアトリエにありそうな丸椅子を作ります.

プロジェクトを作成しましょう.次に,ポリゴンの円柱を作成します.正確なサイズで入力したい場合には,を選びプロパティを表示させる習慣をつけましょう.

Mayaはデフォルトで1ユニット1mと換算します.Unity等で読み込む場合は,このスケールが反映されます.

椅子の作成

  1. 作成>ポリゴンプリミティブ>円柱□
  2. 作成したい椅子の座面の直径を300mm(r=150),厚みを30mmに設定します(下図参照)
  3. 作成を押します
  4. 次に,脚の円柱を作成します.直径は25mm長さは450mm
  5. 床面に設置する部分を丸めてみましょう.円柱最下部のエッジを選択(エッジ選択はこのページの17番参考)し,メッシュの編集>ベベル>□ を選択します
  6. ベベルの設定を下図のようにしてベベルをクリック
  7. アトリビュートエディタをひらき.脚を10度だけ傾けます(作例ではZ軸を-10度傾けています)
  8. 座面を上(Y軸方向)に移動します(作例ではY軸0.45の位置に).脚もY軸方向に移動(作例では0.228)
  9. 脚を外側に移動させます(作例ではX軸-0.12
  10. ピボットの▲をクリックして展開し,回転ピボットを表示チェックを入れ,ワールド回転ピボットのXの値を0にします(上図).これで原点のY軸を中心に回転させることができます
  11. もう3本の脚は特殊な複製を用いて作成しましょう.この脚を原点のY軸を中心にコピーさせながら回転させます編集>特殊な複製□ を選択し
  12. 90度回転させながら3回コピーするよう設定(下図)し,特殊な複製を押します
  13. 脚が4本になりました
  14. 次に脚乗せをトーラスを使って作成しましょう.作成>ポリゴンプリミティブ>トーラス を選択します
  15. 半径0.12,断面の半径0.005,軸の分割数40,高さの分割数20にし,作成を押します
  16. 作成されたドーナツをY軸で0.15の位置に移動させます
  17. 座面を選択し,マウスをプレスしエッジモードにします
  18. 角のエッジをダブルクリックで選択し,エッジループを選択します
  19. スケールをかけて,面取りをおこないます
  20. 中心の頂点を選択して高さ調整などもしてみましょう
  21. 座面を親にして,他の要素を親子付けをしましょう
  22. その他,気になる部分があれば頂点,エッジ,ポリゴンを移動などして修正したり,ベベルなどをつけてみましょう

 

MayaでPython(3)

繰り返し処理

以下のコードを新しく作成したファイルに記述し,test2.py で保存せよ

import maya.cmds as mc
for i in range(5):
 mc.polyCube(w=0.5, h=0.5, d=0.5, sx=1, sy=1, sz=1)
 mc.move( i, 0, 0 )

 

ブロック

Pythonの場合,ブロックはインデント(行頭からの空白)で判定する.スペースやタブを使うとよい

import maya.cmds as mc
for i in range(5):
 mc.polyCube(w=0.5, h=0.5, d=0.5, sx=1, sy=1, sz=1)
 mc.move( i, 0, 0 )
 print("for")
print("not for")

実行結果は

for

for

for

for

for

not for となる


実験1

以下のスクリプトを実行してみること.

import maya.cmds as mc
for i in range(10):
 for n in range(10):
  mc.polyCube(w=0.5, h=0.5, d=0.5, sx=1, sy=1, sz=1)
  mc.move( i, 0, n )

in変数である

各Cube間の間隔を広げる場合は, 4行目と5行目の間に i = i +1 を書き足すこと.ブロックの(空白の下図)は前後と同じにすること

ミニ課題

10個×10個×10個のCube又はSphereを生成するスクリプトを作成せよ(下図参考)

 

ミニ課題

1000個のCubeが少しずつ傾いているスクリプトを作成せよ(下図参考)

レンダリング例

戻る

MayaでPython(2)

移動

作成したオブジェクトを移動する

作成したオブジェクトを一旦削除し,スクリプトの最後の行に

mc.move( 3, 3, 3 )

を追加し実行する.

 

その他のコマンド

ポリゴン球を作成

mc.polySphere(r=2 ,sx=10, sy=10)

rは半径

ポリゴン円錐を作成

mc.polyCone(r=1, h=3, sx=10, sy=10, sz=10)

hは高さ

ポリゴン円柱を作成

mc.polyCylinder(r=0.3, h=6, sx=6, sy=6, sz=2)

 

回転

mc.rotate( 45, 10, 20)

または

mc.rotate( '45deg', 0, 0)

 

もどる)(つぎへ

MayaでPython(1)

スクリプト

Mayaにはスクリプトでコントロールできるシステムがある.

主にMELスクリプトとPythonスクリプトの2種が使用できる.MELは以前から使用されてきたため情報は豊富である.一方でPythonは汎用性が高く記述もシンプルなため,近年人気が高まっている.YoutubeやInstagramなどに使用されているほか,ディープラーニングなどにも応用されている.

今回は汎用性の高いPythonを用いて簡単なコーディングを体験してもらう.

ワークフロー

スクリプトをメモ帳などに記述し,保存.このファイルをMayaのスクリプトエディタで開き実行する


作成1

テキストエディタ(メモ帳などで可)の1行目に

import maya.cmds as mc

と記入し,ファイル名を test1.py (※今回は拡張子を書き換えてかまわない)と保存する.

mcという名前でmayaのシステムを読み込む の意味

実行

Mayaに戻り,右下のスクリプトエディタボタンをクリックし,スクリプトエディタを開く.

このファイルを実行する

スクリプトエディタを開き,ファイル>スクリプトのロード>(保存したファイルを選び)開く を選択

スクリプトを実行ボタンをクリックする

今回は何も起こらないので次に進む


コメント

コメントは行頭に#をつける

import maya.cmds as mc
#mcという名前でmayaのシステムを読み込む

コメント行はプログラム実行時に無視される

 

ポリゴンのcubeを作成する

import maya.cmds as mc
#mcという名前でmayaのシステムを読み込む
mc.polyCube()

デフォルト設定のCubeが作成される

 

数値を指定して作成する

作成したCubeを削除する

3行目を

mc.polyCube(w=1, h=1, d=1, sx=2, sy=2, sz=2)

に変更する.変化の違いを確認する.

w,h,dは幅(width),高さ(height).奥行き(depth)の値

sxはsubdivide のx方向の意味で,sy,szも同様

 

練習

幅3,高さ5,奥行き2,x方向の分割2,y方向の分割4,z方向の分割1のCubeを作成せよ

次へ

Unity Postprocessing入門

Unityで複数のエフェクトを一度に表示できるPostProcesingを実習します.

  1. Post Processing Stack Assetをダウンロード
  2. アセットをインポート
  3. Assets>Create>Post-Processing Profileを選択
  4. Profileが作成されるので名前を適当に変えておく(ここではccに変更)
  5. MainCameraを選び,Add Componentをクリック>post… で出てきたPost Processing Behaviour スクリプトを追加
  6. 先ほど作成したProfileをPost Processing BehaviourのProfileにドロップ
  7. Profileを選び,各項目を調整します
  8. Depth of Fieldを調整します.これは調整前
  9. 調整後
  10. Bloom を加えた場合(光る)
  11. Color Grading(いわゆるカラコレ)を加え,Filmicモードにした場合
  12. Grainを加えた場合(Film Grain=フィルムの粒子の再現と考えてください)
  13. ビネットを加えた場合(ビネット=フレーム周囲の減光)
  14. Ambient Occlusionを加えた場合(地面とオブジェクトの境界に影をつけること)
  15. Motion Blur(よくあるエフェクト)左:Motion Blurなし,右Motion Blurあり
  16. 上のMotion Blurの設定 シャッター角270度,10フレームサンプル,80%ブレンド
  17. Antialiasing左=なし,右=PresetはDefalut.クリックして拡大し,えりのJaggyを見比べる

使用しているアセットによっては使えないことがあります.