ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
※前スレ
【ゲームエンジン】Unity初心者質問スレBuild2
https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
探検
【ゲームエンジン】Unity初心者質問スレBuild3
■ このスレッドは過去ログ倉庫に格納されています
2020/01/11(土) 14:28:59.18ID:wPvGtAaQ
2ダーク王鍬大使 ◆SoVpkB15jY
2020/01/11(土) 15:14:33.35ID:HCTv2Y3e 質問イイでふか?(^^
変数の配列って宣言するときに要素数も決めなきゃいけないのでひょうか?(^^
あとから一つずつ足していくみたいな形に出来ないと困りまんこ(^^
変数の配列って宣言するときに要素数も決めなきゃいけないのでひょうか?(^^
あとから一つずつ足していくみたいな形に出来ないと困りまんこ(^^
3ダーク王鍬大使 ◆SoVpkB15jY
2020/01/11(土) 15:16:42.54ID:HCTv2Y3e ああ、List使えばいいんでふね…(^^
4名前は開発中のものです。
2020/01/11(土) 15:27:22.16ID:GoAReVTm2020/01/11(土) 15:43:20.40ID:wPvGtAaQ
前スレ995で質問した者です
アドバイスを元に、parentをnullにしてみると生成されたプレハブがキャンバス外なのか描写されなくなってしまいました
続いて生成後に新しく作成したキャンバスに親を変更すると実行後1回目だけ左端の意図しない位置にプレハブが生成され、その後通常に動作しました
その後も色々試したのですがまだうまく行きません
あとは
・先に位置を取得して新しいキャンバスにプレハブを生成(これだと頂いたアドバイスを活かせませんが・・・)
・デストロイ前に敵のイメージを透明にする
くらいしか思いつかないです
やりたい事はオブジェクトAの上にオブジェクトBを重ねて表示、Aが消えてもBは消えないという動作です
どうかアドバイスをお願いします
アドバイスを元に、parentをnullにしてみると生成されたプレハブがキャンバス外なのか描写されなくなってしまいました
続いて生成後に新しく作成したキャンバスに親を変更すると実行後1回目だけ左端の意図しない位置にプレハブが生成され、その後通常に動作しました
その後も色々試したのですがまだうまく行きません
あとは
・先に位置を取得して新しいキャンバスにプレハブを生成(これだと頂いたアドバイスを活かせませんが・・・)
・デストロイ前に敵のイメージを透明にする
くらいしか思いつかないです
やりたい事はオブジェクトAの上にオブジェクトBを重ねて表示、Aが消えてもBは消えないという動作です
どうかアドバイスをお願いします
6名前は開発中のものです。
2020/01/11(土) 15:59:21.80ID:1/8GPuaw >>5
aのワールドポスとってBの生成時にそれをセットすればいいだけじゃ?parentとかやると話ややこしくなる
aのワールドポスとってBの生成時にそれをセットすればいいだけじゃ?parentとかやると話ややこしくなる
2020/01/11(土) 16:16:16.56ID:wPvGtAaQ
>>6
レスありがとうございます
一度ポジションを取得する方法も自分なりにやってみたのですが、instantiateで取得したポジションを指定する方法がわかりませんでした、、
その時VisualStudioではvector3をtransformに変換することは出来ませんといったような警告がでてしまったいたと思います
new vector3を手書きで入力する事は出来るのですが、オブジェクトAの位置をposAに代入、それをInstantiateの引数に記述して反映させる方法がわかりません
Instantiate(プレハブ,posA)の様に書く方法はあるのでしょうか?
レスありがとうございます
一度ポジションを取得する方法も自分なりにやってみたのですが、instantiateで取得したポジションを指定する方法がわかりませんでした、、
その時VisualStudioではvector3をtransformに変換することは出来ませんといったような警告がでてしまったいたと思います
new vector3を手書きで入力する事は出来るのですが、オブジェクトAの位置をposAに代入、それをInstantiateの引数に記述して反映させる方法がわかりません
Instantiate(プレハブ,posA)の様に書く方法はあるのでしょうか?
2020/01/11(土) 16:17:01.56ID:ftB0znZP
2020/01/11(土) 16:19:56.60ID:joHWbw4j
>>5
Destroy前に透明にしておくのがわりと定石っぽいと思う
どうせ破壊時にSEとか演出入れる場合即Destroyはできなくなるし
数が増えてくるとDestroyしてInstantiateしてってやってると思ってるより重くなっちゃうのでしっかりプーリングするのを覚えるといいことづくめよ
Destroy前に透明にしておくのがわりと定石っぽいと思う
どうせ破壊時にSEとか演出入れる場合即Destroyはできなくなるし
数が増えてくるとDestroyしてInstantiateしてってやってると思ってるより重くなっちゃうのでしっかりプーリングするのを覚えるといいことづくめよ
2020/01/11(土) 16:27:37.00ID:wPvGtAaQ
2020/01/11(土) 16:35:55.39ID:eNMw2FnY
>>7
敵とダメージをuGUIに置いているとして、やりたいことをベタ書きするならこんな感じ
var enemy = 敵.GetComponent<Transform>();
var canvas = enemy.GetComponentInParent<Canvas>();
var damage = Instantiate(ダメージプレハブ, canvas.transform) as GameObject;
damage.transform.position = enemy.position;
敵とダメージをuGUIに置いているとして、やりたいことをベタ書きするならこんな感じ
var enemy = 敵.GetComponent<Transform>();
var canvas = enemy.GetComponentInParent<Canvas>();
var damage = Instantiate(ダメージプレハブ, canvas.transform) as GameObject;
damage.transform.position = enemy.position;
2020/01/11(土) 17:08:22.23ID:wPvGtAaQ
>>11
出来ました!ありがとうございます
この処理でも最初の一回が左端に表示されてしまったのですが、実行を押した瞬間に攻撃していたので処理が間に合わない(バグ?)みたいで、戦闘のスタートとストップボタンをつけて実行後すぐに戦闘開始しない様にしてみたら正常に動作しました
テキストを好きな位置に生成するという単純な事で半日使ってしまいましたが良い勉強になりました、ありがとうございました
出来ました!ありがとうございます
この処理でも最初の一回が左端に表示されてしまったのですが、実行を押した瞬間に攻撃していたので処理が間に合わない(バグ?)みたいで、戦闘のスタートとストップボタンをつけて実行後すぐに戦闘開始しない様にしてみたら正常に動作しました
テキストを好きな位置に生成するという単純な事で半日使ってしまいましたが良い勉強になりました、ありがとうございました
13名前は開発中のものです。
2020/01/11(土) 17:10:44.69ID:GoAReVTm14名前は開発中のものです。
2020/01/11(土) 17:12:42.45ID:GoAReVTm >>12
プレファブをhide状態で作っておいて、生成してからhide解除するという方法でいけるかもですね
プレファブをhide状態で作っておいて、生成してからhide解除するという方法でいけるかもですね
2020/01/12(日) 21:58:52.24ID:6ETev4FX
Lerp() と Slerp() で滑らかにオブジェクトを回転させたいんだけど、FixedUpdate() 内で使ったら、
それらの回転の終了を知るにはどうするんだろう?
FixedUpdate() 内であるタイミングで滑らかに回転してから次の処理を走らせたい。
そもそも 連続するフレーム内での Lerp() と Slerp() の使い方がわからない。
初心者サイト見ても、FixedUpdate() 内で動的に開始と終了ベクトルを指定するサンプルとかがない。
実践的にはどう使うの? それとも UniRXとか使うの?
それらの回転の終了を知るにはどうするんだろう?
FixedUpdate() 内であるタイミングで滑らかに回転してから次の処理を走らせたい。
そもそも 連続するフレーム内での Lerp() と Slerp() の使い方がわからない。
初心者サイト見ても、FixedUpdate() 内で動的に開始と終了ベクトルを指定するサンプルとかがない。
実践的にはどう使うの? それとも UniRXとか使うの?
■ このスレッドは過去ログ倉庫に格納されています
