2011年7月24日日曜日

SoftimageScript : ObjectBrake v01

1ポリゴン 1オブジェクトに分割するスクリプト

■オブジェクトを選択(複数化)

■実行

CEに渡すときはオブジェクトをポリゴンごとに分割する必要がある。
その補助を行うスクリプト。

オブジェクトごとに名前を持たせ、
CE側でオブジェクトごとに異なるルールを適用できる。

#Python
#ObjectBrake v0.1
#Create By Tera 2011 07 24

app = Application; log = app.Logmessage
oSels = app.Selection
oNames = []
oCounts = []
oColl = XSIFactory.CreateObject("XSI.Collection")

for oObj in oSels:
 oNames.append(oObj.Name)
 oGeo = oObj.ActivePrimitive.Geometry
 oPolys = oGeo.Polygons
 oCounts .append(oPolys.Count)

for i in range(oSels.Count):
 for j in range(oCounts[i]):
  temp = oNames[i] + '.poly[' + str(j) + "]"
  op = Application.ExtractFromComponents("ExtractPolygonsOp", temp, "polymsh_extracted", "", "siImmediateperation", "siKeepGenOpInputs", "")
  newObj = op(0)(0)
  newObj.Name = oNames[i] + "_" 
  oColl.Add(newObj)
oNull = app.ActiveSceneRoot.AddNull("CE_Export")
app.ParentObj( oNull, oColl )

■今後の展開
マテリアルごとに名前を変えたほうが好いかもしれない

0 件のコメント:

コメントを投稿