Пікірлер
@Rigidbody.AddForce
@Rigidbody.AddForce Ай бұрын
これいいですね、短くて見やすい。 自分はずっと自由落下の公式をUnityの物理演算の特性に合わせてちょっと調整した式で弾道計算してるが、何かに当たった後のシミュレーションはできませんでした
@yuzan_9614
@yuzan_9614 Ай бұрын
ありがとうございます!
@Mak1ochi
@Mak1ochi Ай бұрын
サムネに惹かれたから見てみたらめっちゃ有益
@もずく-z3n
@もずく-z3n 5 ай бұрын
スクリプトの画像ほしいです!!
@yuzan_9614
@yuzan_9614 5 ай бұрын
github.com/kurohishi/CheckPointTutorial.git こちらのURLから閲覧できると思います。
@もずく-z3n
@もずく-z3n 5 ай бұрын
@@yuzan_9614 ご丁寧にありがとうございます!
@atsushi_ao
@atsushi_ao 5 ай бұрын
まえからイベントムービーは、作ってみたいと思っていたのですが、あまり動画が上がっていなく、困ってたので助かります!!(解説もわかりやすい) Part02楽しみにしてます。(お忙しい中頑張ってください💦)
@yuzan_9614
@yuzan_9614 5 ай бұрын
ありがとうございます! Part02のほうは、難航しながら作っていますが、一応少しずつ出来上がってきてるので、もう少しお待ちいただければと思います…(^^;)(遅くてすみません💦)
@atsushi_ao
@atsushi_ao 6 ай бұрын
私はUnity初心者で、この動画は、私のゲーム制作にとってもとても役立っています。ありがとうございます。 ですが、動画通りに作らせていただいたのですが、左スティックでプレイヤーを動かすとエラーが4つほど発生してしまします。 バージョンは、2021.3.37f1で作らせていただいています。 解決方法を教えてください。 エラー 1つ目:InvalidOperationException: Cannot read value of type 'Vector3' from control '/XInputControllerWindows/leftStick' bound to action           'Player/Move[/XInputControllerWindows/leftStick]' (control is a 'StickControl' with value type 'Vector2') 2つ目:InvalidOperationException while executing 'started' callbacks of 'Player/Move[/XInputControllerWindows/leftStick]' UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr) 3つ目:InvalidOperationException: Cannot read value of type 'Vector3' from control '/XInputControllerWindows/leftStick' bound to action 'Player/Move[/XInputControllerWindows/leftStick]' (control is a 'StickControl' with value type 'Vector2') UnityEngine.InputSystem.InputActionState.ReadValue[TValue] (System.Int32 bindingIndex, System.Int32 controlIndex, System.Boolean ignoreComposites) (at Library/PackageCache/[email protected]/InputSystem/Actions/InputActionState.cs:2808) UnityEngine.InputSystem.InputAction+CallbackContext.ReadValue[TValue] () (at Library/PackageCache/[email protected]/InputSystem/Actions/InputAction.cs:1948) PlayerController_PC.OnMove (UnityEngine.InputSystem.InputAction+CallbackContext context) (at Assets/PlayerController_PC.cs:68) UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) (at <583df70190f94511bd46f12943531dbc>:0) UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) (at <583df70190f94511bd46f12943531dbc>:0) UnityEngine.InputSystem.Utilities.DelegateHelpers.InvokeCallbacksSafe[TValue] (UnityEngine.InputSystem.Utilities.CallbackArray`1[System.Action`1[TValue]]& callbacks, TValue argument, System.String callbackName, System.Object context) (at Library/PackageCache/[email protected]/InputSystem/Utilities/DelegateHelpers.cs:46) UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr) 4つ目:InvalidOperationException while executing 'performed' callbacks of 'Player/Move[/XInputControllerWindows/leftStick]' UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr) 長くなってすみません。
@atsushi_ao
@atsushi_ao 5 ай бұрын
すみません。スクリプトに間違いがあったようです。解決しました。
@yuzan_9614
@yuzan_9614 5 ай бұрын
すみません、コメントを確認できていませんでした🙇 動画のご視聴およびコメントいただきありがとうございます! 問題が解決されて良かったです♪
@変態_豚野郎
@変態_豚野郎 7 ай бұрын
ありがとうございます!
@dennoucoil4423
@dennoucoil4423 10 ай бұрын
他の解説動画で見ない解説ありがとう!! あとキャラ可愛いね!
@yuzan_9614
@yuzan_9614 10 ай бұрын
ありがとうございます(〃ω〃)!
@showwww1000
@showwww1000 10 ай бұрын
Unity初学者です。チャンネル登録しました! どの動画も内容がとても濃く、いつも参考にさせていただいております。
@yuzan_9614
@yuzan_9614 10 ай бұрын
ありがとうございます(^^ お役に立てて嬉しいです!
@地上最強のネッコ
@地上最強のネッコ 11 ай бұрын
消滅するエフェクトが上手く動きません 解決方法を教えてください
@yuzan_9614
@yuzan_9614 11 ай бұрын
コメントありがとうございます! 上手くいかないところというのは、スクリプト処理のところでしょうか? どこまで上手くいったか、詳細な情報を教えていただけると、お力になれるかもしれません。
@information-hu8zl
@information-hu8zl Жыл бұрын
待ってました!Unityでのアニメーション演出表現方法を解説している方が本当に少ないので非常に助かります。 本当にありがたいです!
@yuzan_9614
@yuzan_9614 Жыл бұрын
ありがとうございます! 少しでもお役に立てて良かったです👍 大変励みになります…(T-T)
@いりあか-u7c
@いりあか-u7c Жыл бұрын
モディファイアわからない...
@yuzan_9614
@yuzan_9614 Жыл бұрын
モディファイア―は、メッシュを選択すると、右側のプロパティの中にレンチマークが出てくるので、そこから追加できます! 回答になってなければすみません…💦
@information-hu8zl
@information-hu8zl Жыл бұрын
全ての動画においてすごいです!尊敬します! もしよろしければ動画にあるドラゴンのアニメーションの解説も知りたいです~😊
@yuzan_9614
@yuzan_9614 Жыл бұрын
コメントありがとうございます! 動画内のドラゴンのアニメーションの作り方はかなり雑に作っているので、 もしアニメーションの作り方の解説動画を投稿することがあれば、ドラゴンモデルをベースに解説したいと思います。
@yenhsuanchang6171
@yenhsuanchang6171 Жыл бұрын
素敵なチュートリアルありがとうございます!今後の作品も楽しみにしています!
@yuzan_9614
@yuzan_9614 Жыл бұрын
ありがとうございます! 最近全然投稿できてないですが、とても励みになります(^^♪
@やまおかたかし-t8h
@やまおかたかし-t8h Жыл бұрын
工程数 “が”   ね。
@ぬぬ-h4u
@ぬぬ-h4u 5 ай бұрын
細けぇこたぁいいんだよ
@たたたさんた
@たたたさんた Жыл бұрын
unityでゲームを作り始めたので、とても参考になってます!チャンネル登録もしました!がんばってください
@yuzan_9614
@yuzan_9614 Жыл бұрын
コメントとチャンネル登録ありがとうございます! 最近は全然新しい動画を投稿できてないですが、今後もお役に立てる解説動画が作れるよう頑張ります…(汗
@神神-n2e
@神神-n2e Жыл бұрын
やっぱり弾丸とかビームは、 ゲームオブジェクトに当たり判定をつけた方いいんですかね、、 パーティクルに直接当たり判定つけると重いのかな、、
@yuzan_9614
@yuzan_9614 Жыл бұрын
そうですね…弾丸やビームの挙動にもよりますが、 当たり判定に関しては、コライダーを付けたゲームオブジェクトやコライダーコンポーネントのオンオフ切替が1番シンプルかつ簡単で処理が軽い方法かなと思います。 動画では、ビームオブジェクトのメッシュに合わせてコライダーを変形させて作っていますが、当たり判定が変形しない場合は VFXエフェクト(見た目)×ゲームオブジェクト(当たり判定)の組み合わせや、パーティクルシステム(見た目&当たり判定)など、 他の方法で作ったり、組み合わせて作ってみても良いと思います! VFXエフェクトはGPU、パーティクルシステムはCPUで処理をしているらしい?ので、 CPUの処理が重い場合は、VFXエフェクトを使って作ると処理が軽くなるかもです👍
@神神-n2e
@神神-n2e Жыл бұрын
@@yuzan_9614 なるほど、結局その時々に応じるんですね。 VFXはGPUで処理するからVFXの方が軽くなる可能性がある、、だと?!! あんなUnrealエンジン並みに綺麗なエフェクトが軽いなんてめっちゃいいこと聞きました!! VFXも勉強してみようと思います! 長文でのアドバイスありがとうございます!大変参考になります!!
@yuzan_9614
@yuzan_9614 Жыл бұрын
@@神神-n2e お役に立てたようで何よりです! VFXエフェクトについては、他の動画で紹介していますので、もしかしたら参考になるかもです👍
@dive2-f6i
@dive2-f6i Жыл бұрын
黒いモデルの中に白いモデルが入っている様に見えますが、どうして白いモデルが外側に表示されているのですか?
@yuzan_9614
@yuzan_9614 Жыл бұрын
黒いモデル(外側)のMaterialのRender FaceをBackに、白いモデル(内側)のMaterialのRender FaceをFrontにしているので、白いモデルが表示されています。 また、配色にもよりますが、外側のMaterialを半透明(Transparent)に設定して、内側のMaterialのEmissionで発光の強さを上げてあげても、同じように表示させることができます!
@dive2-f6i
@dive2-f6i Жыл бұрын
ご丁寧にありがとうございます! 挑戦してみます!
@神神-n2e
@神神-n2e Жыл бұрын
へぇ、、 ブレンダーとかアンリアルのブループリント的なことできるんか!
@リモ-i9i
@リモ-i9i Жыл бұрын
はじめまして。とても分かりやすかったです。ゲーム制作諦めようと思っていましたが、やる気が湧きました。ありがとうございます!チャンネル登録させていただきました。
@yuzan_9614
@yuzan_9614 Жыл бұрын
ありがとうございます! そう言っていただけて、こちらとしてもとても励みになります👍
@kahn1229
@kahn1229 Жыл бұрын
ロックオンのチュートリアルを無事に終えて、こちらまで来れました!! そして早速、壁にぶち当たってしまいました; if (camera3D.rock && camera3D.aim) のaimの部分がカメラスクリプトに定義されていないとエラーが出てしまいます…… ロックオンのチュートリアルでカメラスクリプトのaimというコードをを探してみましたが見当たりませんでした。 自分の見落としだったらすみません;
@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 詳しい返信をありがとうございます!! 問題ありそうな箇所を見直してみましたが、残念ながら打ち間違いが見当たりませんでした; 原因が特定できないので、スクリプトをまた作り直してみようと思います;
@たつや-s2z
@たつや-s2z Жыл бұрын
分かりやすくまとまってる上に、動画としてチャプターわけも適切にされててとても見やすくて助かります。
@yuzan_9614
@yuzan_9614 Жыл бұрын
ありがとうございます! そう言っていただけると、こちらとしてもとても助かります。
@akiiiiiiiiiiiiiiiiiiiiiiiiiii
@akiiiiiiiiiiiiiiiiiiiiiiiiiii Жыл бұрын
しゅごい
@GabuGabuNoMi
@GabuGabuNoMi 10 ай бұрын
意外と簡単よ
@torachan6813
@torachan6813 Жыл бұрын
Unity初心者なので変な質問だったらすみません。動画を参考にタイムラインを利用したモーション制御を作ってみたのですがつまずいてしまいました。タイムラインでアニメーションを再生した場合、アニメーションに移動量が含まれていても最終的に元の位置に戻ってはくるのですが物理演算しているわけではないのでアニメーション中に障害物をすり抜けて矛盾が発生してしまいます。衝突時の挙動を物理演算に任せたいのですがタイムラインでもアニメーションの移動量を無視する方法ってあるのでしょうか?
@yuzan_9614
@yuzan_9614 Жыл бұрын
コメントありがとうございます! 具体的な状況や作り方が分からないため、こちらの想像で回答させていただきます。 ①アニメーション中に障害物をすり抜けてしまうケースとしては、動くボーンやメッシュにコライダーが設定されていないからかと思います。 ②コライダーが付いていて、衝突物が固定されている場合は、貫通してしまうので、その場合はコライダーの衝突判定(スクリプト処理)を使って、衝突時にタイムラインの停止、衝突場所へのキャラモデルの移動を行って止めてあげることもできます。 ③(挙動を確認していないので、可能であればですが、)特定のタイムライン中だけモーションの移動量を無視したい場合は、開始時にsignalでAnimatorのApply Root Motionをoffに変更し、終了時に戻してあげれば良いかなと思います。 モーションの設定から、特定のモーションだけ移動量を無視することもできるみたいなので、その辺を活用してもいいかもしれません。 意に沿った回答ができているかは分かりませんが、お役に立てば幸いです!
@torachan6813
@torachan6813 Жыл бұрын
返信ありがとうございます。横スクロールで作っていて移動は速度を与えるようにしていて、右への移動だとrb.velocity = new Vector3(runSpeed, rb.velocity.y, 0);みたいに書いています。①についてはコライダーは設定しているつもりです。②についてはできそうかなと思ったのですが、動作確認してると障害物がなくても一時的にアニメーションの移動量+リジッドボディーに与えた速度の移動量を移動してしまうためおかしなことになってしまいますねorz③のようなことができれば理想なんですが、タイムラインからアニメーションを再生している場合、AnimatorのApply Root Motionは常にOFFにしているのですがONのときと同じような挙動をしています。何かしらの設定が悪いのでしょうか。
@torachan6813
@torachan6813 Жыл бұрын
解決できたのでご報告を。タイムラインのTrack OffsetsをAutoに設定し、Animatorのコントローラを空にしていたのですがここにほぼ何もしないコントローラを設定することでApply root Motionをオフにしたときと同じ動作をさせることができました。きっとバージョンアップで改善されると思うんですがこの設定わかりにくいですねorz
@yuzan_9614
@yuzan_9614 Жыл бұрын
情報の共有ありがとうございます! 問題が解決されて何よりです👍
@torachan6813
@torachan6813 Жыл бұрын
@@yuzan_9614 明日は痕跡の動画を参考に特定のモーションに残像つけてみますb
@通りすがりのゲームクリエイター
@通りすがりのゲームクリエイター 2 жыл бұрын
Enemyの追従や攻撃悩みました。ありがとうございました。
@FacebookHacks1
@FacebookHacks1 2 жыл бұрын
unfortunately I understand little, but I love your skill!^^ By any chance would you be available to work for a freelancer project? I'll pay half first with paypal and half at the end of the work, please let me know so In case we can get in touch!:)
@yuzan_9614
@yuzan_9614 2 жыл бұрын
I am very happy to hear that you like my skills. It's going to be difficult right away, but I think we'll be doing things like that in the future, so please come back if you have the time. English by Google Translate.
@mottya-pizza
@mottya-pizza 2 жыл бұрын
モデファイアーでスキンというものもあって、そっちの方は太さなども変えられますよ
@古井しほ
@古井しほ 2 жыл бұрын
Beautiful ❤️
@yuzan_9614
@yuzan_9614 2 жыл бұрын
動画内容を分けて要約すると、 ①オブジェクトベースの操作スクリプトを作り、設定するキャラオブジェクトを変えて変更する ②サブキャラの場合は、メインとサブを分けて定義して、操作対象を切り替える ③NPCの場合は、オブジェクト情報を取得する方法を考えて、切替時にNPCの自動制御をオフにする です。
@古井しほ
@古井しほ 2 жыл бұрын
Amazing 😍❤️💙
@古井しほ
@古井しほ 2 жыл бұрын
Great ☺️
@古井しほ
@古井しほ 2 жыл бұрын
Great ☺️💓
@yuzan_9614
@yuzan_9614 2 жыл бұрын
もし、シーンをロードして遷移する際にPlayerInputでエラーが生じる場合は、以下のメソッドを追加することで対処できると思いますので、ぜひお試しあれ! private void OnDisable() { this.gameObject.GetComponent<PlayerInput>().actions = null; } ※this.gameObjectのところは、PlayerInputのあるオブジェクトです。
@古井しほ
@古井しほ 2 жыл бұрын
Thanks 😊💕☺️👍
@古井しほ
@古井しほ 2 жыл бұрын
Amazing 😍❤️💙❤️
@robbit683
@robbit683 2 жыл бұрын
ゆっくりはわかりやすくて良かったです 知りたかった事が全部入っててありがたい!
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメントありがとうございます! お役に立てて、とても嬉しいです👍
@yuzan_9614
@yuzan_9614 2 жыл бұрын
いつも以上に説明が分かりづらいと思いますので、ご視聴の際はご注意ください!
@twori000
@twori000 2 жыл бұрын
いつも素敵な動画楽しみにしています。 以前Twitterの方で上げられていた蛇のようなエネミーの作り方などの動画は上げる予定はないのでしょうか? とても良いアイデアだと思ったので良ければ見てみたいです。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメントありがとうございます! ヘビみたいなキャラの作り方は、モデルが違うだけで、基本的には隊列システムの原理と同じなので、今のところ動画にする予定は立ててないです。 もし、この挙動の作り方が分からないなどあれば、教えていただけると嬉しいです。
@twori000
@twori000 2 жыл бұрын
それぞれのアニメーションの制御をアニメーターを使用せずに、 タイムラインを使用しているのにはどのような意図があるのでしょうか? すでに説明済みでしたらすみません。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメントありがとうございます! タイムラインを使用している理由としては、 ①一度限りのアニメーション再生や複数のアニメーションの繋ぎ合わせ ②VFXエフェクトやSEの再生 ③シグナルによるスクリプト処理の呼び出し など、タイムライン1つで簡単に制御&調整できるので、攻撃アクションのような一度限りのアクションの場合は、タイムラインを使用しています。 ※タイムラインでアニメーションを再生するときは、アニメーションさせるオブジェクトにアニメーターが自動で追加されます。(既に付いている場合は追加されません) 歩きやダッシュ、ジャンプなど、ループ再生するアニメーションの場合は、アニメーションコントローラーで制御するほうが簡単なので、そういう場合はアニメーションコントローラーを使って、アニメーションを再生しています。 こちらの動画で一応、タイムラインとアニメーションコントローラーの使い分けについて説明しているので、もしかしたら、参考になるかもしれません。 kzbin.infomUrqwYYuyBo 結局のところ、”どちらの方法が肌に合うか”というだけなので、自分の作りやすい方法で作っていただければと思います。
@user-MeLTy
@user-MeLTy 2 жыл бұрын
チャンネル登録しました!
@yuzan_9614
@yuzan_9614 2 жыл бұрын
登録ありがとうございます! とても励みになります
@yuzan_9614
@yuzan_9614 2 жыл бұрын
▼動画内で登場した”バラバラになるボックス”の作り方の流れ(概要欄の参考サイト/動画も要チェック!) ・Blenderでのバラバラモデルの作成 ① Blenderを起動して、バラバラにしたいモデルを用意する。 ② 編集⇒プリファレンス⇒アドオン⇒Object: Cell Fractureにチェックを入れる。 ③ オブジェクト⇒クイックエフェクト⇒Cell Fractureを選択する。 ④ OwnParticle(デフォルト)、Source Limit(分解限度数)とノイズ(分解のばらつき)を設定してOKを選択する。 ⑤ バラバラモデルの完成! ※分解モデルで断面のマテリアルは、メッシュデータのマテリアル番号(デフォルトは0番目)で指定する。 ・攻撃回数でバラバラにする方法 ① Unityのプロジェクトを開いて、空のオブジェクト(親)を作成する。 ② その中に、バラバラなモデルとバラバラになっていないモデルを追加する。 ③ 親オブジェクトにRigidbody、Collider、スクリプトの3つを追加する。 ④ バラバラモデルの全てのメッシュにRigidbodyとMeshColliderを追加する。 ⑤ 親オブジェクトのスクリプトを開いて、OnTriggerEnterメソッドを追加する。 ⑥ 接触した時にカウントを増やすようにする。 ⑦ 指定の回数に達した時に、親オブジェクトにかかる重力とコライダーをfalseにする。 ⑧ ⑦と同じタイミングで、バラバラになっていないモデルを非表示、バラバラなモデルを表示に切り替える。 ⑨ ”攻撃するとバラバラになるボックス”の完成!
@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 ありがとうございます!無事解決することが出来ました!!
@danojaja5548
@danojaja5548 2 жыл бұрын
こんにちは!リクエスト聞いて頂いてありがとうございました! 入力方向に加速処理を追加するという発想がなかったのでとても勉強になりました! また気になるところがありましたらコメント、リクエストさせていただきます!
@yuzan_9614
@yuzan_9614 2 жыл бұрын
お役に立てて良かったです♪
@danojaja5548
@danojaja5548 2 жыл бұрын
@@yuzan_9614 すいません! 1点、動画内の加速処理(2:11)の部分についてお聞きしたいのですが、これは回避、加速処理後のキャラの停止移動用、移動回避用でフラグを分けて回避モーション中だけ動画の2:36の加速処理の移動を実行してる、というイメージであってますでしょうか。 Unityで適当なキューブを配置して、動画の2:36の「rb.AddForce(moveForward * 50.0f, ForceMode.Impulse);」を付けてみたらものすごい勢いで吹っ飛んだため、「回避後の停止や移動距離の調整ってどうなってるんだろう」と思いご質問させていただきました。(動画内で見落としがあったらすいません)
@yuzan_9614
@yuzan_9614 2 жыл бұрын
​@@danojaja5548 ご質問ありがとうございます! 質問の答えになっているか分かりませんが、Rigidbodyでの加速処理は、Rigidbodyコンポーネントのmass値に依存するため、ニュートンの運動の法則【F=ma】より、mass値が低いと加速度aが高くなるので、吹き飛んでしまったものと考えられます。 また、加速処理の影響は、回避中(avoid = true)に適用されますので、回避距離は、①Force値②mass値③回避時間の3つで調整できます。 mass値については、動画では省略しておりました、すみません…【動画内のmass値:500】 ※回避後の停止は、共通の移動処理フラグ(mov)をtrueに戻すことで行っています。
@danojaja5548
@danojaja5548 2 жыл бұрын
@@yuzan_9614 迅速なご回答ありがとうございます! フラグと書きましたが1:47辺りのことなのであってます! 何度もすいません、ご回答について以下の認識があってるかご確認させていただけないでしょうか。。。 ①:③回避時間=「avoid = true」になってる時間、3:26のタイムラインでアクションフラグ(avoid)がfalseになるまで ②:「※回避後の停止は~」=3:26でmovがtrue、avoidがfalseになって加速処理が切れたから停止するみたいなイメージ
@yuzan_9614
@yuzan_9614 2 жыл бұрын
@@danojaja5548 ご質問にお答えできて何よりです! その認識で問題ないと思います👍 もし、また何かございましたら、気軽にコメントいただけると嬉しいです。
@きりん-v5e
@きりん-v5e 2 жыл бұрын
動画ありがとうございます。具体的にスクリプトと動作を見せていただけるので参考になって助かります。攻撃待機中は追従させて、ボタン押したらターゲットに攻撃して戻ってくるビットみたいな表現ができそうだなぁ、と思いました。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
ありがとうございます! そう言ってもらえて何よりです👍
@danojaja5548
@danojaja5548 2 жыл бұрын
こんにちは!上がってる動画の有益な情報感すごいので応援してます!自分アクションゲーム作りたいのでもっと上げてほしいです! 個人的にリクエストなんですが、以前の「【ゲーム制作初心者向け】アクションゲームで使える!キャラの基本操作アクション」でお話しされた回避について深堀していただけないでしょうか。 レバー方向にサッと動いたり転がったりのイメージですが歩くなどの普通の移動とどのような違いがあるのか知りたいです!
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメント&リクエストありがとうございます! “キャラの基本操作アクション”の動画内でも紹介している「移動アクションとの組み合わせ」について、内容がまとまり次第、解説動画にしますので、お待ちいただければ幸いです。
@きりん-v5e
@きりん-v5e 2 жыл бұрын
ゲーム制作してみたくて最近勉強を始めた初心者です。めっちゃ分かりやすくて助かります。本格的にゲーム制作するところまで進められたら、改めて確認させていただきますね。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
コメントありがとうございます! 分かりにくくないか心配でしたが、そう言ってもらえて嬉しいです。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
NavMeshAgentを使用する際は、Inspector横のNavigation→Object→ステージのオブジェクトを選択→Navigation Staticを✓→Navigation AreaをWalkableにし、NavigationのBakeでベイクして、Navキャラの移動エリアを作ってあげないと、エラーが生じますので、ご注意ください!
@mamo5786
@mamo5786 2 жыл бұрын
本当に役に立ちました。シンプルで実用的。 非常有幫助的教學。簡單實用。
@yuzan_9614
@yuzan_9614 2 жыл бұрын
ありがとうございます! お役に立てて何よりです👍
@SirDMX
@SirDMX 2 жыл бұрын
Really useful tutorial, thank you!
@yuzan_9614
@yuzan_9614 2 жыл бұрын
I'm glad I could help you.
@yuzan_9614
@yuzan_9614 2 жыл бұрын
動画を要約すると、「ゲーム性重視のゲームを作るときは、グラフィックのことを一旦忘れたほうが “都合が良い”」です。 もし、じゃんけんの例えの解釈が一致しない場合は、ニュアンスを感じ取ってもらえれば幸いです(*_ _) ※グラフィックや世界観、ストーリー重視のゲームを作る場合は該当しませんので、ご理解のほど、よろしくお願い致します。