Unity

【unity】位置、姿勢をリセットするボタン作成方法

投稿日:2018年11月24日 更新日:

unityでGameObjectの位置、姿勢をリセットするボタンをつくる手順を解説していきます。
リセットするボタンを作ることで、移動してしまったGameObjectを元の位置に戻したり、ゲームをやり直す時にGameObjectのみを移動させることができます。手順作業も簡単なのでぜひ活用してください!

ではさっそく、手順を追って解説していきましょう。

スポンサーリンク

 

 

 

(1)ボタンを設置する

Hierarchyビューで「Create」→「UI」→「Button」を選択し、ボタンを設置します
追加した直後のボタンは、「Canvas」の下位層にあるはずです。ボタンの名前を「Reset」としておきます。また、ボタンを選択したら、InspectorビューからTextを「Button」から「Reset」へ変更しておきましょう。

 

 

 

(2)位置、姿勢をリセットするスクリプトの作成

ここがこのテーマの本題です。Projectビューで「Create」→「C#スクリプト」を選択し、追加します。スクリプトの名前を「Reset_Button」に変更しておきます。今回作成したスクリプトを下に載せておきます。

コメントとして各コードの解説も付け足しておきました。コード内の””で囲われている部分は、位置と姿勢をリセットしたいGameObjectの名前に変更して下さい。例えば、GameObjectの「Sphere」の位置をリセットしたいなら、「GameObject」→「Sphere」にします。
public class Reset_Button : MonoBehaviour の「Reset_Button」は、スクリプトにつけた名前と合わせておいてください。

 

 

 

(3)ボタンに(2)で作成したスクリプトを追加

最後に、(2)で作成したスクリプトをResetボタンにアタッチしていきましょう。ProjectビューのReset_Buttonスクリプトをクリックしたまま、Hierarchyビューのボタンに合わせるだけで簡単にアタッチできます。ここで注意してほしいのが、ボタンは、「Canvas」→「Button」→「Text」の階層になっていますが、スクリプトを追加するのは、「Button」のところです。CanvasやTextに追加してもうまくいかないので注意してください。

次に、ボタンを選択し、Inspectorビューにある「Button(Script)」→「OnClick()」のところを操作していきます
Button(Script)は、(2)で作成したスクリプトとは別物なので注意してください。「OnClick()」の下にある「+」をクリック。GameObjectを選択するボックスをクリックして、ボタンを選択します。下の画像を参照して下さい。

 

 

 

 

 

その後、「No function」と表示されているところから、「Reset_Button」→「OnClick()」を選択します
これは、ボタンに追加されているReset_ButtonというスクリプトのOnClick()クラスを実行するという設定をしていたことになります。
下の画像を参照してください。

 

 

 

 

 

これでリセットボタンをクリックすることで、任意の位置にGameObjectを移動することができるようになりました。下のGifのようにボタンを押すことで位置がリセットされています。

 

 

 

 

 

 

 

 

 

 

Buttonの使い方について、さらに詳しく解説した記事を書きましたので、本記事でButtonの設定がよくわからなかった方は補足としてご利用ください。

 

最後まで読んでいただきありがとうございました。

スポンサーリンク

 

当サイト(your-3d.com)の管理人のゆあーさんと申します。

このサイトでは、私がZBrushやunityなどで調べたことをわかりやすく共有出来たらいいなと思い開設しました。

読んでくださった皆様のお役に立てたら幸いです。

 

Twitter:

@yoursun3d

 

Booth(3Dモデル販売してます!):

https://your-3d.booth.pm/

 

Amazonほしいものリスト:

https://www.amazon.jp/hz/wishlist/ls/YIXXWB7FVXHG?ref_=wl_share