暑い日が続いていますね。
日中はほとんど空調の効いた室内にいるのでそれほど暑さを意識しませんが、
朝晩の通勤では蒸し暑さに悶えています。
さて突然の投稿になりますが、
少し前にとあるスポーツカーを参考にオリジナルのスポーツカーをCGで作成しました。
いろいろ思い通りいかない部分もありましたが、1からモデリングして、なんとか完成させました。
ラフモデルはZBrush。リトポはMaya。ホイールはMODOのMeshFusionを使っています。コンポジットはNukeです。
いろいろ勉強になりました。
背景はボリビアのウユニ塩湖の写真をみたので、なんとなく。
一度は行ってみたいですね。
tsumiki期待の新人山﨑君が制作したムービー。一通りの仕事を覚えてもらうために作らせてみました。
モデリング、変形ギミック、撮影、ロトスコープ、カメラトラッキング、環境作り、物理シェーディング、コンプ、かなりてんこ盛りな内容でしたが、スパルタ的にやってもらいましたw
これからもビシバシしごいていきますので皆様ご期待ください。
こんにちは、木村です。またFBの壁紙更新したよー、金魚ちゃんバイバイ!これからも2~3ヶ月のペースで更新していければいいなと思ってます。
今回はこれです。
ワイヤーフレームの時計です。なんか下手(左)がスペース空いてますが、これはFBのアカウントの写真を回避してるんです、レイアウトミスではありません。
最終的にトリミングしてしまったけれど先っちょまで丁寧にモデリングしたつもりです。(メッシュの流れきれいじゃないですか?)
ハードウェアのワイヤーフレームはこんな感じ、余談ですがビューメニューのShadingのSmoothWireFrameってやるとワイヤーフレームが少しキレイになるよ、意外とこのへん触らないから知らない人いるかもですね。
ですが今回はもっと立体的で普通のワイヤーフレームとは違う感じにしたかったので、pymelを使ってポリゴンのエッジループにそってナーブスをエクストルードする方法をとりました。日本語でおk?
とりあえず先にスクリプト載せて使い方説明しますね。その後スクリプトの内容説明しますね。
import pymel.core as pm
import maya.cmds as m
def ccv(z):
elen=range(len(list(z.e)))
ptc=[]
while len(elen)>0:
el=pm.polySelect(z,elb=elen[0])
elen=set(elen)-set(el)
elen=list(elen)
pt=pm.polyToCurve(f=0,dg=1)
ptc=ptc+[pt[0]]
return ptc
obj=pm.selected()
cv=[]
for x in obj:
cv=cv+ccv(x)
circ=pm.circle(r=0.01,n=’lineBold’)
d=str(circ[0])
ext=[m.extrude(d,x,ch=1,rn=0,po=0,et=2,ucp=1,fpt=1,upn=1,ro=0,sc=1,rsp=1) for x in cv]
g1=pm.group(ext,n=’extrudedSurface’)
g2=pm.group(cv,n=’extrudCurve’)
pm.group([circ,g1,g2],n=’Wireframes’)
あーーーー!!!コピペしたらインデクシング吹っ飛んだね。はぁはぁ。
↑ここからコピった方がいいかもしれませんよ。ペースト先はpythonコマンド初めての人は気を付けて下さいね。
スクリプトエディターにpythonタブがない方は、スクリプトウィンドウ右くりっくして→NewTab→Python 出てきたタブで実行してね。
使い方は簡単です。オブジェクトを選択して実行。オブジェクトを選択して実行。目標をセンターに入れてスイッチ。
超余裕だね。右はMR_SunandSkyでレンダリング、昔公園で遊んだ遊具を思い出して、あの頃に戻りたいと思ってしまうね。普通のワイヤーフレームよりライティングとシェーディングが入ると味あるよね。かわいいね。萌えるね。時計のコンプは更にデプス出してNukeでZDeforcus入れてます。今回はコンプまで説明はしてませんが。機会があったらZDeforcusの設定やフリンジの入れ方説明しますね。けどNukeがチュートリアルビデオ出してたと思うのでそっち見たほうが早いと思いますよー。
今回なんでこんなナメた口調になってしまっているかというと、ニコニコのゆっくり実況を見すぎたせいですね。ゆっくりしていってねーーーーーー。すみません。
ちなみに、lineBoldっていうカーブのスケールを変えるとエクストルードのナーブスの太さが変わるよー。
ちなみに、ヒストリーを持ってるので元のオブジェクトの変形に追従するよ。いろいろ出来て楽しそうだねー。
次はスクリプトの説明です。
初心者の人には難しいと思うし、上級者の人にはクソスクリプトと思われそうなんで、説明はあまりしたくないのですが、何か意見や提案や疑問は大歓迎なのでアクセスの方にメール下さいね。出来る限り対応します。
このスクリプトの肝はccv()という関数の設定です。他の
import pymel.core as pm
import maya.cmds as m
はモジュールを読み込んでるだけ、
obj=pm.selected()
cv=[]
for x in obj:
cv=cv+ccv(x)
は設定したccvという関数を実行させてるだけ、
circ=pm.circle(r=0.01,n=’lineBold’)
d=str(circ[0])
ext=[m.extrude(d,x,ch=1,rn=0,po=0,et=2,ucp=1,fpt=1,upn=1,ro=0,sc=1,rsp=1) for x in cv]
g1=pm.group(ext,n=’extrudedSurface’)
g2=pm.group(cv,n=’extrudCurve’)
pm.group([circ,g1,g2],n=’Wireframes’)
は作ったカーブやらナーブスをグループノードにまとめたりしてるだけ。なので説明はしません。
def ccv(z):
elen=range(len(list(z.e)))
ptc=[]
while len(elen)>0:
el=pm.polySelect(z,elb=elen[0])
elen=set(elen)-set(el)
elen=list(elen)
pt=pm.polyToCurve(f=0,dg=1)
ptc=ptc+[pt[0]]
return ptc
の関数内部について説明しようと思いますが、ちょっと今回の記事がながくなってしまいそうなので、次回にまわしたいと思います。
でわでわー!
tsumiki木村です。
facebookの壁紙を更新しました。今回はさわやかに、幻想的に、をテーマに作ってみました。
使用ツールはZbrush、MAYA、Vray、Nuke。
幻想的だけどリアルさは持ちたかったので、かなりハイポリで作ってます。
??ハイポリ過ぎて真っ白ですね。
はい、寄りました。わりとガチで作ってみました。
今回金魚はもちろん、花びらも、おしべ?もめしべ?も全部Zbrushでディティール付けしました。
あとテクスチャーもZbrushのポリペイントです。
左がテクスチャ右はアルファをそれぞれポリペイント。
Nukeはこんなん…。
今回は自慢できるようなテクニックはないです。次回頑張ります!
Recent Comments