【Unityチュートリアル】ゲームのストレス激減!?バトルを楽しくするロックオン機能の作り方【

  Рет қаралды 1,946

黒菱YUZAN 【ゲームクリエイター】

黒菱YUZAN 【ゲームクリエイター】

Күн бұрын

Пікірлер: 17
@きりん-v5e
@きりん-v5e 2 жыл бұрын
ゲーム制作してみたくて最近勉強を始めた初心者です。めっちゃ分かりやすくて助かります。本格的にゲーム制作するところまで進められたら、改めて確認させていただきますね。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメントありがとうございます! 分かりにくくないか心配でしたが、そう言ってもらえて嬉しいです。
@kahn1229
@kahn1229 Жыл бұрын
実装したかったシステムの解説、助かります!! しかし、動画通りにスクリプトを打ったつもりが、上手く動作せずに心が折れ掛けています;
@yuzan_9614
@yuzan_9614 Жыл бұрын
ありがとうございます! そう言っていただけて、とても嬉しいです!! 「この部分の処理が上手くいかない」みたいな感じでコメントいただければ、可能な範囲でお答えできるかもなので、もしあれば是非!
@kahn1229
@kahn1229 Жыл бұрын
​@@yuzan_9614 ありがとうございます! 現在詰まっている所は ・ロックオンボタン押してもロックオンが動作しない ・ロックオン時にキャラの方向転換を実装した時に、ロックオンしてないにも関わらずキャラの向きが正面に固定されたままになってしまう まだまだスクリプトへの理解が足りてないので、分からない事だらけです;
@yuzan_9614
@yuzan_9614 Жыл бұрын
​@@kahn1229 コメントありがとうございます! 1)ロックオンボタン押してもロックオンが動作しない <もし、InputSystemを使っていて、他の入力が問題ない場合は、 ①PlayerInputでロックオンボタン用メソッド(フラグ切り替え)が設定されていない ②InputActionsのAction設定で入力キーの指定を忘れている ③InputActionsのAction設定でInteractionsでRekease(戻り)が有効になっている ④ロックオンボタン用メソッド内にif(context.started)(押した時のみ)が抜けている などの理由で、入力がうまく反映されていないのかもしれません。 また、ボタン入力でフラグが正常に切り替わっている場合は、 ①リスト内にターゲット対象がない ②カメラのターゲット対象にリスト内のオブジェクトが設定されていない みたいなところかなと思います。 <確認するポイント> ① ボタン入力でフラグが正常に切り替わるか ② リスト内にオブジェクトがあるときに、カメラのターゲット対象に設定されているか ③ ①と②が問題ないときに、ロックオン処理(カメラ内に操作キャラとターゲットが入っている、キャラがカメラの方向を向く、ターゲットの上にアイコンが表示されるなど)が正常に動いているか 長くなってしまったので、2つ目は次のコメントに書きます!
@yuzan_9614
@yuzan_9614 Жыл бұрын
@kahn 2)ロックオン時にキャラの方向転換を実装した時に、ロックオンしてないにも関わらずキャラの向きが正面に固定されたままになってしまう <操作キャラの向く方向は、 ロックオンをしていないとき(動いているとき) Quaternion targetRotation = Quaternion.LookRotation(moveForward); //スティック入力方向の角度 transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * turnTimeRate); //現在の向き(角度)⇒スティック入力方向の角度に時間変化 ロックオンをしていないとき(止まっているとき) Quaternion targetRotation = transform.rotation;//現在の向き(角度) transform.rotation = targetRotation;//現在の向きを設定(保持) で決定しています。 ロックオンをしたときは、 var dir = (カメラに設定されているターゲット対象の位置) - (操作キャラの位置); //操作キャラから見て、ターゲット対象がいる方向 Quaternion targetRotation = Quaternion.LookRotation(moveForward); //ターゲット対象がいる方向の角度 transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * turnTimeRate); //現在の向き(角度)⇒ターゲットがいる方向(角度)に時間変化 となります。 なので、 ①ロックオンフラグがOFF(false)のときは、上の処理が実行される ②ロックオンフラグがON(true)のときは、下の処理が実行される ように、条件がちゃんと分岐されていれば、正面に固定されることはないかと思います。 ↑操作キャラの回転処理は、この部分だけなので、問題があるとすればこの辺だと思います。 自分もプログラムを書くのは苦手なほうなので、kahn のお気持ちがとても分かります!! どうしても原因が分からない場合は、1から作り直してみる(問題ないところはコピペ)ほうが早かったりもするので、無理そうなら是非!
@kahn1229
@kahn1229 Жыл бұрын
@@yuzan_9614 詳しい返信をありがとうございます!! 問題ありそうな箇所を見直してみましたが、残念ながら打ち間違いが見当たりませんでした; 原因が特定できないので、スクリプトをまた作り直してみようと思います;
@shiko9200925
@shiko9200925 2 жыл бұрын
リストに入っているオブジェクトがdestroyで消えた場合、Ontriggerexitで判定できずにリストの数が減らず残ってしまうのですがどうやったらdestroyで消えた場合にもリストの数を減らせるでしょうか、、、当方ゲーム制作初心者なもので、教えていただけたら幸いです🙇🏻‍♀️
@yuzan_9614
@yuzan_9614 2 жыл бұрын
ご質問ありがとうございます! 少し力業な方法にはなってしまいますが、Updateメソッドでリストの中を監視して、”もし、null(削除された場合は、Missing…)の項目があれば、その項目をリストから外す”という風に処理を書いてあげることで、リストから削除することが出来ます。 ▼処理の書き方【Update()内】 for (int index = 0; index < enemyList.Count; index++) //nullのオブジェクトをリストから消す { if (enemyList[index] == null) { enemyList.Remove(enemyList[index]); } } 他にもっと簡単な方法があるかもしれませんが、少しでも参考になれば嬉しいです。
@shiko9200925
@shiko9200925 2 жыл бұрын
@@yuzan_9614 ありがとうございます!無事解決することが出来ました!!
I Made the Same Game in 8 Engines
12:34
Emeral
Рет қаралды 4,3 МЛН
UFC 287 : Перейра VS Адесанья 2
6:02
Setanta Sports UFC
Рет қаралды 486 М.
БАБУШКА ШАРИТ #shorts
0:16
Паша Осадчий
Рет қаралды 4,1 МЛН
Andro, ELMAN, TONI, MONA - Зари (Official Music Video)
2:50
RAAVA MUSIC
Рет қаралды 2 МЛН
Ful Video ☝🏻☝🏻☝🏻
1:01
Arkeolog
Рет қаралды 14 МЛН
The History of Programming Languages
49:05
ルビーDog
Рет қаралды 1,1 МЛН
マインスイーパーに完全勝利した男UC
14:26
ふろーと
Рет қаралды 4,6 МЛН
every step to actually make your dream game (then sell it)
24:27
【発売直前】制作中のゲームと2024年を振り返る【ゲーム開発】
17:24
【ゲーム制作実況中】Hytacka
Рет қаралды 55 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,5 МЛН
choosing a game engine is easy, actually
15:08
samyam
Рет қаралды 657 М.
【VRC】Unity2022年版のNavMeshに関して【UDONのコネ方】
10:55
Bainite[ベイナイト]_Channel
Рет қаралды 365
UFC 287 : Перейра VS Адесанья 2
6:02
Setanta Sports UFC
Рет қаралды 486 М.