FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

メタセコイアで透明マッピング

・メタセコイアで透明マッピングを使用

weed.png
<上 : 透明マッピングなし , 下 : 透明マッピングあり>

透明マッピングを利用するとテクスチャを透過して利用することができる。

・用意する画像

weed_description.png
<左 : 模様用テクスチャ , 右 : 透過用テクスチャ>

模様用テクスチャと透過用テクスチャの2枚用意する。
透過用テクスチャは透明にしたい部分を"黒"にして、模様の部分を"白"にする。

・マテリアル設定方法

material1.png

材質パネルの下部の"透明"の所に作成した透過用テクスチャを参照させる。
これでメタセコイアで透明マッピングを利用することができます。

・補足

透明マッピングは、髪の毛や木を作るのに使用してるみたいです。
他にもいろいろ使えそうです。

・参考URL

http://ameblo.jp/payattention/entry-10016435362.html
http://aether5th.blog40.fc2.com/blog-entry-81.html

・おまけ

field2.png

せっかくなのでスクリプトで草を茂らせてみました。
コード一応載せときます。

# オブジェクト複数生成 09-04-06 #

# オブジェクトパネル一番下に新規オブジェクトをつくり、
# オブジェクトパネル一番上のオブジェクトを指定個数(xsize×zsize)個配置する
# 実行後オブジェクトを選択してマテリアルを設定する

# 設定

xsize = 8 # x軸方向のオブジェクト個数
zsize = 8 # z軸方向のオブジェクト個数
interval = 100 #間隔

# フィールド

doc = MQSystem.getDocument()
num = doc.numObject #オブジェクト数
obj = doc.object[0] #オブジェクトパネル一番上
mat = doc.material[0] #マテリアルパネル一番上

numVert = obj.numVertex # 頂点数
numFace = obj.numFace # 面数

wcount = 0

# 新規オブジェクト生成

m1 = MQSystem.newObject()


# オブジェクトコピー

# function copy()

for zcount in range(0, zsize):

for xcount in range(0, xsize):

p1 = MQSystem.newPoint(zcount*interval,0,xcount*interval)

for x in range(0,numFace):

if obj.face[x].numVertex == 0: continue

v = []

for y in range(0,obj.face[x].numVertex):

z = obj.face[x].index[y]

a = float(obj.vertex[z].pos.x + p1.x)
b = float(obj.vertex[z].pos.y + p1.y)
c = float(obj.vertex[z].pos.z + p1.z)

p = MQSystem.newPoint(a,b,c)

# 頂点追加
v.append(m1.addVertex(p))

# 面追加
m1.addFace(v)

# UV座標設定
for z in range(0,m1.face[x].numVertex):
#if obj.face[x].select:
m1.face[wcount].setCoord(z,obj.face[x].getCoord(z))

# 面カウンタ
wcount = wcount + 1

# endfunction copy()

# オブジェクトパネルにオブジェクト追加
doc.addObject(m1)
スポンサーサイト

テーマ : 3DCG
ジャンル : コンピュータ

コメント

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。