マテリアルを作成しオブジェクトに割り当てる
- 椅子の木目を作成したことを思い出しながら,新しいマテリアルを作成する(参考)
- 作成したマテリアルのカラーの右にあるチェッカーマークをクリック
- ファイルを選択する
- ファイルアトリビュートが開かれるので,フォルダボタンをクリックし,ファイルの場所を指定する
- 作成されたマテリアルを立方体にアサインする
- ビューのマテリアル表示モードをONにし,パースビューでテクスチャが反映される
- レンダリングするとこのようになる
(次へ)
Mayaで作成したオブジェクトにテクスチャ画像を貼り付ける,テクスチャマッピングを実習する.
(次へ)
ここではMayaのマテリアル設定の復習をします.1年次では実習していないプロシージャルテクスチャ(計算で生成したテクスチャ)を,木目で使用します.
マテリアル設定やレンダリングの設定について忘れてしまった方は,少し古いレジュメになりますがこちらを参考に.
Mayaの復習をしましょう.以前のレジュメも参考にしましょう.
【2019年度変更箇所】
デフォルトのレンダラーはArnoldになっていますが,Mayaソフトウェアでかまいません.
—-
ここではアトリエにありそうな丸椅子を作ります.
プロジェクトを作成しましょう.次に,ポリゴンの円柱を作成します.正確なサイズで入力したい場合には,□を選びプロパティを表示させる習慣をつけましょう.
Mayaはデフォルトで1ユニット1mと換算します.Unity等で読み込む場合は,このスケールが反映されます.
以下のコードを新しく作成したファイルに記述し,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 となる
以下のスクリプトを実行してみること.
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 )
iとnは変数である
各Cube間の間隔を広げる場合は, 4行目と5行目の間に i = i +1 を書き足すこと.ブロックの(空白の下図)は前後と同じにすること
10個×10個×10個のCube又はSphereを生成するスクリプトを作成せよ(下図参考)
1000個のCubeが少しずつ傾いているスクリプトを作成せよ(下図参考)
レンダリング例
(戻る)
作成したオブジェクトを移動する
作成したオブジェクトを一旦削除し,スクリプトの最後の行に
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にはスクリプトでコントロールできるシステムがある.
主にMELスクリプトとPythonスクリプトの2種が使用できる.MELは以前から使用されてきたため情報は豊富である.一方でPythonは汎用性が高く記述もシンプルなため,近年人気が高まっている.YoutubeやInstagramなどに使用されているほか,ディープラーニングなどにも応用されている.
今回は汎用性の高いPythonを用いて簡単なコーディングを体験してもらう.
スクリプトをメモ帳などに記述し,保存.このファイルをMayaのスクリプトエディタで開き実行する
テキストエディタ(メモ帳などで可)の1行目に
import maya.cmds as mc
と記入し,ファイル名を test1.py (※今回は拡張子を書き換えてかまわない)と保存する.
mcという名前でmayaのシステムを読み込む の意味
Mayaに戻り,右下のスクリプトエディタボタンをクリックし,スクリプトエディタを開く.
スクリプトエディタを開き,ファイル>スクリプトのロード>(保存したファイルを選び)開く を選択
今回は何も起こらないので次に進む
コメントは行頭に#をつける
import maya.cmds as mc #mcという名前でmayaのシステムを読み込む
コメント行はプログラム実行時に無視される
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で複数のエフェクトを一度に表示できるPostProcesingを実習します.
使用しているアセットによっては使えないことがあります.
AI10mm=1Mayaunit(10mm)=0.01UnityUnit(10mm)
unityインポート後にScale Factorを100倍にすると1mになる
10m×10mの建物を作成する際は、
100分の1 10cm×10cmで図面を作成し、Unity読み込み時に100倍する.