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

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

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

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

Unity3D

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

Q&A

解決済

1回答

907閲覧

Unity オブジェクト スクリプト 変更

Jorge

総合スコア6

C#

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

Unity3D

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

0グッド

0クリップ

投稿2020/02/02 02:35

編集2020/02/02 10:22

UnityのSteamVRについているサンプルシーンの中にある
弓で打って風船が出るスクリプトを改造したいのですが、何処を編集するのかわかりません。

やりたいこと

青く丸い所が1つのプレハブしか入らず、他のプレハブオブジェクトもアタッチ出来るように枠を出せるようにしたいです。
イメージ説明

balloon

1using UnityEngine; 2using System.Collections; 3 4namespace Valve.VR.InteractionSystem 5{ 6 //------------------------------------------------------------------------- 7 public class BalloonSpawner : MonoBehaviour 8 { 9 public float minSpawnTime = 5f; 10 public float maxSpawnTime = 15f; 11 private float nextSpawnTime; 12 public GameObject balloonPrefab; 13 14 public bool autoSpawn = true; 15 public bool spawnAtStartup = true; 16 17 public bool playSounds = true; 18 public SoundPlayOneshot inflateSound; 19 public SoundPlayOneshot stretchSound; 20 21 public bool sendSpawnMessageToParent = false; 22 23 public float scale = 1f; 24 25 public Transform spawnDirectionTransform; 26 public float spawnForce; 27 28 public bool attachBalloon = false; 29 30 public Balloon.BalloonColor color = Balloon.BalloonColor.Random; 31 32 33 //------------------------------------------------- 34 void Start() 35 { 36 if ( balloonPrefab == null ) 37 { 38 return; 39 } 40 41 if ( autoSpawn && spawnAtStartup ) 42 { 43 SpawnBalloon( color ); 44 nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time; 45 } 46 } 47 48 49 //------------------------------------------------- 50 void Update() 51 { 52 if ( balloonPrefab == null ) 53 { 54 return; 55 } 56 57 if ( ( Time.time > nextSpawnTime ) && autoSpawn ) 58 { 59 SpawnBalloon( color ); 60 nextSpawnTime = Random.Range( minSpawnTime, maxSpawnTime ) + Time.time; 61 } 62 } 63 64 65 //------------------------------------------------- 66 public GameObject SpawnBalloon( Balloon.BalloonColor color = Balloon.BalloonColor.Red ) 67 { 68 if ( balloonPrefab == null ) 69 { 70 return null; 71 } 72 GameObject balloon = Instantiate( balloonPrefab, transform.position, transform.rotation ) as GameObject; 73 balloon.transform.localScale = new Vector3( scale, scale, scale ); 74 if ( attachBalloon ) 75 { 76 balloon.transform.parent = transform; 77 } 78 79 if ( sendSpawnMessageToParent ) 80 { 81 if ( transform.parent != null ) 82 { 83 transform.parent.SendMessage( "OnBalloonSpawned", balloon, SendMessageOptions.DontRequireReceiver ); 84 } 85 } 86 87 if ( playSounds ) 88 { 89 if ( inflateSound != null ) 90 { 91 inflateSound.Play(); 92 } 93 if ( stretchSound != null ) 94 { 95 stretchSound.Play(); 96 } 97 } 98 balloon.GetComponentInChildren<Balloon>().SetColor( color ); 99 if ( spawnDirectionTransform != null ) 100 { 101 balloon.GetComponentInChildren<Rigidbody>().AddForce( spawnDirectionTransform.forward * spawnForce ); 102 } 103 104 return balloon; 105 } 106 107 108 //------------------------------------------------- 109 public void SpawnBalloonFromEvent( int color ) 110 { 111 // Copy of SpawnBalloon using int because we can't pass in enums through the event system 112 SpawnBalloon( (Balloon.BalloonColor)color ); 113 } 114 }

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

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

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

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

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

fiveHundred

2020/02/02 02:43

「うまくいかず悩んでいます。」ではどこがうまくいかないのか分かりません。 エラーが出る、意図した挙動にならない、など明確に記載してください。
fiveHundred

2020/02/02 06:14

言っていることが意味不明ですが、風船だけでなく他のものも生成したいということでしょうか?
guest

回答1

0

ベストアンサー

インスペクターでballoonPrefabに複数のプレエハブを入れたいのであれば、public GameObject balloonPrefab;public GameObject[] balloonPrefab;にして、インスペクターからsizeの数値を増やせば出来ます。
ただ、それだけだと別の部分でエラーが出るかと思いますので、「Unity プレハブ 配列」とかでググってください。

投稿2020/02/03 00:40

simapiko

総合スコア332

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

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

Jorge

2020/02/05 12:08

ありがとうございました。 プレハブをRandomで出したところ出来るようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問