ようこそぷっこ村へ、ししゃもです。
(・∀・)ノ
さてさて、今回はアタッチャブルの変な仕様だと思ってた、「自作モデルの独自命名のグループにはアタッチャブルが付けられたり付けられなかったりする」問題が、ブロックベンチのせいだと分かったので備忘録です。いやー、4年間気付かんかったわ、まだまだ知らんことだらけでんな。
自作モデルのグループにはアタッチャブルがくっつかない?
まずアタッチャブルって何やねん?という方は、ここには来ないと思うのですが、一応軽ーく解説しとくと、ざっくり装備品のことだと思っとけばええです。
で、この装備品なのですが、装備品なので装備させたいエンティティの装備させたい箇所に装備させることができます。
何が問題なのかというと、例えば「自作の敵に持たせる剣」みたいなものを作った時に、なぜか変な位置にくっつくのに、既存のゾンビに持たせるとちゃんと持つ、みたいな現象が起こります。分かりにくいので画像を載せながら解説すると…。

まずゾンビのモデルをまんま使った、test_zombieってのを作ります。

次に何でもいいので右手に持たせることのできるアタッチャブルを作ります。右手にはrightItemもしくはrightitemでくっつけることができます。そんでこれらをアドオンで取り込んで持たせると…、

なんでやねん!?
いや、まんま使ってんだから同じになれよ!バカなの!?タヒぬの!?
実は自作モデルのグループにアタッチャブルはくっつく
はい、で、先に結論を言いますと、くっつきます!バカでタヒぬのは私です!
くっつかない仕様だと思っていた頃が私にもありました(さっきまで)
アドオン歴は約4年になるのですが、これずっと仕様なんだと思ってたんだよね。グループ名を公式にうまくそろえるとくっつくという回避方があったんで、ずっと再検証とかもしてなくて、まぁどうにかなってたわけですよ。
最近次のマケプレ用作品の試作をしてて、ついさっきまでエンティティを色々作って遊んでたんですよ。で、汎用素体に装備品くっつけて見た目を掛け算でランダム生成する仕組みを作ってたのがきっかけで、そういえばこの仕様おかしいよね?と思ったので、徹底的に再検証してみたんですよ。そしたらね、ブロックベンチの仕様が悪さしてることに気が付いたんですよ。こわいねー。
ブロックベンチの変な仕様、空のグループを勝手に削除する
ブロックベンチには、JSON書き出しの際に空のグループを消すっていう、変な仕様があるみたいなんですよね(たぶん容量削減のための親切心?)

この仕様のせいで、アタッチしたい位置に置くグループが消滅して、迷子になってたんですよね。rightItemとかの末端に位置するグループってどうしても空になるので、この仕様にひっかっかって消えてたんですよ。前からheadだとくっつくのに、rightItemだとくっつかないのは、バグか仕様だと思い込んでました。
実はマイクラってバグだらけだから、変な挙動見つけるとあんまり深入りせず回避策でスルーするようになるんだよねぇ…。でも今回は無実やった…(´・ω・`)さーせん
ほな、どないしたらええねん? -> 空じゃなきゃいいのよ
グループ内が空じゃなきゃええのよ。

適当にキューブ入れといてもいいんだけど、たぶんロケーターの方が描画に影響でないんじゃないかと思う。微々たるもんだし、めんどいので未検証だけど。グループと同じ名前にしたロケーター入れとけば、パーティクル出したりできるしセクシーじゃん?くらいの理由。

これで無事にくっつくようになりました。タネはいつもつまらないものですね。
まとめ
まとめるといいたいことは1つ!ツールの仕様で上手くいかんなんて気付かんわ!(ちがう)
実際、モデラーは書き出したJSONファイルを見ることなんてほぼない+マイクロソフトはブロックベンチの仕様なんて知らない+たぶんブロックベンチの開発してくださってる方々はアドオンの仕様なんて知らない、っていう地獄の三つ巴な不幸が重なってる、何とも言えないすれ違いが発生してるんだと思われ。マジで地獄の様相だわこれ…。
てなわけで、結論は「必要なグループを空にすな!」です。
アドオン用の空グループを削除しないプラグインとか作ってみようかなぁ…。
それではこの辺で、お帰りの際はお気をつけて~(・∀・)ノシ


コメント