Blog

新人日記

Mayaでスクリプトについて学ぶ

こんにちは、新人デザイナーの佐藤です。
10月ももう終わり、めっきり日が暮れるのが早くなったなと感じています。

さて、今回はMayaのスクリプトについて書いていこうと思います。というのも私が行っている業務の中でスクリプトを使用する機会があるのですが、便利さに驚く一方で、なぜそうなるのかを理解するのに苦戦しています。そのため現在Mayaのスクリプトを基本から学んでいる最中なので、その内容についてまとめてみます。

スクリプトの基本理解

まず、Mayaでスクリプトを実行するための基礎的な知識について学びました。MayaではPythonを使用することができ、自動的にオブジェクトを作成したり編集したりすることが可能です。この中でもmaya.cmdsモジュールを使用することで、Maya内部での操作をPythonコードとして書くことができます。これをもとにして、基本的なオブジェクト作成を学びました。例えば以下のように記述することで立方体を作成することができます。

上記のコードについて説明します。

  1. import maya.cmds as cmds
    maya.cmdsモジュールをインポートするコマンド。(このモジュールにはMaya内での操作をスクリプトで制御するための関数が豊富に含まれています)
    ・as cmds: モジュール名を省略する記述。(これで簡潔に呼び出すことができます)
  2. cmds.polyCube(name=’myCube’)
    ・polyCube: 立方体の形状を作成するための関数。
    ・name: 作成する立方体のオブジェクト名を指定するパラメータ。 
実行結果

このスクリプトにより立方体を生成することができました。今回は、オブジェクト名を指定しましたが、下記画像のように位置や回転、スケールといった編集もコードを入力することで実行することができるようになります。

このコードでは幅、高さ、奥行きを2に設定しています。

オブジェクトの自動生成

次に挑戦したのが、同じ形をたくさん並べる「自動生成」のスクリプトです。
今回は立方体を5×5のグリッド状に並べるスクリプトを作成してみました。
手作業でオブジェクトをコピーして並べるのは時間がかかりますが、スクリプトを使用することで、あっという間にオブジェクトを整列させられることを学びました。以下がそのコードと結果になります。

実行結果

このスクリプトを実行すると、5×5のグリッド状に立方体が自動的に並びます。このコードではfor文を使ったループを活用して位置を調整しています。そのため、行数や列数を増やすだけでオブジェクト数を簡単に変えることができます。
加えて、moveの数値をi*3やj*3のように変更することで、オブジェクトの間隔を広げることができます。

今回はMayaのスクリプトの基本を学ぶことで、これまで何が行われているか分からなかったスクリプトについて理解を少しですが深めることができました。
また、スクリプトの学習にはChatGPTの利用も効果的だと伺いました。実際に使ってみると、ChatGPTではMayaのスクリプトを書いてくれたり、自身で書いたスクリプトの改善案を提示してくれたりとより理解を深めやすくなるのではないかと感じています。
今後はAIも活用しながらスクリプトの勉強を続け、さらなるスキルアップを目指していきたいと思います。

次の記事へ