UnityRoomより
利用してない所もちらほらとハケーン。
メモメモ
2012年4月2日月曜日
2012年3月29日木曜日
Making : The Making of 'Gathering'
The Gnomon
なんてサイトがあるんですね。知りませんでした
チュートリアル販売のサイトですが。そのなかの一つが無料になっております
The Making of 'Gathering'
2時間強ありますので長いですが。とても参考になります。
お勧めです
このサイトの中で、SIのモデリングのチュートリアルのサンプルを見たのですが
これはすばらしい
ちょっと欲しいですよ
3D Design for Production
どうやら、年間500ドル弱で、全部見れるっぽいです。
月に一つ買うつもりで、いったら高くはないか・・・。
でも、買って満足しちゃいそうなのでw
ひとつひとつ買うべきですなwww
なんてサイトがあるんですね。知りませんでした
チュートリアル販売のサイトですが。そのなかの一つが無料になっております
The Making of 'Gathering'
2時間強ありますので長いですが。とても参考になります。
お勧めです
このサイトの中で、SIのモデリングのチュートリアルのサンプルを見たのですが
これはすばらしい
ちょっと欲しいですよ
3D Design for Production
どうやら、年間500ドル弱で、全部見れるっぽいです。
月に一つ買うつもりで、いったら高くはないか・・・。
でも、買って満足しちゃいそうなのでw
ひとつひとつ買うべきですなwww
2012年3月21日水曜日
2012年3月17日土曜日
Modeling
これは参考になりすぎる!@AItoiIさんによるモデリングテクニック講座!
戦艦とかSFものの建築物の為にメモメモ
使い回しのパーツを用意しておくと良いかもね
結局、作りたいんで、新規に作っちゃうんだけどねw
戦艦とかSFものの建築物の為にメモメモ
使い回しのパーツを用意しておくと良いかもね
結局、作りたいんで、新規に作っちゃうんだけどねw
2012年3月14日水曜日
Softimage Script : PostScript : ExportUV2EPS V0.1
プリンターに出力するときに送られるファイルを
psファイルというのです。
まあ、説明はいろいろ省いてw
イラストレターに使われるベクターデータも記述できるファイルと思ってOKだと思う。
ベクターだけだと、写真張れないジャン、ってことで、
画像を埋め込めるようになった拡張がepsファイル。
ちょっと昔のPhotoshop Illustrator共通の保存形式ですな。
※現在はさらに拡張されて、おなじみのPDFとなっております。
チェック模様のバックから書き出そうとすると
グレーで選択、出力出来ませんでした
これ、既存のテクスチャがないと、
UV描けない仕様なんだよね~弱
ならば、そのポストスクリプトを直接書き出せればいいんじゃね?
と思い立ち調べてみた。DTPの仕事と重なるので、損はなかろう
ということでサンプル
ポストスクリプトはこんな記述みたい
newpath
0 0 moveto
200 0 lineto
100 200 lineto
closepath
fill
コレをポリゴンごとにやれば出来るかもね~
※急にめんどくさくなったので、PrintScreenでOKってことでw
以下後記
実作業をやっていてやはり、UVが簡単に書き出せないのは痛い。
めんどくさい。
メンドクサイがメンドクサイを上回ったときがToolを作る時w
ちょっと昼休みにPythonで組んでみた
多少制限があるものの,思った以上にすんなりできた
プラグインにするには、まだ足りないのだけど
いろいろ多忙になり、拡張する暇がなさそうなので
コードをさらしておきます
思ったより反響があったので折を見て、
プラグイン化するかもしれません
それまでに使いたい人がありましたら、ご自身の責任でどぞ~。
※現状の制限
・書き出しは固定 R:\ExportUV.eps
・解像度は1024、アスペクト比は固定(ベクターデーターなので依存するのは塗りだし)
・塗りだしサイズは 2pix (解像度、アスペクト比に依存)
・マテリアル周りの検証が不完全だと思われる
・出力先のダイアログの設定
・線の描画のON OFF
・オフセットのON OFF
・Plugin化 ・0-1以上に対応するかの ON OFF
・アスペクト比の対応
うお、けっこうありやがりますよ !
psファイルというのです。
まあ、説明はいろいろ省いてw
イラストレターに使われるベクターデータも記述できるファイルと思ってOKだと思う。
ベクターだけだと、写真張れないジャン、ってことで、
画像を埋め込めるようになった拡張がepsファイル。
ちょっと昔のPhotoshop Illustrator共通の保存形式ですな。
※現在はさらに拡張されて、おなじみのPDFとなっております。
Softimage StampUV
SoftimageのUVの画像書き出しStampUVなのですがチェック模様のバックから書き出そうとすると
グレーで選択、出力出来ませんでした
これ、既存のテクスチャがないと、
UV描けない仕様なんだよね~弱
PostScript 記述
最近UVのプラグインを続けてたので、UVの座標が扱えるならば、そのポストスクリプトを直接書き出せればいいんじゃね?
と思い立ち調べてみた。DTPの仕事と重なるので、損はなかろう
ということでサンプル
ポストスクリプトはこんな記述みたい
newpath
0 0 moveto
200 0 lineto
100 200 lineto
closepath
fill
コレをポリゴンごとにやれば出来るかもね~
以下後記
実作業をやっていてやはり、UVが簡単に書き出せないのは痛い。
めんどくさい。
メンドクサイがメンドクサイを上回ったときがToolを作る時w
ちょっと昼休みにPythonで組んでみた
多少制限があるものの,思った以上にすんなりできた
ExportUV2EPS
プラグインにするには、まだ足りないのだけど
いろいろ多忙になり、拡張する暇がなさそうなので
コードをさらしておきます
思ったより反響があったので折を見て、
プラグイン化するかもしれません
それまでに使いたい人がありましたら、ご自身の責任でどぞ~。
ExportUV2EPS v0.1
※現状の制限
・書き出しは固定 R:\ExportUV.eps
・解像度は1024、アスペクト比は固定(ベクターデーターなので依存するのは塗りだし)
・塗りだしサイズは 2pix (解像度、アスペクト比に依存)
・マテリアル周りの検証が不完全だと思われる
#ExportUV2EPS
#
#UVをEPSファイルで書き出します
#
#グローバル変数 解像度と、出力先を指定
pictSize = 1024
path = "R:\ExportUV.eps"
app = Application; log = app.LogMessage
import re
#-------------------------------------------------
# getCurrentTextureEditer
#-------------------------------------------------
def getCurrentTextureEditer():
ly = app.Desktop.ActiveLayout
views = ly.Views
TextureEditerView = False
#vmだった場合の処理
for view in views:
if view.name == "vm":
for vmView in view.views:
if vmView.Type == "Texture Editor":
TextureEditerView = vmView
#フローティングパレットを精査 上書き
for view in views:
if view.Type == "Texture Editor":
TextureEditerView = view
return TextureEditerView
#-------------------------------------------------
# x() 倍率設定
#-------------------------------------------------
def x(var):
return pictSize * var
#-------------------------------------------------
# writeHeader() epsのヘッダー
#-------------------------------------------------
def writeHeader(f):
f.write(
"%!PS-Adobe-3.0 EPSF-3.0\n" +
"%%BoundingBox: 0 0 " + str(pictSize) + " " + str(pictSize) + "\n\n" +
"newpath" + "\n" +
str(x(0)) + " " + str(x(0)) + " " + "moveto" + "\n" +
str(x(1)) + " " + str(x(0)) + " " + "lineto" + "\n" +
str(x(1)) + " " + str(x(1)) + " " + "lineto" + "\n" +
str(x(0)) + " " + str(x(1)) + " " + "lineto" + "\n" +
"closepath 0.0 setlinewidth stroke\n\n"
)
return
#-------------------------------------------------
# writeLine() 通常の lineto
#-------------------------------------------------
def writeLine(u,v):
return str(x(u)) + " " + str(x(v)) + " " + "lineto" + "\n"
#-------------------------------------------------
# fwriteLine() 最初の書き込み moveto
#-------------------------------------------------
def fwriteLine(u,v):
return str(x(u)) + " " + str(x(v)) + " " + "moveto" + "\n"
#-------------------------------------------------
# writePS(inPolygon,in_aUV,f)
#-------------------------------------------------
def writePS(inPolygon,in_aUV,f,oColor):
#始まり
f.write("\n" + "newpath\n")
#サンプルの数だけ繰り返す
oSamples = inPolygon.Samples
oSampleCount = oSamples.Count
u = in_aUV[0][oSamples[0].Index]
v = in_aUV[1][oSamples[0].Index]
f.write(fwriteLine(u,v))
for i in range(oSampleCount):
if (i != 0):
u = in_aUV[0][oSamples[i].Index]
v = in_aUV[1][oSamples[i].Index]
f.write(writeLine(u,v))
#Color
if oColor != None:
r = oColor.Parameters("red").Value
g = oColor.Parameters("green").Value
b = oColor.Parameters("blue").Value
else :
r = g = b = 0
f.write(str(r) + " " + str(g) + " " + str(b) + " setrgbcolor\n" )
f.write("closepath\n")
f.write("gsave\n")
f.write("fill\n")
f.write("grestore\n")
f.write("4.0 setlinewidth stroke\n")
return
#-------------------------------------------------
# main()
#-------------------------------------------------
def main():
f = open( path ,"w")
writeHeader(f)
#TextureEditerを取得
TE = getCurrentTextureEditer()
if TE == False:
log("Not Found TextureEditer")
return
#プロジェクション名を取得
aStrProjection = TE.GetAttributeValue("allprojectionnames")
if (aStrProjection == None):
log("Not Found UV")
return
lStrProjection = aStrProjection.split(",")
for strProjection in lStrProjection:
oProjection = app.Dictionary.GetObject(strProjection)
aUV = oProjection.Elements.Array
oObj = oProjection.Parent3DObject
oGeo = oObj.ActivePrimitive.Geometry
oPolys = oGeo.Polygons
oMat = oObj.Material
oShaders = oMat.GetAllShaders()
for oShader in oShaders:
#log(oShader.ProgID)
if oShader.ProgID == "Softimage.material-phong.1.0":
oColor = oShader.parameters("Diffuse")
elif oShader.ProgID == "Softimage.material-lambert.1.0":
oColor = oShader.parameters("Diffuse")
elif oShader.ProgID == "Softimage.material-blinn.1.0":
oColor = oShader.parameters("Diffuse")
elif oShader.ProgID == "Softimage.material-constant.1.0":
oColor = oShader.parameters("Color")
elif oShader.ProgID == "Softimage.sitoon_paint.1.0":
oColor = oShader.parameters("Color")
else:
oColor = None
for oPoly in oPolys:
writePS(oPoly,aUV,f,oColor)
f.close()
log("----- Export Eps!!! -----")
main()
今後の拡張
・PPGに対応・出力先のダイアログの設定
・線の描画のON OFF
・オフセットのON OFF
・Plugin化 ・0-1以上に対応するかの ON OFF
・アスペクト比の対応
うお、けっこうありやがりますよ !
ラベル:
PostScript,
SoftimageScript,
UV
2012年3月6日火曜日
2012年3月2日金曜日
登録:
投稿 (Atom)

