[Blender + Python] 規則的な繰返し形状をモデリングする

1. 規則的な繰返し構造

Virusや花粉などの形は普段目にする物の形とは異なって、とても神秘的な形に見えます.これらの形には,規則的な繰返し構造でできているという特徴があります.規則的な繰返し構造は,超撥水性のような特別な機能を生み出すこともあります.とても興味深いですね.

2. Blender + Python

規則的な繰返し構造をモデリングするためには,同じ作業を繰り返し行う必要があります.「繰返し作業は,プログラムに任せろ」ということで,BlenderPythonを組合せて,効率良く,かつ間違い無く形状をモデリングする方法に取り組んでみます.

3. Virus形状

ここでは,規則的な繰返し構造の代表例として,以下のVirus Tutorialで紹介されたいたVirusの(ような)形状をモデリングしましょう.

 

4. コード: virusShape.py

次のコードは以下のことを実行しています.

 a. 既存オブジェクトを削除する
   clearAll()

 b. 球の形状を作る
         addSphere()

 c. 面を選択する(今回は6角形を選択しています)
         selectFace(bm, dist)
     bm: bmeshオブジュエクト
           dist: 原点から距離(dist以上離れた面を選択の候補とする)
     戻り値
             選択されたfaceのリスト

 d. 面を押出す
         extrudeFaces(bm, faces, scale)
           bm: bmeshオブジュエクト
           faces: 押出す面のリスト
           scale: 押出す割合

 e. 面を縮小する
        rescaleFaces(bm, faces, scale)
           bm: bmeshオブジュエクト
           faces: 縮小する面のリスト
           scale: 縮小する割合

   f.  形状をSTL形式でファイルに出力する
        exportSTL(fileName)
          fileName: 出力するファイル名   

 

5. 実行例

コマンドラインから以下のコマンドを実行します.

 blender –P virusShape.py

実行すると,Blenderに下のようなVirus?ウニ?花粉?の形が表示されます.

Blender_virusShape

コマンドラインからBlenderを実行するための設定は,PythonによるBlender3DCGモデリング(1)等が参考になります.

6. まとめ

BlenderとPythonをつかって,規則的な繰返し構造をもつVirusの形状をモデリングするための方法を紹介しました.

押出す面の形状や割合を変化させることで,Virusや花粉のような形状を作成できると思います.よろしければお試し下さい.

参考

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

Thank you for comment!