[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
773(1): 名前は開発中のものです。 [sage] 2020/03/08(日) 16:38:14.67 ID:+9Yp1l0D(1/4) AAS
Instantiateでプレハブから複数生成したオブジェクトを
ランダムに一つずつ選んで破壊するのはどうすればいいんでしょうか?
774: 名前は開発中のものです。 [sage] 2020/03/08(日) 16:56:51.59 ID:xMgGiSpz(1) AAS
ランダムに選択して、デストロイすればいいよ。
775(1): 弟子 [] 2020/03/08(日) 17:04:39.10 ID:u0wg0OZ9(3/5) AAS
>>773
instantiate はgame object を返してくれるのですよ
なので返しを配列に入れれば、配列からランダムに取り出して操作が出来るのよ
776(1): 名前は開発中のものです。 [sage] 2020/03/08(日) 17:40:35.63 ID:+9Yp1l0D(2/4) AAS
>>775
いろいろ試してはいるのですがなんかエラー出ますm(__)m
そもそも生成自体ちゃんとできてないみたいです
どのように記述すればいいのでしょうか・・・?
public class sousa : MonoBehaviour
{
public GameObject obj; // インスペクターでプレハブ接続済み
public GameObject [] go=new GameObject[5];
// Start is called before the first frame update
void Start()
{
for (int i = 0; i <= 5; i++) // オブジェクト複数生成
{
go[i] = Instantiate(obj);
go[i].transform.position = new Vector3(i, 0, 0);
}
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0)) //マウスクリックでランダム選択
{
Destroy(go[Random.Range(0,5)]);
}
}
}
777: 弟子 [] 2020/03/08(日) 17:43:31.37 ID:u0wg0OZ9(4/5) AAS
>>776
エラーメッセージは?
778: 名前は開発中のものです。 [sage] 2020/03/08(日) 17:52:53.39 ID:+9Yp1l0D(3/4) AAS
indexoutofrangeexception index was outside the bounds of the array
と出ます。
配列の要素数が間違ってるんでしょうか・・・
クリックするたびに同じエラーメッセージ出ます
779: 弟子 [sage] 2020/03/08(日) 18:04:43.41 ID:tckEnlBQ(1) AAS
それはですねー
public GameObject[] go = new GameObject[5];
ここで5個の配列を準備しています
で、5個ということは、0からだと4までになります
0,1,2,3,4で5個
でfor文
for (int i = 0; i <= 5; i++) これは0から5まで
0,1,2,3,4,5の6回
780: 弟子 [] 2020/03/08(日) 18:06:48.18 ID:u0wg0OZ9(5/5) AAS
配列の分だけ回す場合には、最大値には配列.lengthが使えると思いますよ
781: 名前は開発中のものです。 [sage] 2020/03/08(日) 19:06:29.61 ID:+9Yp1l0D(4/4) AAS
なるほどforで0から6までまわしていたということですか・・
forの使い方からしてわかってなかったようです
ご指摘いただいたところを i<5 と書き直したらエラーなくやりたかった動作できました!
Lengthまだ使ったことないので今後勉強して使っていけたらと思います
本当助かりました ありがとうございます!
782(1): タワー ◆j2ZL4YtpzY [] 2020/03/08(日) 20:15:39.95 ID:2ph6JttP(1) AAS
>>771canvasを複数使っており、canvas自体のソートとcanvasにアタッチしたなんか紫色のソートなんとかで管理してます
透明なのが乗ってるのもcollider含んでるのは透過させてない…筈なので大丈夫な筈です
>>772772(1): 弟子 [] 2020/03/08(日) 15:54:59.32 ID:u0wg0OZ9(2/5) AAS
ちょいググったら、コライダーによるイベントシステムのタップ(クリック)は重なってるととれないとか?あるっ歩い
レイ飛ばしてるサンプルあったけどそんな感じかなあ
タップイベントが重なるとダメ…
マジっすか…
背景タップするとダイアログを消す様な処理とか思った通り動いているので勝手に手前が優先されると思ってましたが…
レイ飛ばす…レイヤーですか??
後でちょっと調べます
783: 名前は開発中のものです。 [sage] 2020/03/08(日) 21:09:16.84 ID:W3WxOA2x(1/2) AAS
よこからすみません
newしたゲームオブジェクトを
Instantiateで出現させるというのは
2度手間で冗長な気がするのですが
複数オブジェクトをInstantiateして管理するのには
上記のようなコードが必要になるのですか?
784: 名前は開発中のものです。 [sage] 2020/03/08(日) 21:41:27.93 ID:Zuof1IeM(1) AAS
4行目でnewしているのは配列
ゲームオブジェクトをnewしている訳じゃないぞ
785(1): 名前は開発中のものです。 [sage] 2020/03/08(日) 23:22:10.74 ID:W3WxOA2x(2/2) AAS
はい
(難しい)
プログラミングって難しいことを簡単に説明した本が多すぎ
786: 名前は開発中のものです。 [sage] 2020/03/09(月) 07:43:45.21 ID:YdeKUdBn(1) AAS
>>770770(1): 名前は開発中のものです。 [sage] 2020/03/08(日) 13:19:11.62 ID:yu7/7LHp(2/2) AAS
>>768
そこで良いけど
基本的にUnity側はデフォルトのままで出力側でスケール管理する方が楽だと
ちなみにエディターをスクリプトで拡張したらインポートの大きさやらを色々と自動化できる
Blenderの事は詳しく無いけど、テストで骨適当に入れたモデルをFBXで書き出して試したら?
それがまともなら書き出しや読み込み設定は正しくて、キャラの骨側が問題だって明確になるよ
キャラクターみたいに複雑な物をいきなりやる前にテストパターンで最低限を理解してからじゃなきゃ地獄見るよ
最悪リグ再構築とかあるから
色々試してみた結果、エクスポート時にトランスフォーム→スケールを適用→FBX単位スケールとすることで
ボーンのサイズも想定通りになりました
エクスポート時の問題らしいことは分かったのですが、何故これでそうなるのかはいまいちわかっていません
また作業するのに面倒な手間が一つ増えたな
試行錯誤しながらで手戻りも多いからなおさら堪える
いいワークフローないものですかね
787(1): 弟子 [sage] 2020/03/09(月) 10:20:22.62 ID:wbYfVweV(1) AAS
>>782
「unity canvas 複数 タッチ」とかでgglと情報ありますね
>タップイベントが重なるとダメ…
ではなく、タップするオブジェクトが重なっているとです、日本語むずいですね
レイはRaycasterでまぁ良くある手で光線を放ってぶつかったらっていうのです
>>785
別段難しくはないです、外人が日本人に「あなた日本語うまいね難しいのに」
って言っても、えって思うでしょ
毎日5分でもいいから、コピペなりでもいいのでコードを書く
そうするとそれが普通になってしまうのですよ
毎日触れていると、それが当たり前になって、まったく難しいなんて思わなくなります
小学生がいきなり長文や難しい漢字のを読むと嫌になってしまうように
まずは簡単な事からコツコツ毎日やる事が、意外と近道ですね
788: タワー ◆j2ZL4YtpzY [] 2020/03/09(月) 12:11:29.54 ID:tbF3U5ci(1) AAS
>>787
後半の話しですが毎日やるって大変ですがとても有意義ですよね
風邪引かない限りは毎日一行でもコードを書くと誓って実践する事がモチベーション維持から見てもとても大事
まぁ私はその誓いは守れてませんが
789(1): 名前は開発中のものです。 [] 2020/03/09(月) 13:20:24.38 ID:j3uF5KF8(1) AAS
Androidで画面上部にAdmobのバナー分のスペース空けるには
どうしたらいいのでしょうか
固定値ではデバイスによって変わるのでダメだそうですね
自動で計算してくれる方法があるみたいですがよくわかりません
よろしくお願いします。
790(1): 名前は開発中のものです。 [sage] 2020/03/09(月) 16:11:16.43 ID:uTHhRh67(1/2) AAS
デバッグの基本的な使い方についてお聞きしたいのですが、
ブレークポイントとかいうのって
UNITYの再生ボタンでプレイしても途中で止めれるものなのでしょうか?
あとvisualstudio側で変数参照したりするのってどうやるのでしょうか?
791: 弟子 [] 2020/03/09(月) 17:11:22.29 ID:wFezfTQ9(1) AAS
>>790
「unity visualstudio デバッグ」で検索
792(1): 名前は開発中のものです。 [sage] 2020/03/09(月) 22:05:51.29 ID:uTHhRh67(2/2) AAS
ググった情報見ながら試してはいるのですが、ブレークポイント貼った場所で止まってくれないです
UNITYの初心者本5冊持ってますがどれもデバッグの説明全くないのですよね・・・
変数の監視する方法すらわからず途方に暮れております orz
もうちょっと調べてみます
793: 名前は開発中のものです。 [] 2020/03/09(月) 22:34:55.34 ID:XtYQF3+n(1) AAS
unityの本5冊ってすごいな
全部読んだならすごい勤勉
794: 名前は開発中のものです。 [sage] 2020/03/09(月) 23:14:35.24 ID:5OnMHEir(1) AAS
持ってるだけなら10冊くらいある
795: 名前は開発中のものです。 [sage] 2020/03/10(火) 00:51:11.29 ID:Ci2D5/22(1) AAS
>>792
Unityにアタッチ押してるか?
変数はデバッグのウィンドウのウォッチで見れるよ
ブレークポイントで止まらないのはそもそもそこ通ってない説もありえるけど
796(1): 名前は開発中のものです。 [sage] 2020/03/10(火) 01:34:28.84 ID:YNj1CQC0(1/3) AAS
UNITYと連携せずにvisualstudioとC#(コンソールアプリ)で試したら
ブレークポイントで止まってローカルウインドウが出て変数も確認できました。
でもUNITYと連携するとできないです。unityアタッチやunityデバッガにアタッチも試しました。
環境はUNITY2018.4.15f1とvisualstudio2019なのですが、ググっても2017の情報ばかりなので
バージョンでやりかたが違ってるのかもしれないですね
797: 弟子 [sage] 2020/03/10(火) 10:05:05.96 ID:n124p+L9(1/2) AAS
>>796
まだ未検証だけどMSの公式ページの説明は2019になってますよ
外部リンク:docs.microsoft.com
これから検証してみますね
上下前次1-新書関写板覧索設栞歴
あと 205 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s