メッシュオブジェクトの変更に関する考察

 これは、フィギュア、小道具そのものの形状を変更する方法です。

小道具の変更
フィギュアの一部の変更

小道具の変更


※POSER4日本語版では動作しません。POSER5英語版では確認しています。
renderosityのPOSER Forumで話題になっていた方法です。

{

version
	{
	number 4.01
	}

actor bball_1←小道具名を間違えないこと
	{
	storageOffset 0 0 0←必須のようです
	geomCustom
		{
		numbVerts    22
		numbTVerts    22
		numbTSets     40
		numbElems   10
		numbSets    40
		v 7.200000 -6.873002 -6.917732
		v -7.200000 -6.873002 -6.917732
		v 7.200000 -5.216223 -8.409513
		v -7.200000 -5.216223 -8.409513.....
		(中略)
		.....
		f 4/1 3/4 19/19 20/20
		f 1/18 2/17 21/21 22/22
		}

	}
figure
	{
	}
}
留意点としては、
'actor 小道具名'である点。('prop 〜'では無い)
'storageOffset'を入れないと動作しない?
○小道具名を間違えないこと。変更したい小道具の名称にすること。

基本的にはPOSER上であらかじめ.PP2ファイルを生成させて、それをもとに書き換えるのが良いようです。

サンプルはこちら。変更するもとの小道具はこちら。
それぞれ拡張子を.PZ2、PP2に変更すると使用できます。

フィギュアの一部の変更


先の方法の応用です。
フィギュアのエレメントを小道具に置き換える方法(POSER4マニュアルP181参照)で作成したフィギュアを書き換える形になります。

{

version
	{
	number 4.01
	}

actor head:1
	{
	geomCustom
		{
		numbVerts    1126
		numbTVerts    550
		numbTSets     4444
		numbElems   1128
		numbSets    4444
		v 0.019178 0.811869 0.019120
		v 0.025539 0.803257 0.028576.....
		(中略)
		.....
		f 1122/550 1124/549 1126/548 1120/447
		f 1123/550 1121/549 1119/548 1125/447
		}

	}

actor head:1
	{
	customMaterial	1←必須。
	material hada
		{
		KdColor 1 1 1 1
		KaColor 0 0 0 1
		KsColor 0 0 0 1
		TextureColor 0.8 0.8 0.8 1.....
		(中略)
		.....
		transparencyMap NO_MAP
		ReflectionColor 1 1 1 1
		reflectionStrength 0
		}
	}

figure
	{
	}
}
'actor'が2回出てくることに注意してください。キャラクターライブラリーファイルと同一構造です。
2回目の'actor'のところで、'customMaterial 1'という記述があります。これが無いと動作しません。
'material'は通常のマテリアルの設定と同様です。

'geomCustom'を使った方法の他に'objFileGeom'を使った方法もあります。

{

version
	{
	number 4.01
	}

actor head:1
	{
	storageOffset 0 0 0
	objFileGeom 0 0 Runtime:geometries:Test:iikagenHead_P4M.obj
	}
.....


こちらの方が動作が安定します。特にハイポリゴンなメッシュオブジェクトの場合顕著になります。
当方で確認した限りではJudyのHeadをVicky1のHeadに置き換えたときに'geomCustom'では障害が発生しました。
実際の作業では、あらかじめPOSER上で置き換えたフィギュアを作成、エディターで直接書き換える形になります。

問題点としては、どちらの方法を取ったとしても、単一のエレメントの置き換えでは問題ないですが、複数のエレメントを置き換える場合、動作が不安定になるようです。 ただ、'objFileGeom'の方法ならば、置き換えた後に保存、一度'閉じる'をしてから再び'開く'こと('再読み込み'は不可)で正常になるようです。

サンプルはこちらにあります。