x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

縮小するActorとCharacterとのHitについて

ActorとCharacterのHit判定について質問させてください。


やろうとしていること

  • イメージとしては流行のバトルロワイアル系FPSの安全エリアのようなシステム

  • 円筒状の安全エリアActorが縮小する

  • Characterは安全エリアの内側に配置され、安全エリアActorの壁にHitすると死亡

    安全エリアActor

alt text

  • 円筒状のStaticMeshを持つActor

  • StaticMeshは内側向きに法線を持つ

  • set Relative Scale 3DをTickで回してスケール(z,x)を縮小する。zは固定値

  • CollisionはStaticMeshを使用し、CollisionプリセットはBlockAllDynamic。

  • StaticMeshのCollision Complexityは「Use Complex Collision As Simple」

  • CharacterがHitするとDestoryイベントを発生させる

    Character

alt text

  • Characterを継承したキャラクター

  • 移動は「Add Movement Input」を使用 ※「Add Actor Local Offset(sweep Enable)」でも同様の現象が起きた

  • CollisionはCapsuleCollisionコンポーネントを使用し、CollisionプリセットはPawn

    問題事象

安全エリアActorが縮小する際、Characterが静止していると安全エリアと接触してもHit判定されない
※Characterが移動中であればHit判定される

alt text

  1. 縮小中の安全エリアActorに向かってCharacterを移動すると当たる

  2. Characterを操作しない(静止する)と通り抜ける

※gif動画ではわかりやすいようDestory処理を外して、Print Stringしています。


ちなみに拡大する立方体のActorで実験してみても、Characterが静止状態のときはBlockされず立方体にめり込んでしまいました…。 よろしくお願い致します。

Product Version: UE 4.20
Tags:
area.png (547.5 kB)
character.png (608.2 kB)
movie.gif (1.7 MB)
more ▼

asked Sep 03 '18 at 11:46 AM in Japanese

avatar image

tis_atisie
3 1 2

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hitの判定にはまず「Collision方向に押し込む」ベクトルが必要になります。 つまり動いていないものに対して衝突判定は発生しません。

この場合、どちらのActorも「動いていない」ので、衝突判定は発生しないことになります。

このユースケースの場合、Overlapで処理するほうが良いでしょう。

more ▼

answered Sep 03 '18 at 01:29 PM

avatar image

T_Sumisaki
4.3k 29 4 8

avatar image tis_atisie Sep 03 '18 at 04:05 PM

「動いていること」がもろHit判定の条件だったんですね…。

Overlapを使用する方法を試してみます。ありがとうございます。

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question