━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◇ - ◇ - ◇ - ◇ - 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 一言: このスクリプトを使ってポリゴンメッシュを爆発風の形状に編集することがで きます。スクリプトで面をバラバラにして、メッシュ > オフセットで移動さ せれば、それっぽく移動できます。 それでは失礼します。押忍! 【タルタル】