扉の当たり判定とシーン移動

扉に当たり判定をつけて、扉を触ったら部屋の中に入るようにする。

家を選択した状態でCreateEmpty

オブジェクト名をdoorとかに変えてAddComponentからPhysics>Boxcollider
ドアの位置にドアのサイズにして配置
名前はわかりやすいように「door」にしてIs Triggerにチェックをつける。

家のモデルがある階層にCreate>C# Script
名前はわかりやすいようにdoor_trgにした。
当たり判定確認用

このスクリプトをdoorオブジェクトにアタッチ!

扉に接触してることが確認できた。

 

扉に触れたら家の中(別のシーン)に移動させる。

NewScenで新しいシーンをつくる

アセットをインポート

いい感じのサンプルシーンがあるので、邪魔なモノ消したりライト追加して明るくしたりしていく。

↓お掃除終了。いい感じになったので一旦シーンを保存。

最初のシーンに戻ってunityちゃんをコピー

部屋の中のシーンに戻って貼り付け。
これで最初のシーンで設定した移動とかそのまま使える。
座標ごとコピーされてるみたいでめっちゃ遠くに張り付けられる。


扉の前に移動させてカメラの距離もちょっと近くにした。

door_trgスクリプトにシーンチェンジの処理を追加する

※Blacksmith’s Forgeがサンプルのシーン名

使用するシーンを登録する。
File>BuldSettings

Scen In Build の中に使うシーンを突っ込んでいく。


必要な2つを登録した状態。


これで実行すれば、扉に触れたら部屋の中に移動できる!

 

 

部屋の中の扉にも当たり判定つけて、同じようなスクリプトつけて
最初のシーンに移動させると・・・

扉の前じゃなくてシーンの最初の位置に戻っちゃう。しかもなんか暗い!

ググる。

暗くなってほしくないシーンを開いた状態で
Window>Lighting>settings
AutoGenerateのチェックを外して[GenerateLighting]ボタンを押すだけ。
シーン移動で暗くなる問題はこれで解決。

関連記事




扉の当たり判定とシーン移動” への1件のフィードバック

  1. おかげさまでできました。
    記事をどうもありがとうございます。


コメントを残す

※コメントは承認後に表示されます。
 コメントを公開されたくない場合、名前の後に「:非公開」とつけてください。