Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。コピー2021.04.07今回はUnityのワールドポイントとビューポートポイントとスクリーンポイントについて見ていきたいと思います。流れとしてはワールドポイントとビューポートポイントとスクリーンポイントが何なのか?を見ていった後で、3Dゲームオブジェクトの位置をそれぞれに変換するサンプルを作成して理解を深めます。スポンサーリンクワールドポイントワールドポイントは3D空間上の位置を表します。左右のX座標、上下のY座標、手前と奥のZ座標を使って表します。5f);等のように使っています。ビューポートポイントビューポートはカメラで表示している領域の事で、ビューポートポイントは上下左右を0~1の間で正規化した座標で表します。カメラの描画範囲の左下の座標はXが0でYが0、右下はXが1でYが0、左上はXが0でYが1、右上はXが1でYが1となります。0~1の範囲を超えた場合はその点が描画範囲から外れたことを意味します。スクリーンポイントスクリーンポイントはカメラで表示している領域をピクセルで表した位置です。Heightを768とした場合は左下の座標はXが0、Yが0、右下はXが1023、Yが0、左上はXが0、Yが1023、右上はXが1023、Yが767となります。ゲーム画面のサイズが変わるとスクリーンポイントも変わってきます。ワールド空間、ビューポート空間、スクリーン空間の位置を変換してみるワールド空間、ビューポート空間、スクリーン空間の位置の変換をするメソッドが用意されているので、それらを使って位置の変換をしてみましょう。CameraゲームオブジェクトのTransformを以下のようにします。Object→Sphereを選択し、Transformを以下のようにします。新しくConversationTestというスクリプトを作成し、Sphereに取り付けます。Camera.main.WorldToScreenPoint(transform.position));}}Camera.mainでMainCameraタグが取り付けられたカメラを取得出来、そのカメラからWorldToViewportPointメソッドを使って、このスクリプトが取り付けられたSphereの位置をビューポートポイントに変換し、それをコンソールに出力しています。Camera.main.WorldToScreenPointメソッドではスクリーンポイントに変換しています。シーンビューでSphereを移動させるとコンソールにワールドポイント、ビューポートポイントとスクリーンポイントが表示されます。初期の状態だと以下のような感じで表示されます。シーンビューでSphereをカメラの描画範囲の右上の方に移動させると以下のように表示されます。点なのでUnityのプリミティブな図形であるCubeやSphereの一部がカメラ内に映っていても、基点となる位置は図形の中心に設定されているので、図形の一部がカメラに描画されていても基点がカメラ外にあれば、ビューポートの0~1の範囲外、スクリーンポイントの範囲外の値が表示されます。ビューポートポイントからワールドポイント等があります。スクリーンポイントからレイを飛ばすといったメソッドもあるのでUnityスクリプトリファレンスのCameraを見てください。スクリプトリファレンスカメラは、プレーヤーがそれを通して世界を見るためのデバイスです。docs.unity3d.com終わりにワールド空間からビューポート空間やスクリーン空間の位置がわかると3D上のゲームオブジェクトの動きに合わせて2D上のUIの位置を変更するといった機能を作ることが出来ますね。それを実際に使ったのがUnityで連続、複数のQTEに対応するUnityで連続してQTEを出現させたり、複数のQTEを同時に表示する機能を作成していきます。0f)からレイを飛ばしてその情報から敵に当たったかどうかといった情報を得る事が出来ます。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事カメラUnityでカメラをスクリプトから切り替えられるようにするUnityで二つのカメラをスクリプトから切り替えるようにし、視点変更機能を作成してきます。カメラUnityでオフライン協力や対戦プレイ時のカメラの分割をするUnityでオフライン協力や対戦プレイ時のカメラの分割し、それぞれのキャラクターを写すカメラを1画面に表示します。カメラUnityでサブカメラを作り、別視点で小窓に表示するUnityでサブカメラを作成し、メインカメラの右上に小さく表示します。これでキャラクターの頭上からの視点を右上に小さく表示するといったことが出来ますカメラUnityのCineMachineを使ってカメラの動きを作成してみるUnityのCineMachineを使うと通常のゲームシーンのカメラとしてだけでなく、イベントシーンのカメラワークの作成も簡単に作成出来ます。そんなCineMachineを使っていくつかのカメラワークを作成してみます。カメラレンダーテクスチャを使ってカメラに映る映像をリアルタイムに描写するUnityでカメラにレンダーテクスチャを設定しランタイムでテクスチャを更新し表示します。カメラUnityでカメラの設定とキャラクターの追従をさせるUnityで使うカメラの設定値を変更したり、カメラがキャラクターを追従するようにしてきます。Scriptingの使い方ホームカメラスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。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をコピーしました。