nomurabbitのブログ

nomurabbitのブログはITを中心にした技術ブログです。

nomurabbitのブログ

【Blender】Scripting for Artists を勉強してみた Part1【3DCG】

この記事はBlender2.92で、公式チュートリアルScripting for Artistsについて勉強した内容をまとめたものです。


こんにちは!らびです。今回はBlenderScripting for Artistsというチュートリアルを実施していきます。

BlenderPythonを扱う方法です。頑張って勉強していきましょう!


ワークスペースの準備


Scripting for Artists Part1ではLayoutワークスペースを使います。一番下のエディタだけPython Consoleに変更しておきます。またオブジェクトとしてMeshのMonkeyを追加しておきましょう。


f:id:nomurabbit:20220223211901p:plain


Python Consoleの冒頭に記載があるように、bpy.contextbpy.dataがそれぞれC、Dという変数に格納されています。


f:id:nomurabbit:20220223220026p:plain



今回はこのCという変数を使って、MeshのMonkeyにアクセスしていきます。

Scene


変数Cにはsceneというプロパティがあります。Layoutワークスペースだと画面右上にSceneの名前(デフォルトではScene)が表示されています。


f:id:nomurabbit:20220223224249p:plain


C.scene.nameでSceneの名前にアクセスできます。結果はこのような感じです。


f:id:nomurabbit:20220223223712p:plain


試しにSceneの名前をScene01に変更してみると…。


f:id:nomurabbit:20220223224324p:plain


C.scene.nameの結果にも反映されます。


f:id:nomurabbit:20220223224130p:plain

CollectionとObject


次に、sceneのプロパティであるcollectionにアクセスします。Pythonスクリプトを実行するとこんな感じです。


f:id:nomurabbit:20220223224459p:plain


Master Collectionってなんだジョ?


Master CollectionはOutlinerエディタに表示されているCollectionのルートを指します。MeshのMonkeyはMaster Collectionの直下に配置されているため、C.scene.collectionのプロパティとしてアクセスすることができるはずです。


f:id:nomurabbit:20220223224702p:plain


C.scene.collection.objectsでMaster Collection直下のオブジェクトにアクセスできます。list()メソッドを使って中を覗いてみると…。


f:id:nomurabbit:20220223225122p:plain


listのただ一つの要素としてSuzanneという名前のオブジェクトがあることがわかりました。


0番目の要素に直接アクセスしてみると、間違いなくSuzanneという名前のオブジェクトがあることがわかります。


f:id:nomurabbit:20220223225357p:plain

まとめ


以上、BlenderScripting for Artistsについて勉強した内容のまとめPart1でした。


PythonスクリプトからBlenderを眺めることで、よりソフトウェアに対する理解が深まりますね。


次回もぜひご覧ください。では!