![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ボタンを押すと、キャラクターの真後ろにオブジェクトが出現するようにしたいのですが、
using UnityEngine;
using System.Collections;
[ExecuteInEditMode()]
public class GUIController : MonoBehaviour {
public CharacterController characterController;
public GameObject character;
public GameObject domino;
private Vector3 objPosition;
// Use this for initialization
void Start () {
objPosition = new Vector3 (0, 0, 0);
}
void OnGUI(){
if(GUI.Button(new Rect(600, Screen.height - 160, 120, 120), "おす")){
Debug.Log("ぼたん");
float x = characterController.transform.localPosition.x;
float y = characterController.transform.localPosition.y + 0.5f;
float z = characterController.transform.localPosition.z - 0.64f;
objPosition.Set(x, y, z);
Debug.Log (x+","+y+","+z);
GameObject domino_prefab = (GameObject)Instantiate(domino,objPosition, characterController.transform.rotation);
}
}
}
こうしてみたのですが、うまくキャラクターの真後ろにオブジェクトが出てきてくれません。
どなたか助けてください!
No.1ベストアンサー
- 回答日時:
localPosition ではなく transform. TransformPoint ですね。
もしもキャラに追従させたいのであれば オブジェクトを出現させてから •••transform.parent = ネーム です。それから transform. localPosotionで座標を指定します。追従しない場合は上で追従する場合下です。transform.parent にオブジェクトネームを指定すると自動的に一つの固まりとしてシーン上に存在できます。No.2
- 回答日時:
書き足しですが。
localPosition はそのまま指定して良いです。自分の位置を(0,0,0)として考えるのでlocalPosition =(x,y,z); で良いです。
TransformPoint は、ワールド座標で指定したものがunity内部で変換してくれるので。
objPosition =gameobject.transform. Position +newVector3(x,y,z); となります。
x y z は任意の数値です。質問者さんの例で書けば (0,0.5,0.64)ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
VBAのWindowオブジェクトとWork...
-
C++でのクラスオブジェクトの破棄
-
ワイルドカード<?>と型パラメー...
-
Excelで =EMBED("Acrobat Docu...
-
COMコンポーネントって何?
-
戻り値がクラスオブジェクト
-
オブジェクト指向とモジュール設計
-
VB6.0(SP6)からActiveXDLLをコ...
-
オブジェクトとは、わかりやす...
-
CoCreateInstanceでエラーになる。
-
ADO オブジェクトの渡し方
-
Accessの連結・非連結オブジェ...
-
EXCEL VBAにて動的にCheckBOXを...
-
Setステートメントの使い方につ...
-
【Java】入力した西暦→和暦に変...
-
VBA 同じ名前のオブジェクトを...
-
VBAでvlookup関数から、別シー...
-
0埋めについて
-
ブラウザ上でEXCELの印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0 == False はいいけど
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
Excelで =EMBED("Acrobat Docu...
-
VBAのWindowオブジェクトとWork...
-
JAVAからHTMLへ値を返す方法
-
EXCEL VBAにて動的にCheckBOXを...
-
ワイルドカード<?>と型パラメー...
-
COMコンポーネントって何?
-
VBA 同じ名前のオブジェクトを...
-
Object型からDouble型へのキャスト
-
ビジュアルC++でボタンの有...
-
error C2712: オブジェクト ア...
-
オブジェクト名をforループ内で...
-
bmp画像をjpegやpng画像に圧縮...
-
戻り値がクラスオブジェクト
-
Vbで通常使用するプリンターを...
-
時間帯判定をする。
-
Webアプリケーションのエラーメ...
-
LISTBOXの内容が更新されま...
おすすめ情報