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

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

ただいまの
回答率

90.50%

  • JavaScript

    16440questions

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

  • Unity3D

    1296questions

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

unity5のプレハブにRIGIDBOYを追加したい。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 203

masa.net

score -1

前提・実現したいこと

本に書かれている通りにソースをコピペしたのですが
エラーが出ました。

unity4からUnity5だったので仕様がかわっているみたいです。
RIGIDBOYが4では自動で追加されていたらしいのですが
5では自分で追加しないといけないらしい。

該当のソースコード

```ここに言語を入力
ここにご自身が実行したソースコードを書いてください
// 弾丸を撃ち出す処理のスクリプト。

var bulletPrefab : GameObject;    // 弾丸のプレハブ。
var initialVelocity : float;    // 弾丸の初速。

function Update() {
// "Fire1"ボタン(マウスクリックの代用)が押されていたら……
if (Input.GetButtonDown("Fire1")) {
// 弾丸プレハブのインスタンス化して、変数bulletに代入する。

var bullet : GameObject =
Instantiate(bulletPrefab, transform.position, transform.rotation);

// クリックした位置(マウスの位置)をワールド座標系上の位置に変換する。
var screenPoint : Vector3 = Input.mousePosition;
screenPoint.z = 10.0;
var worldPoint : Vector3 = Camera.main.ScreenToWorldPoint(screenPoint);
// カメラからクリックした位置へ向かう単位ベクトルを求める。
var direction = (worldPoint - transform.position).normalized;
// 初速を掛け合わせた上で、弾丸の速度として代入する。

//ここでエラー    
bullet.rigidbody.velocity = direction * initialVelocity;
}
}

// タイムアップメッセージの処理。
function TimeUp() {
// スクリプトの処理を止める。
enabled = false;
}

試したこと
bullet.AddComponent<Rigidbody>();

補足情報(言語/FW/ツール等のバージョンなど)

より詳細な情報

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

RIGIDBOYではなく、rigidbodyです。

エラーの修正方法を知りたいということでしょうか?
そうであれば、本文中にそれを書いてください。
最初見たとき、何を聞きたいのか分からなかったです。

「5では自分で追加しないといけないらしい。」ということであれば、自分でプレハブにRigidbodyを追加すればよいでしょう。
スクリプト上で行いたければ、bullet.AddComponent.<Rigidbody>();で追加できます(bullet.AddComponent<Rigidbody>();ではありません。AddComponent<Rigidbody>の間に.を入れてください)。

また、

//ここでエラー    
bullet.rigidbody.velocity = direction * initialVelocity;


は古い書式なので、

bullet.GetComponent.<Rigidbody>().velocity = direction * initialVelocity;


としてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/15 00:24

    ご連絡遅くなってすいません。
    寝落ちしてしまいました。
    日本語おかしいとはよく言われます。
    書式の新しい書き方がわからなかったので質問しました。

    質問しました。
    試しました所エラーはなくなりました。
    ありがとうございます。

    Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発の本を読んでます。
    サンプルソースは
    http://www.sbcr.jp/support/10214.html
    Chapter 5のp168ページです。

    デバッグしました所Input.GetButtonDownの所で動いてないという新しい問題が発生しました。
    この質問の回答としてはありがたかったのでベストアンサーにします。
    ありがとうございました。

    キャンセル

  • 2017/10/15 02:35

    Input.GetButtonDownはuinity5では使用しないほうがいいということはリファレンスに書いてました。
    Input.GetAxisを使用したほうがいい。
    その他のコードもuinity5では動作しません。
    文法的に間違ってなくても動作しないことはあることがわかりました。
    真面目に基礎から勉強するしかないみたいです。

    キャンセル

  • 2017/10/17 17:00

    プレパブをコードに追加していないという初歩的なミスを犯してました。
    コードは最後まで動いています。
    なぜかプレハブがヒエラルキーには増えているのですが
    画面表示で確認できませんでした。

    キャンセル

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    unity 3Dキャラ視点での移動方法

    現在unityちゃんを使って移動をしています。 3Dゲーム開発講座を使っているのですが、 移動方法がワールド座標での方向固定でカメラをキャラに追尾させても 歩く方向はやは

  • 解決済

    [初心者]UnityでFPSを作っています。

    前提・実現したいこと unityでFPSを作っています、今銃から弾を発射するscriptで悩んでいます。 発生している問題・エラーメッセージ scriptを作成後bull

  • 解決済

    UnityのAddForceについて

    前提・実現したいこと アニメーションイベントより以下の関数を実行しbulletPrefabをプレイヤーに向けて一定距離飛ばしたいのですが以下の関数だと弾は生成されるのですが生成さ

  • 解決済

    its value is never usedのエラー

    Assets/Script/PlayerController.cs(21,27): warning CS0414: The private field `PlayerControl

  • 解決済

    unityのカメラ制御について

    unityのcamera制御について Maincameraに下記をアタッチしました。 frはunitychanの子オブジェクトでunitychanの後ろローカル座標(0.0

  • 解決済

    Unity シューティングゲームにオブジェクトプールを導入したい

    今作成中のシューティングゲームがInstantiateとDestroyを繰り返し、モバイル端末だと特に動きがカクカクになってきました。何かいい手はないかと思って調べているとオブジェ

  • 受付中

    フラグがtureになったらボタンを有効にする方法

    はじめて質問させて頂きます。 現在、ノベルゲームを制作しております。 プログラム初心者のため、シナリオ中に○○=tureになったものをおまけ頁で開放(ボタンの画像をかえてを

  • 解決済

    Unity(C#)を使ったゲーム作りで戸惑ってます助けてくださいm(_ _"m)

    前提・実現したいこと プログラム学習歴1か月のTHE初心者です unityでFPSを作ってるのですが、武器の切り替えがうまくいきません やり方の例などを教えてほしいです。

同じタグがついた質問を見る

  • JavaScript

    16440questions

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

  • Unity3D

    1296questions

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