Loading…
10« 2011 / 11 »12
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.

降り物を作る

Posted by thattori43 on 29.2011 Poser関係   2 comments   0 trackback

 平日で時間が取れなく軽い話題。

降りものと言う事で降る雪を作る事を考えてみました。

こんな感じ。 キャラはPoser9/Pro 2012起動デフォのAndy2先輩。
snow_fall


この手の降らせ物はPhotoshopとかでトランスマップを作って平ポリゴンに貼って抜くとか、幾つかの形状の雪を作ってちまちま配置という手法を今迄やってたのですけど、取りあえず応用が利くシステマティックな手段としてPoserのPythonスクリプトを作ってやってみました。

ソースコード非常にシンプルでこんなかんじ。
----------------------[ここからソースコード]---------------------

import poser
import random

loadLib = "/Runtime/Libraries/Props/Primitives/ball.ppz"
cnt = 100
x_min = -1
x_max = 1
y_min = 0
y_max = 1
z_min = 0
z_max = 1
sca_min = 0.05
sca_max = 0.1

scene = poser.Scene()

for var in range(0,cnt):
x = random.uniform(x_min,x_max)
y = random.uniform(y_min,y_max)
z = random.uniform(z_min,z_max)
sca = random.uniform(sca_min,sca_max)

print str(x)+" "+str(y)+" "+str(z)+" "+str(sca)

scene.LoadLibraryProp(loadLib)
act = scene.CurrentActor()
act.SetParameter("Scale",sca)
act.SetParameter("Xtran",x)
act.SetParameter("Ytran",y)
act.SetParameter("Ztran",z)

----------------------[ここまでソースコード]---------------------
(0)概要
 指定したpropをシーン内の指定した範囲に指定した数だけランダムに配置するもの。
 また、ロードしたオブジェクトのスケールもランダムに変更します。

(1)変数の説明
 loadLib   : ここにシーン中に散布させたいプロップのライブラリパスを記述
 cnt  : シーンに散布させるオブジェクトの数を記述(整数)
 x_min,y_min,z_min  :  シーンに散布させるX軸、Y軸、Z軸の範囲の最小値(実数)
 x_max,y_max,z_max  : シーンに散布させるX軸、Y軸、Z軸の範囲の最大値 (実数)
 sca_min,sca_max  : オブジェクトのスケールをランダムに変化させる範囲の最小、最大値(実数)
(2) アルゴリズム
 シーンに配置するオブジェクトをloadLibの変数に指定してcntの数だけ乱数で決めた配置座標にオブジェクトを配
 置していきます。 また、配置オブジェクトの大きさも決められたスケール範囲内で乱数で決まる。
 但し、各オブジェクト間の衝突(重なり)判定はしてないのでオブジェクト同士は重なる場合があります。
 ちなみに、上記はPoser標準プリミティブのボールを雪に見立てて配置するものになります。

シーンにプロップを散布させたい場合が結構ありますので即席で作ってみた感じです。
プロップによってはローテーションなんかも乱数で決定させた方が効果的な場合もありますね。

最近、wxpythonをちょっと勉強し始めたのでちょっと作って試してみました。(^^
といってもこのスクリプト自体はwxpythonを使ってませんけどね。(^^;
一回作っておくと使い回しが効いて楽ですからね。

ちなみに、このPoser9標準、起動画面デフォのAndy2先輩。起動してすぐ削除していたので気付きませんでしたが、実はSSSのMATが適用されてますね。(@o@/ 先日気付きました。(^^;
andy2


このMATをパクらせてもらって、象牙レオパード。(sannziさん、ごめんなさい(^^;)
zouge_leopard



  

プロフィール

thattori43

Author:thattori43
使用機種: Mac pro(MB535J/A)
趣味でCGやってます。

My tweet

カテゴリ

openclose

コメント+トラックバック

Comments<>+-
Trackback <> + -

月間アーカイブ

メールフォーム

名前:
メール:
件名:
本文: