[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart12 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart12 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
502: 名前は開発中のものです。 [sage] 2023/12/05(火) 15:46:20.89 ID:XuA3SNH2 すみません、プレハブ化した敵オブジェクトから プレハブ化したアイテムオブジェクトを発生させようとしています。 敵オブジェクトのスプリプトの中で public GameObject 変数名; //格納用 Update()内で if(発生条件){ Vector2 pos = new Vector2(ココ, ココ); //生成位置 Instantiate(変数名, pos, Quaternion.identity); } を記述したらいいのはわかるんですが、 アイテムの発生する座標には当然敵の現座標を入れたいんです。 その場で出現させたいので。 で、生成するときの「ココ」の部分にはそれぞれ 「gameObject.transform.position.x;」 「gameObject.transform.position.y;」を記述すればいいですか? それとも その前にVector2 pos = gameObject.transform.position; を記述して「pos.x」「pos.y」を入れる感じですか? でもその下でまたVector2 posするとか違和感あるんですが ご教授お願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/502
504: 名前は開発中のものです。 [sage] 2023/12/05(火) 16:08:14.10 ID:XuA3SNH2 ちなみに生成箇所を調整するのに Instantiate(変数名, 「ココ」, Quaternion.identity); 「ココ」にtransform.position + transform.forward * 5+transform.up*3 みたいな記述してる方がいましたが、これってなんか微妙な調整方法だと思ってるんですが このスレのエキスパートの皆様、エレガントな調整記述方法教えて頂けませんか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/504
507: 名前は開発中のものです。 [sage] 2023/12/05(火) 16:37:19.84 ID:XuA3SNH2 >>505 すみません、事情があってアイテムオブジェクトは 敵オブジェクトの子オブジェクトにしたくないのです。 自分の理想は、発生命令スクリプトを貼り付けたオブジェクトの 現座標を生成オブジェクトに反映させたい、というものでして。 生成するの時Instantiateの引数にそれを入れる方法を教えて頂けるとありがたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/507
512: 名前は開発中のものです。 [sage] 2023/12/05(火) 18:02:55.10 ID:XuA3SNH2 >>511 自分はまだ初心者なので考えが及びません、すみません。 SeriarizeFieldってインスペクターウィンドウで 編集できるようにしたい場合に宣言するものですよね? 敵オブジェクトの座標を利用して、 敵オブジェクトのスクリプト内で発生させる アイテムオブジェクトの座標に敵の SeriarizeField必要なんですか? 煽りでもなんでもなくまだそこらへんを理解できていなくて、、 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/512
515: 名前は開発中のものです。 [sage] 2023/12/05(火) 19:40:07.29 ID:XuA3SNH2 例えば、Aというオブジェクトにbox collider 2dをトリガー用に複数付けたい場合 子オブジェクトをつけますよね。 その様なオブジェクトAがある条件下で別のオブジェクトBを生成させる場合 そのオブジェクトBもAの子オブジェクトにするってことですよね? なんか何かをしたい場合にすぐ子オブジェクトにしてたら、 子オブジェクトもぐれになる親オブジェクトとかになりますが そんなの問題ないんですか? 子オブジェクトたくさんつけてる親オブジェクトなんて よくある状況ですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/515
518: 名前は開発中のものです。 [sage] 2023/12/05(火) 22:13:52.61 ID:XuA3SNH2 >>516 親オブジェクトにSeriarizeFieldで アイテムオブジェクトを格納し、 あとは親オブジェクトのスクリプト内で Instantiate(変数名, SeriarizeFieldで指定したやつ.position, Quaternion.identity) で、いいよってことですか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/518
521: 名前は開発中のものです。 [sage] 2023/12/05(火) 23:54:29.15 ID:XuA3SNH2 >>519 ありがとうございます。 今自分でも考えてAパターンのコードを記述しています。 ただ、アイテムオブジェクトの発生位置を 敵オブジェクトのY座標から「-1f」修正した場所にしたく 下記のように記述しましたが、反映されず、敵座標と重なって生成されます。 Aパターン↓ Transform myTransform = this.transform; Vector2 pos = myTransform.position; pos.y -= 1f * Time.deltaTime; myTransform.position = pos; Instantiate(bonus_item_a, pos, Quaternion.identity); また、>>519さんが教えてくれたコードでも下記の様に -= 1f させてみましたが反映されず、敵座標と同じ位置に生成されます。 Bパターン↓ Vector2 pos = new Vector2(transform.position.x, transform.position.y - 1f * Time.deltaTime); GameObject hoge = Instantiate(bonus_item, pos, Quaternion.identity); hoge.transform.position = pos; // 生成したオブジェクトの位置を変更 原因がわからず、、、、なぜ生成されるオブジェクトに「-= 1f」が反映されないのか 教えて頂けませんでしょうか。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/521
522: 名前は開発中のものです。 [sage] 2023/12/05(火) 23:57:24.28 ID:XuA3SNH2 >>520 >敵の位置に堕したいならワザワザポジ指定いらんやん どういうことでしょうか。。。 自分もちょっと「本体の座標」を取得してオブジェクトを生成するのに ここまで面倒なコードになるUnityには違和感はありますが、、 なにかもっとシンプルな方法があるんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/522
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s