Shade online フォーラム
ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◇ - ◇ - ◇ - ◇ -  2. 押忍! Shadeスクリプト部 - ◇ - ◇ - ◇ - ◇ -
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
押忍!タルタルです。今回もスクリプトの文法はとりあえずスッ飛ばしてより
実践的な空手を、否!スクリプトを紹介します! 押忍!

今回はポリゴンメッシュのすべての面をバラバラにするスクリプトです。

##ここから
##shade8
##polygon_face_ separation.py

actShape = xshade.scene().active_shape()

def vertex_indices_position(Shape):
  L = [''] * Shape.number_of_faces
  for j in range(Shape.number_of_faces):
    L[j] = [''] * Shape.face(j).number_of_vertices
    for i in range(len(Shape.face(j).vertex_indices)):
      L[j][i] = Shape.vertex(Shape.face(j).vertex_indices[i]).position
  return L

xshade.scene().begin_creating()
P = xshade.scene().begin_polygon_mesh(None)
xshade.scene().end_polygon_mesh()
xshade.scene().end_creating()

n = 0

for j in vertex_indices_position(actShape):
  for i in j:
    P.append_point(i)

    if i == j[-1]:
      P.append_edge(n, n - len(j)+1)

    else:
      P.append_edge(n, n+1)
    n = n+1

##ここまで

機能:
選択されたポリゴンメッシュを元に、面がバラバラなポリゴンメッシュを新た
に作成します。

注意:
メーラで表示されたスクリプトを直接Shadeのスクリプトウインドウにコピー
&ペーストした場合、正しく実行できない場合があります。この現象を回避す
るために、いったんエディタでスクリプトファイルとして保存してください。

動作環境:
本スクリプトは以下の環境での動作を確認しています。
Shade 8.0.1 professional
  for Mac OS X / for Windows
Shade 8.0.1 standard
  for Mac OS X / for Windows
Shade 8.0.1 basic
  for Mac OS X / for Windows

一言:
このスクリプトを使ってポリゴンメッシュを爆発風の形状に編集することがで
きます。スクリプトで面をバラバラにして、メッシュ > オフセットで移動さ
せれば、それっぽく移動できます。

それでは失礼します。押忍!
【タルタル】