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

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

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

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

Q&A

解決済

2回答

2496閲覧

Unity で Rayを使ってクリック位置にボールを飛ばすことができない(Unity5入門/Chapter6/ひよこの本)

nrhr

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

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

0グッド

1クリップ

投稿2016/12/26 11:51

編集2016/12/26 12:17

##Unity5でRayを使ってクリック位置にボールを生成したい

Unity5入門(SB creative)の書籍のChapter6内の
””Rayを使ってクリック位置にボールを飛ばす”” に関して質問です。
書籍の手順の通り進めていましたが、
再生してマウスクリックを押しても
Game Display1上には、
Materialがついたボールが上手く生成されません。
Main Cameraを選択した状態で再生しています。
クリックをするとScene上には巨大なフレーム状の球が反映されており、
shade状の球は反映されていません。
prefabを用いたBall(Clone)は
Main cameraの子の中に反映されているみたいで
クリックを押すたびに増えていきますが、
shade状の姿は見えません。

エラーメッセージも特にないのですが、原因はなにが考えれるでしょうか。
Unity5もコードも初心者です。稚拙なご質問かもしれませんが、
ご教授頂けたら幸いでございます。
何卒宜しくお願いいたします。

<作成手順>
・Main cameraにJSコンポーネントを追加
・Java scriptをMonoDevelopで記述
・Hierarchy上にBall(Sphere←Aとする)を作成し位置を調整(X0,Y0,Z0)
・Project上にMaterialを追加
・MaterialをHierarchy上のBall(A)に割り当て
・Ball(A)にRigidbodyを追加
・Ball(A)をプレハブ化(←Bとする)
・Main cameraのScript内のパラメータ(Prefab)にプレハブ化したBall Bを指定
・同Main cameraのScript内のパラメータ(Power)を50に設定
・再生ボタンを実行

となります。ご不明点ございますでしょうか。

###エラーメッセージは出ていません。
コードもprefabもpowerの値も書籍の通り進めております。

###該当のソースコード(冒頭の#は当サイトの都合上全角を使用しておりますが本来は半角でスペース等も書籍の通り書いております)
#pragma strict

public var prefab : GameObject;
public var power : float;

function Update(){

if(Input.GetMouseButtonDown(0)) { var bullet = LoadBullet(); var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition); var dir : Vector3 = ray.direction.normalized; bullet.GetComponent.<Rigidbody>().velocity = dir * power; }

}

function LoadBullet() : GameObject{
var bullet = GameObject.Instantiate(prefab)as GameObject;
bullet.transform.parent = transform;
bullet.transform.localPosition = Vector3.zero;
return bullet;
}

###試したこと
書籍に記載されている通りのコードを書き、
手順も本書のまま進めており、調べても原因が良くわかりません。
PC/Unity共に再起動しても変化はありません。
最初から作り直しても同じ状態になります。

###補足情報(Version/OS等)
<Unity Version 5.4.1f1 personal>
<Unity Javascript>
<MonoDevelop>

<Mac OS Sierra Ver 10.12>
<MacBook Pro (Retina, 13-inch, Mid 2014)>
<Processor 3 GHz Intel Core i7>
<Memory 16 GB 1600 MHz DDR3>
<Graphics Intel Iris 1536 MB>
<Macintosh HD 500GB>

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

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

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

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

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

asadako

2016/12/26 11:54

書籍の手順とは、いったいどのようなものなのでしょうか。もう少し具体的に書いてくださると幸いです。
guest

回答2

0

自己解決

時間をおいて作り直したら正常に動作致しました。
お手数おかけしました。

投稿2017/01/12 13:11

nrhr

総合スコア8

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

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

0

bullet.transform.parent = transform; を消してください

投稿2017/01/08 18:46

WahoiJ

総合スコア8

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

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

nrhr

2017/01/12 13:08

ありがとうございます。 時間をおいて作り直したら正常に動作致しました。 お手数おかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問