スポンサーリンク
06.軌跡予測表示

投げる事が可能なアイテムを作成

BP_ItemBaseを開き、Boolean型の変数を追加しThrowableと名付けます。


BP_Item_RockとBP_Item_Statueを開き、Throwableにチェックを入れます。

軌跡予測パスを表示

Project Settingsを開き、新しいActionMappingsを追加しInput_Throwと名付けます。


MyCharacterを開き、Splineコンポーネントを追加しSpline_Throwと名付けます。
Boolean型の変数を追加し、ThrowReadyと名付けます。



イベントグラフにInputAction Input_Throwを追加し、投げる事が可能なアイテムを持っていたら軌跡予測を表示する処理を追加します。


動作確認し、軌跡予測の表示/非表示の動作を確認します。

パスにスプラインメッシュを追加

SplineMeshComponent型の変数配列を追加し、SpineMeshArrayと名付けます。


軌跡予測パスの位置にスプラインPointを追加し、スプラインメッシュを追加する処理を追加します。



Add Spline Mesh Componentを選択し、Manual Attachmentにチェックを入れます。
これにチェックを入れないと自動でアタッチされて警告が出ます(今回はStaticのスプラインを使用する為)。
また追加するスプラインのStaticMeshは適当にSplineEditorMesh(Engine Contentのテンプレート)を設定しました。
Materialsは適当に半透明のマテリアルのM_LaserPointer-Outerを設定しました。


動作確認しスプライン表示されるか確認します。


スプライン表示されたらPredict Projectile Pathのデバッグ表示は不要なので、Draw Debug TypeをNoneに戻します。


デバッグ表示が消えた事を確認します。

アイテムを投げる

BP_ItemBaseを開き、新しいCustomEventを追加しEventThrowと名付けます。
Vector型のInputを追加しThrowVelocityと名付けます。
物理シミュレーションを有効にし、InputのThrowVelocityで発射する処理を追加します。


軌跡予測パス生成時に使用したベロシティを使ってアイテムを投げる処理を追加します。
投げるアイテムは手に持っていたアイテムを同じアクターをスポーンした物を使用します。


動作確認し、アイテムが軌跡予測パス通りに発射される事を確認します。


またワールドアウトライナを確認し、アイテムを投げた後にMyCharacterの子階層にアクターが無くなる事を確認します。

オブジェクトの重心を変更する

オブジェクトを投げられるようになると、オブジェクトが逆さまに落下する場合もあります。
しかしどうでしょう、この銅像は重そうな台座があるにも関わらず重心を無視した着地をしてします。
なので重心を下げてこのような不自然な現象がおきないようにします。


ViewportのOrthographic視点でマウススクロールボタンを押しながらマウス操作して長さを測定します。
UnrealEngineは1ユニットが1cmなので、中心から約20cm程重心を下げれば良い事が分かります。


BP_Item_Statueを開き、PhysicsのCenter Of Mass OffsetをZ方向へ-18cm程オフセットさせます。


台座付近が重心になったので、先程のような不自然な着地をする確立が減りました。



スポンサーリンク
検索
test
コンテンツツリー
スポンサー リンク


Top


inserted by FC2 system