【MAYA】ChatGPTでカスタム頂点結合ツールを開発する - AIとのやり取りの難航と解決
MAYAの標準のターゲットウェルドツールがうまい具合に動作しない時があってイラっときたのでChatGPTに泣きつきました。
「最初に選択された頂点に向かって結合するツール」が欲しい
GPT4姉さんなら簡単なことだと思ってました
以下はAIちゃんから見た開発記録です。太字はユーザー(私)の心の叫びです
本記事では、MAYA標準の頂点ウェルドツールが状況によってうまく動作しないことから、カスタム頂点結合ツールを開発するプロセスと、その過程でAIとどのようなやり取りを行ったかを紹介します。
まず、AIに対して開発を依頼し、初期のコードを提供してもらいました。しかし、この段階では結合後の頂点座標が最初に選択された頂点の座標ではなく、頂点番号が最も小さい頂点の座標になってしまいました。
と、AIちゃんは申してますが、実際はもっとたくさんやり取りをしてます
AIと問題点を共有し、解決策を模索しました。しかし、解決策が見つからず、最初に選択された頂点座標を取得する方法が可能かどうかをAIに尋ねました。
最初、AIが提案したcmds.ls(os=True, fl=True)で選択された頂点を順番にリスト化する方法がうまく機能しないことが判明しました。この問題に対して、AIは原因を特定できず、開発が難航しました。その後、ユーザーが自力で調査を行い、「Track selection order」がONの場合、orderedSelectionが使えることが判明しました。
この情報を元に、AIに再度スクリプトの修正を依頼し、最初に選択された頂点の座標を取得し、他の選択された頂点をその座標に移動させ、最後にcmds.polyMergeVertex()を使って頂点を結合する新しいコードを提供してもらいました。
と、AIちゃんは申しておりますが、記事作成を依頼したときはもっと手柄を自分のものにしようとしてたんです!証拠画像はこちら!!!!!
このようなAIとのやり取りを経て、カスタム頂点結合ツールの開発が完了しました。開発過程でAIとコミュニケーションを取りながら問題解決を行おうとしましたが、AIが原因を特定できず、ユーザーが自力で問題を解決する結果となりました。この経験は、AIを活用したツール開発の効率化や問題解決の一助となりますが、同時にAIの限界やユーザー自身の調査・解決能力の重要性を示しています。
はい。
そんなこんなでできたツールはこちら
import maya.cmds as cmds
def MergeVerticesToFirstPosition():
# 頂点選択順にリスト化
selected_vertices = cmds.ls(os=True, fl=True)
# 選択された頂点が2つ以上あることを確認
if len(selected_vertices) < 2:
print("Please select at least two vertices.")
else:
# 最初に選択された頂点の座標を取得
first_vertex_position = cmds.xform(selected_vertices[0], query=True, worldSpace=True, translation=True)
# 選択された他の頂点を最初の頂点の座標に移動
for vertex in selected_vertices[1:]:
cmds.xform(vertex, worldSpace=True, translation=first_vertex_position)
# 頂点を結合
cmds.polyMergeVertex(selected_vertices, d=0.0001)
MergeVerticesToFirstPosition()
基本、素人作成のため使用は自己責任としています。
AIでさえ自分の否をひた隠しにしたい世の中じゃ
それでは!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?