質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2476閲覧

raycasthitで取得した場所がずれてしまう

RyotaOkamoto

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/01/22 03:03

平面にraycasthitで取得した場所が、何故かY軸が変わってしまい、hitpoint.y = 0.5 で強制的にy軸を固定すると今度はx,z軸が変わってしまいます。どうすれば治るでしょうか。

c#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using UnityEngine.EventSystems; 6 7public class placement : MonoBehaviour { 8 public GameObject Prefab; 9 public int mana; 10 public int aCost; 11 public int bCost; 12 public int CCost; 13 public float placementHeigth; 14 15 GameObject a; 16 GameObject b; 17 GameObject c; 18 GameObject plane; 19 GameObject cameraMover; 20 Vector3 mouse; 21 Dropdown dropdown; 22 23 void Start(){ 24 cameraMover = GameObject.Find ("cameraMover"); 25 } 26 27 void Update(){ 28 plane = GameObject.Find ("Plane"); //フィールドの取得 29 ButtonControllerInLevel01 gM = cameraMover.GetComponent<ButtonControllerInLevel01> ();//キャラ選択ボタンの取得 30 if(gM.start != true){ 31 Prefab = gM.Prefab; 32 if(Input.GetMouseButtonDown(0)){ 33 if (EventSystem.current.IsPointerOverGameObject()) { 34 return; 35 } 36 Vector3 hitPoint; 37 Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); 38 RaycastHit hit; 39 if (Physics.Raycast (ray, out hit, 200)) { 40 float x = hit.point.x; 41 float z = hit.point.z; 42 if (hit.collider.gameObject == null) { 43 return; 44 } 45 if(x <= 500 && x >= -500 && z <= 0 && z >= -500){ 46 hitPoint = hit.point; 47 Debug.Log (hitPoint); 48 if(Prefab == gM.a && mana >= aCost){ 49 mana -= aCost; 50 Instantiate (Prefab, hitPoint, Quaternion.identity); 51 }else if(Prefab == gM.b && mana >= bCost){ 52 mana -= bCost; 53 Instantiate (Prefab, hitPoint, Quaternion.identity); 54 }else if(Prefab == gM.c && mana >= 3){ 55 mana -= CCost; 56 Instantiate (Prefab, hitPoint, Quaternion.identity); 57 } 58 } 59 60 } else { 61 return; 62 } 63 } 64 } 65 } 66}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自分のキャラクターのcolliderにヒットしてました。
失礼

投稿2017/01/22 03:31

RyotaOkamoto

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問