日向、MovableItemつきオブジェクトが地面をすりぬける原因? を見つける(逆に全く動かない原因も)~カフェ設定いろいろ~
結論:ボックスコライダーじゃないとダメ。
Cluster Creator Kitのコンポーネント『Movable Item』。
3Dオブジェクトにこれをつけると、そのオブジェクトはワールド内で動かせるようになります。
動かしたプレイヤー以外からも、ちゃんと動いて見えるようになります。
すごいですね。
しかしひとつ問題が。
つけたものによっては、なにをどーやってもすべてをすり抜けて落ちていくのです。
たとえすぐ下にボックスコライダーつきの平面があろうが、おかまいなしです。
なら『Rigidbody』(Movable Itemを設定すると同時についてきます)の『Is Kinetic』にチェック入れや~って話になりそうですが、今回はそれではだめなのです。
これすると、一度持って手放したものが、ジャストその場=そこそこ高さの空中に留まってしまうのです。
これではテーブルに持っていったと言え、なくは、まあないですが、いやいやほしい絵面はそうじゃない。
かくなるうえはどうあっても、重力使用オンでリジッドボティを使いこなさねば。
その秘密を、知らねばなりません。
決意を抱いてリジッドボディ、そしてコライダーの設定を、総当たり的に試した――正確にいえばもう手づまりとなってうあーと死んだ魚のような目で公式記事を眺めてたところ『あっボックスコライダーつこてるやんこれや~』と気づいた結果が、冒頭の一文です。
沸いてきては落ち続けるエスプレッソセットから、もともとついてたメッシュコライダーをはずし、かわりにボックスコライダーをつけたら、とたんにスンッと大人しくなりました。
ぶっちゃけ、きつねにつままれたような気持でした。
どうせならつつまれるほうがいいです。もふもふ。
※メッシュコライダーとボックスコライダーが同時についていてもOKですが、メッシュコライダーだけが有効な状態だと、やっぱりすり抜けます。
凸状にするをオンにしても(すくなくともうちの環境では……)無理なようでした。
* * * * *
そんなこんなでようやっと、エスプレットセット無限落下現象から解き放たれたわけなのですが……
そのすぐそばのティーポット。同じ設定したはずなのにこっちは、全くと言っていいほど動きません。
いやいやこんどは真逆かい。
さんざんいろいろ試してそれでもだめで、アセットの使用じたいをあきらめかけた、その時!
インスペクターウィンドウのいっちゃん右上。『静的』(=動かさないアイテムだよ指定)にチェックが入っているのに気づきましたとさ。
なるほどこれ入ってるとマッジ動かないんだ……
えらく納得した一幕でございました。
いや最初に気づいて。
* * * * *
補遺
ここまでつらつらと語っておいてなんですが、ほんとうはMovable Itemは本命ではないのです。
これは『そのアイテムを持てるようにする』Grabbable Itemコンポーネントを設定すると、同時に設定されてくる必要コンポーネントなのです。
なので本来はGrabbable itemから話をするべきだったのですが、日向の説明レベルはその域に達しておりませんでしたので、このような構成となりました。
ここでおわびとともに、補足をさせていただきます。
* * * * *
おまけ!
設定したお茶やお菓子の扱いなどについても、ここでメモっておきます。
きちんとテーブルなどに置かれた状態に見えるコツは、ボックスコライダーの支配領域を、お茶やお菓子の見た目より、ちょっぴり内側にすることです。
ぴったりにするとなんか、テーブルから浮くかんじが。うーん。
過去と未来の自分へ。
新機能『テスト用アップロード』は神機能だからすぐ使え。マジに爆速だから。
チェックリストはぜったい作っとけ。後半疲れてきたときに二度手間を省ける。
『グラブポイント』の設定を忘れるな。なんかコーヒーポットを鎧として装備しちゃったりするから。
それと、お菓子のうえにのってるもんはお皿の『子』にすることも。ふっつーに取り残されるから。
(いろいろおぼんにとって運んでくのは無理でした。もうそれふつーにカフェゲーの世界や。専門外や……orz)
なおこいつらは『子』として位置追従しているだけなので、重力に従ってお皿に着地はしてくれない。ちゃんと高さを合わせること。
置いたはずみなどで弾け飛び、地下に潜ってしまう事故への対策として……
床を薄くしておくのもいいかんじです。
床に埋まらずデスポーンハイトまで落ちてしまえば、元々の設置位置(=ビュッフェ台のうえ)にリスポーンしてくれますから。
まあまだこれ、不安定なんですけど……
応用すれば、片付けシステムは簡易に作れるかもしれません。
問題は置くほうです。やけに難しいのです。
『レイキャスト』とか使って、レーザービーム的にぶん投げる感じにすればいいのか……いや普通に置いてマジ。
うっかり射線を横切ったほかのお客様に当たる未来しか見えぬ。
ハッ、それをきっかけにパイ投げ祭りが爆誕するのかっΣ(゜□゜;)
(爆誕だけにパイ爆発しそうですね。なにその怖いお祭り!)
その後コンポーネント『Rotation Constraint』がいいようだとわかり、つかってみたらもー別世界のように楽になりました。
テーブルの天板見ても、マトモに配膳できるようになったのです。
ワールドで持ってる時点ではナナメったりすることもあるようですが、手をはなすときれいに水平になって着地してくれます。
(RigidbodyにもConstraint・回転の項目はあるのですが……
これ『だけ』を設定している状態だと『自分が斜めの姿勢をとるとお皿もいっしょに斜めになり、その状態で手をはなすと一直線に落下したお皿がテーブルにナナメに立つ』のです^^;
Rotation Constraintをつけたあとは、Constraint・回転の設定を外しても『お皿ナナメ事件』は起きないようです。
かといってConstraint・回転が不要かというとそんなことはなく……
積み重ねたトレー様がなぜかくるんくるん水平回転してらして、まわりのものなどいろいろずらしまくっていたので、これを設定すると同時に『抗力』『回転抗力』を1にしたら、ようやくお鎮まりになりました)
そうそう、前作でジャンプ力の設定をしたとき『ボックスコライダーは正常にコピペできない』なんて言ってましたが……
さっきオレンジジュースのグラスからレモンスカッシュのグラスにコピペしたら、完全にうまくいってました。
オブジェクトの中心からの位置とかについてコピペがされとるとか、そんな感じなんでしょうか。
奥が深いです。
参考:
そー さん 動かせるアイテムを作る Cluster Creator Kit - Grabbable Item
https://note.com/so1/n/n0707822225dc
位置合わせはやっぱり大変ですね^^;でもあともうちょっと。
不具合修正に近いものなのでやらんことにゃいかんのですが、今日中には終わらせなければ。いや終わらすぜ。
次回『チビ猫、『お茶おかし→おせきこうそう』にとりくむ』6/9投稿予定です。
どうぞ、お楽しみに!