内容へ移動
ユーザ用ツール
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
現在位置:
Home
»
wiki
»
Unity
»
Tips
»
082 ScreenToWorldPoint関数の注意点
トレース:
wiki:unity:tips:082
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 082 ScreenToWorldPoint関数の注意点 ====== ScreenToWorldPointはスクリーン座標をワールド座標に変換する便利な関数なのですが落とし穴があります。 例えば、マウスクリックした場所にオブジェクトを移動させたい時には <code csharp> if ( Input.GetMouseButtonDown(0) ) { Vector3 mousePos = Input.mousePosition; Vector3 objPos = Camera.main.ScreenToWorldPoint( mousePos ); } </code> とすると思いますが上手くいきません。マウスクリックする座標を変更しても、objPosにはいつも同じ値が返ってきしまいます。 これは、元々スクリーン上のマウス座標は2次元でありでZ軸の値を持っていないため(型だけVector3)です。 従ってZ軸を指定してあげる必要があります。 <code csharp> Vector3 mousePos = Input.mousePosition; mousePos.z = 10.0f; Vector3 objPos = Camera.main.ScreenToWorldPoint( mousePos ); </code> この様に値を指定してあげると、意図した値が返ってくる様になります。
Permalink
wiki/unity/tips/082.txt
· 最終更新: 2014/11/13 09:28 (外部編集)
ページ用ツール
ログイン
文書の表示
文書の先頭へ
印刷
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
oeffentlich