CGらぼ

広く浅くCGを勉強していきます。

modoでポリポリした物の作り方を調べてみた!!

f:id:foreverLab:20160618120512j:plain

f:id:foreverLab:20160618122820j:plain

 

f:id:foreverLab:20160618120311j:plain

まずポリポリした物を作り、ポリゴンを三角形化します。

その後、materialのsmoothingの値を0にしGradientDiffuse colorとして割り当てる。

 

UVも開いていないし、モデリングは適当に分割したプリミティブをスカルプトしてざっくり形をつくっただけである

 

勿論、作るものの物量等もあるので一概には言えないが非常に簡単な作業だった。

 

創作のアイディアさえあれば、作業時間をかけずに良い作品が作れそうな気がする。

 

f:id:foreverLab:20160618115814j:plain

色の混ざり具合はInput parameterで調整できる

f:id:foreverLab:20160618120355j:plain

f:id:foreverLab:20160618120358j:plain

保存

選択セットを作って効率を上げよう!!

作業のたびに選択するのは、一つ二つくらいなら手間ではないが、10,20と増えてくるとそれだけで手間になる、しかも選択を間違える可能性もある。

 

そんな時、使えるのが選択セット

 

一度設定すれば、次回からの設定が劇的に早くなる!!しかもミスを減らせる。

 設定は簡単で

Create > Sets > Quick Select Set

f:id:foreverLab:20151124140040j:plain

 編集は

Windows > Relationship Editors > Sets

f:id:foreverLab:20151124140056j:plain

f:id:foreverLab:20151124140244j:plain

 

Pythonでこの作業をもっと簡単にできるようにしたいんだけど、

Setsを作ることは出来るんだけど、編集をどうやった出来るかが分からない。。。

Windowを作ってアクセスするだけでいいんだけどな~

 

プログラミングを教わったことがないから、自主勉強がうまく捗らないorz

もっと効率よく勉強して、もっと成長したいよ~~~

maya Pythonを使ってシェーダーを割り当てる

pythonを使用して

三角ポリゴン、多角形ポリゴンを色分けしようと思いスクリプトを書いてみました。

 

三角ポリゴンが黄色、多角形が青色です。

 

f:id:foreverLab:20151109092756j:plain

 

import maya.cmds as mc;

material_Tri = mc.shadingNode('lambert',n='Tri',asShader=True);
mc.setAttr('Tri.color',1.0,1.0,0.0,type='double3');

material_Qua = mc.shadingNode('lambert',n='Qua',asShader=True);
mc.setAttr('Qua.color',0.2,0.2,0.2,type='double3');

material_Nsided = mc.shadingNode('lambert',n='Nsided',asShader=True);
mc.setAttr('Nsided.color',0.0,0.0,1.0,type='double3');



if mc.window("PolyFinderWindow",exists=True):
    mc.deleteUI("PolyFinderWindow")



Create_Window = mc.window("PolyFinderWindow",t="PolyFinder",w=30,h=50,s=True,mnb=True,mxb=True);
mc.columnLayout(adj=True);

mc.button(l="Tri",c="SetTri()");
mc.separator(h=10);
mc.button(l="Nsided",c="SetNsided()");
mc.separator(h=10);
mc.button(l="Clear",c="SetClear()")

mc.showWindow(Create_Window);



def SetTri():

    mc.polySelectConstraint(t=0x008,m=3,sz=1)
    mc.hyperShade(a='Tri')
    mc.sets(e=True,fe='Tri.SG')
    
    
    
def SetNsided():
    
    mc.polySelectConstraint(t=0x008,m=3,sz=3)
    
    mc.hyperShade(a='Nsided')
    mc.sets(e=True,fe='Nsided.SG')
   
   
    
def SetClear():
    
    mc.hyperShade(a='Qua')
    mc.sets(e=True,fe='Qua.SG')

 

頂点にボックスを配置するスクリプトをpythonで書いてみた!!

頂点に配置するスクリプトです。

f:id:foreverLab:20151108182202j:plain

 

import maya.cmds as mc;
import random;

mc.polySphere(r=3,sx=16,sy=16);

vtxNum = mc.polyEvaluate(v=True);

vtxList = range(0,vtxNum);
vtxRanNum = random.sample(vtxList,vtxNum);
vtxRanStr = map(str,vtxRanNum);

for a in vtxRanStr:
    A1 = 'pSphere1.vtx[000]'
    A2 = A1.replace("000",a)
    for b in A2:
        ver = mc.select(A2)
        tvf = mc.polyListComponentConversion(ver,fv=True,tvf=True)
        mc.filterExpand(tvf,sm=70,ex=True)
        normal = mc.polyNormalPerVertex(q=True,xyz=1)
        position = mc.xform(q=True,ws=True,t=True)
    
        box = mc.polyCube(ax=[normal[0],normal[1],normal[2]],w=0.1,h=0.1,d=0.1)
        mc.move(position[0],position[1],position[2],box)
        mc.rotate(normal[0],normal[1],normal[2],box,ws=True) 

 

勉強中ですので、修正した方が良い箇所などございましたら、コメントいただけると助かります。

 

あと、出来れば赤ライン上にあるボックスのように、その他のボックスも回転を揃えたいのですが、現状のスクリプトでは上手くいっておりません。。。(法線情報でいけると思ったんだけどな。。。)

こっちの解決策も教えていただけると助かります。

f:id:foreverLab:20151108182510j:plain

バットマン(デフォルメ)をモデリングしてみた!!

久々にモデリングしました。

テクスチャ作成でSubstance Painter使ってみたんですけっど、これいいですね!!

テクスチャを描くのが楽しくなる。

 

下絵を描いて

f:id:foreverLab:20151003074937j:plain

モデリング

f:id:foreverLab:20151003133201j:plain

f:id:foreverLab:20151003133915j:plain

テクスチャ込みで3時間ほどかかりました。

MayaのBatchRenderingの書き方について調べてみた!!

"C:\Program Files\Autodesk\Maya(バージョンを指定)\bin\Render"-proj (プロジェクトのパス) -r (レンダラーを指定)  -rd (保存先のパス) -s (レンダリング開始フレーム) -e (レンダリング終了フレーム) -rl (レンダーレイヤーの指定) (シーン名.mb)
 
 
//レンダラー
mr メンタルレイ
sw ソフトウェアーレンダラ
hw ハードウェアレンダラ
vr ベクターレンダラ
 
//
メンタルレイの場合は
-r mr -art -aml
と記載するとCPUを100%使用する
 
tiff/tif
jpeg/jpg
tga
 
//ネットワーク越しにレンダリングする場合は
-proj \\(マシーン名)\(プロジェクトのパス)
 
//
"C:\Program Files\Autodesk\Maya(バージョンを指定)\bin\Render"-proj (プロジェクトのパス)  -r (レンダラーを指定)  -rd (保存先のパス) -s (レンダリング開始フレーム) -e (レンダリング終了フレーム) -cam (レンダリングカメラの指定) -rl (レンダーレイヤーの指定) -im (出力される画像名) -of (拡張子) (シーン名.mb)