タグが [質問] から [要望] に変更されました。
追加して、insertObjectがあるのにinsertMaterialが無いようです。
オブジェクトリストと材質リストの操作系スクリプトを作ってるのですがオブジェクトにあって材質にないメソッドを追加してほしいです
2019-12-11 14:19
材質のmergeは必要がないため内部にもありません。
すべての面への材質割り当てを変更してから片方の材質を削除すれば、それで合成と等価になります。
2019-12-12 09:52
>材質のmergeは必要がないため内部にもありません。
>すべての面への材質割り当てを変更してから片方の材質を削除すれば、それで合成と等価になります。
materialをドラッグ&ドロップしている際のに「~を合成しますか?」という確認が出てくるのすがこれは、それはそのような処理を内部的にも行っているということでしょうか?
現状はそちらで対応できればと思いますが、materialにもmergeがあって対象のマテリアルを指定すれば、割り当て処理も自動処理されるようなのがあると、その処理を毎回書かなくてもいいかなと思います。
2019-12-12 11:00
>materialをドラッグ&ドロップしている際のに「~を合成しますか?」という確認が出てくるのすがこれは、それはそのような処理を内部的にも行っているということでしょうか?
そうです。
オブジェクトのmergeはその中にある頂点・面といった要素を合成しますが、リストには変更は加えません。材質内には合成可能な要素がないのでmergeは不要なのです。
合成なんて毎回書くような頻度で使用する処理ではありませんので、必要なら独自にimport可能なライブラリ化するなどして共通化してください。
2019-12-12 11:57
ご返答ありがとうございます。
mergeに関しては割り当て直せばいいというので了解しました。
cloneとinsertについては引き続き対応を検討いただきたいです。
各パラメーターをコピーして、新しく生成して割り当て直すというのは項目数が多く、内容も材質項目が追加され他場合コピーされない項目が出てきますので単純に複製されるメソッド、特定の材質の下に移動したい場合などはinsertが無いと同様の懸念点があります。
宜しくお願いします。
2019-12-12 14:49
スクリプト側で用意してほしいメソッドやプロパティで用意しておいてほしいのが、スクリプトを書く人が毎回同じ処理を書く必要が無いというメリットがあります。
割とメタセコのPythonを書いてて思うのが、UI上でドラッグ&ドロップやボタンを一つ押せば自動処理される部分がなぜこんな冗長なコードを書き直さなければいけないのか…と思ってしまうのです。
例えば、内部で行うには冗長な処理で良いと思うのですがそれを外部からスクリプトで扱う人は、同じことを書いたらメタセコ本体が一つのメソッドやプロパティを用意しておいていただければそれにアクセスする人はそれらの記述を行わなくてすみます。
1つ実装するだけで、1000人が同じ処理を同じように書くのが不要になります。
また、安全度の問題もあります。
UI上からアクセスしていたら間違いはおきませんが、スクリプトで削除等の記述を間違えてしまったら最悪データを破壊する可能性があります。
そういう部分は、なるべくメソッドやプロパティで事故が起きないようになっていて欲しいなと思います。
2019-12-12 15:08