かなり基礎的な話
はじめてゲームプログラミングにはモノ同士を「ヒモ」でつなぐ「ヒモれんけつ」がありますが、私はこの連結がどうもうまく使えていなかったのです。
ニンテンドーラボのときからなのですけども思ったようにいかなくて……。
しかしながら他にも作ってみたいものがあったりしてヒモから避けてきたのですけども、そろそろこの辺できちんとヒモれんけつと向き合おうと思いました。
いろいろ試してみると超基礎的な単純なことで、使っている人からしたらそれだけ?っていう内容になりますけども、まだ自分の中に染み込み切っていないところがあるので書きながらまとめておきたいと思います。
連結しよう!ヒモで!
というわけで、とりあえず直方体2個をヒモでつないでみたいのです。
記号で書くと、
■――■
のようにしたいのです。
なので、直方体のモノを2つ置いて、間にヒモれんけつノードンを置いて上下のポートでれんけつします。
この場合の連結の仕方だと左のノードンの上のポートにつないでいるので、左のノードンが親みたいな感じになると思います。
で、まあ、こんなもんでいいでしょ、と思ってゲーム画面に移動してみるとこうなっているわけです。
?!
何が起きているのか。
私は毎回ヒモ連結がこうなるもんで何が起きてんのかわからずパニックになって、その場から逃げ出していたんです。
けども、今回はじっくり向き合ってみることにしました。
何が起きていたのかやっとわかった
なぜ縦になり、右に置いたはずの直方体が上に浮かんでいるのか。
なぜヒモのはずが棒状になっているのか。
右の直方体を風船の素材にしたっけ?いや、していないなぁ……。
とか、じっくり考えていたところ、数秒して上の直方体が落ちてきました。
で、やっとわかったんですけども、単純に上下のポートをつないだだけだとデフォルトで上と下の接続になるのですね。
しかも、かなり厳密に上下につながっているものですからヒモできっちりバランスが取れてしまって、あのように縦にビシッと立っていたという状況の模様。
そして、少し時間が経ったところで、なんかちょっとバランスがくずれてきて、やがて落ちてくると。
てっきり右の直方体の重力が上向きになったと思って混乱していたのですけども、そういう話であれば納得。
というわけで、連結面を縦じゃなくて横になるようにしましょう。
今回は連結の子となるのは右の直方体なので、そちらの連結面をX-とX+にします。
連結の時の親の設定はどうでもいいはず。
微調整が必要
横の連結にしたからいいでしょ、と思ってやると今度はこうなりました。
?
……これも私の中の勘違いがあったのですけども、直方体それぞれの場所は変わらずにその間にヒモが結ばれるのかなと思っていたのです。
実際は、ヒモ連結ノードンで設定したヒモの長さがポイントになっていて、長さぶん直線に離れたところに連結の「子」が置かれるのですね。
すなわち、ヒモれんけつの「ヒモのながさ」がデフォルト5.0mのところ、3.0mくらいにすればいいはず。
できました
というわけで、やっと思っていた形が作れました。
直方体を固定していなかったので、ヒモの重さか何かで傾きましたけども、想像していた連結になりました。
まとめ
まとめると、他の連結だと連結ノードンの大きさは考慮する必要が無くて、つなぐととにかくモノ同士がくっつくということになるのですけど、ヒモれんけつについてはヒモの長さも考慮しての接続になるということですね。
なんかこの辺、私の中での勝手な思い込みがあってうまくできていませんでしたけど、わかってきたのでうまく使えたらなと思います。
おわり。
コメント