Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。Cameraと切り替えが出来るようにスクリプトを組んでいきたいと思います。カメラを切り替える為には、現在使っているカメラを休止、切り替えるカメラを休止状態から稼働状態へと変更する必要があります。複数のカメラを切り替える事が出来れば、ゲームの視点を切り替える事が出来るようになります。今回作成する機能は↑のようになります。スクリプトを組む前にまずはカメラの休止状態と稼働状態を手作業で切り替えてみます。何の事はないんですが、インスペクタ上のコンポーネントの名前の左にチェックボックスがあり、そのチェックを外すと休止状態になります。コンポーネント毎にチェックを外して機能しないようにも出来ますし、シーンに配置したインスタンスのインスペクタの名前の左のチェックボックスを外した場合、インスタンス自身を存在しない状態(厳密には隠した状態)に出来ます。これはゲーム開始前の設定として手動で機能のOn・Offをするだけなので、ゲーム中に機能のOn・Offをするにはスクリプトで行う必要があります。前回メインカメラとは別にサブカメラを作成しました。Unityでサブカメラを作り、別視点で小窓に表示するUnityでサブカメラを作成し、メインカメラの右上に小さく表示します。これでキャラクターの頭上からの視点を右上に小さく表示するといったことが出来ますgametukurikata.com2016.01.21メインカメラは「masasi」君の頭の少し後ろからの視点になっているので、新しいカメラを作成し、「masasi」君からより遠くの視点にします。↑の記事で作成したサブカメラとは別のカメラを作成し、メインカメラと他のカメラをスクリプトから切り替えが出来るようにします。Cameraを作ります。Cameraの左側のチェックを外してゲーム起動時には機能しないようにします。Cameraより少し遠めに配置します。Cameraを切り替えるスクリプトを取りつけるゲームオブジェクトを配置します。カメラ自体にスクリプトを取りつけた場合、カメラを非アクティブにした時にスクリプトも機能しなくなる為、全体を管理するスクリプトは別のゲームオブジェクトに設定していきます(masasi君にスクリプトを取り付けても構いません)。Emptyで空のオブジェクトを作り、名前を「Script」とします。Script、名前を「ChangeCamera」とします。カメラ切り替えスクリプトを実現する為にはどうすればいいのか?まずは切り替えるカメラのゲームオブジェクトが必要なので、メインカメラと他のカメラを設定するフィールドを作成します。Cameraを設定出来るようになります。カメラの切り替えは数字の1を押した時に行うようにします。Updateメソッド内でキーボードの「1」が押されたかどうかの判定が必要になります。キーの判定にはInput.GetKeyDown(“キー名”)を使います。オブジェクトのOn・Offはゲームオブジェクト.SetActive(true)でOnゲームオブジェクト.SetActive(false)でOffで出来ます。falseで出来ます。今回は1のキーを押すたびにMainカメラとOtherカメラの切り替えをするので、MainCameraがonの時はOtherCameraをOff、MainCameraがOffの時はOtherCameraをOnにするという処理が必要になります。そのカメラ自身がOnの時、つまりアクティブであるかどうかを調べるのは、ゲームオブジェクト.activeSelfというプロパティで調べられます。プロパティは持ってる情報、みたいな感じです。この場合は「ゲームオブジェクトがアクティブかどうかの情報」ですね。いう事は、このプロパティ値を取得し、反転させた値をSetActiveで指定すれば良いという事になります。値の反転は!(エクスクラメーションマーク)で出来ます。{mainCamera.SetActive(!mainCamera.activeSelf);otherCamera.SetActive(!otherCamera.activeSelf);}}と記述します。{mainCamera.SetActive(!mainCamera.activeSelf);otherCamera.SetActive(!otherCamera.activeSelf);}}}となります。Cameraをドラッグ&ドロップしましょう。上のようにスクリプトにカメラの設定をしたら、Unityの実行ボタンを押して試してみます。Cameraに切り替わるようになりました。Cameraよりも奥側にします。Cameraの位置を変えたり、さらにカメラを増やすことによって、ユーザーがカメラの視点切り替えをする機能が作れると思います。FPS(FirstPersonShooter)とTPS(ThirdPersonShooter)をカメラの切り替えだけで実現出来てしまうので感慨深いものがありますねぇ・・・・。次回はライトについて少しやってみます。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事カメラUnityのCinemachineの仮想カメラが優秀過ぎるUnityのCinemachineの仮想カメラを使うとキャラクターを追従させるのも簡単に出来ます。カメラUnityでカメラの設定とキャラクターの追従をさせるUnityで使うカメラの設定値を変更したり、カメラがキャラクターを追従するようにしてきます。カメラUnityでオフライン協力や対戦プレイ時のカメラの分割をするUnityでオフライン協力や対戦プレイ時のカメラの分割し、それぞれのキャラクターを写すカメラを1画面に表示します。プログラムUnityのゲームでキャラクターの動きを追うレーダーカメラを作成するUnityでゲームステージ上からの視点のカメラを作成し、キャラクターを丸印で表示してレーダーのように見える機能を作成します。カメラUnityでサブカメラを作り、別視点で小窓に表示するUnityでサブカメラを作成し、メインカメラの右上に小さく表示します。これでキャラクターの頭上からの視点を右上に小さく表示するといったことが出来ますカメラUnityのCineMachineを使ってカメラの動きを作成してみるUnityのCineMachineを使うと通常のゲームシーンのカメラとしてだけでなく、イベントシーンのカメラワークの作成も簡単に作成出来ます。そんなCineMachineを使っていくつかのカメラワークを作成してみます。Unityでサブカメラを作り、別視点で小窓に表示するUnityで懐中電灯を作り、キャラクターに持たせてみるホームカメラスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。