質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
VIVE

VIVEは、VR向けヘッドマウントディスプレイです。センサーによって部屋自体をVR空間にするルームスケールが大きな特徴。プレイヤーはその空間を自由に歩き回ることが可能なため、高い没入感を体験できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

Q&A

解決済

1回答

16715閲覧

アクターが壁を通過してしまう現象について

yabbb

総合スコア16

VIVE

VIVEは、VR向けヘッドマウントディスプレイです。センサーによって部屋自体をVR空間にするルームスケールが大きな特徴。プレイヤーはその空間を自由に歩き回ることが可能なため、高い没入感を体験できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

0グッド

0クリップ

投稿2018/12/17 03:28

お世話になっております。UE4のBlueprintについて質問させていただきます。現在、VIVEで動かすゲームの作成をしております。

アクターが壁を通過しないように設定を行いたいのですが、解決できません。ご教授をお願い致します。
BlockingVolomeを設置し、試してみたのですが通過してしまいます。
他に必要な処理があるのかもしれませんが、調べてみても解決できません。

未熟者ですので見当違いな処理を書いてしまっているのかもしれませんが、何卒ご容赦ください。
お手数をおかけしますが、ご教授のほどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MMashiro

2018/12/18 09:13

アクターの移動方法はどのようになっていますでしょうか?
yabbb

2018/12/18 13:18

MMashiro様 修正依頼ありがとうございます。 viveのコントローラーをゲームモード→アクターにて追加し、そこのBPに場所移動の処理を追加し、コントローラーのボタンを押すことによって前進するようにしています。 質問の意図に沿っていなければ申し訳ありません。
MMashiro

2018/12/18 13:32

その場所移動の処理を詳しく教えてください
guest

回答1

0

ベストアンサー

動画拝見しました、
SetActorLocationで移動させているようですがSweepにチェックが入っていないため当たり判定のチェックが行われていません
移動中にぶつかった場合はその場所で止まるようにするにはSweepにチェックを入れてみてください

追記 - コリジョン設定に関して

  1. プロジェクト設定→エンジン→コリジョンに移動
  2. オブジェクトチャンネルを追加

・名前 : BlockingVolume
・デフォルト応答 : Block
3. プリセットのInvisibleWallをダブルクリックし編集
・オブジェクトタイプ : BlockingVolume
・最下段のBlockingVolumeが一番右のチェックが入っていることを確認
4. プリセットを追加
・名前 : Player
・Collision Enabled(日本語での名前忘れました) : Collision Enabled (Query and Physics)
・オブジェクトタイプ : Pawn
・各レスポンスはBlockingVolume以外はすべてOverlap、BlockingVolumeはBlockにしてください
5. プロジェクト設定を閉じ、自キャラのBPを開き(すでに開いていた場合は一度閉じて開いてください)追加したCapsuleComponentのCollision PersetsをPlayerにします
6. これでプレイヤーキャラクターはBlockingVolume以外すべてすり抜けるようになります

投稿2018/12/18 15:43

編集2018/12/22 07:23
MMashiro

総合スコア2380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yabbb

2018/12/19 02:04

MMashiro様 お世話になっております。 ご回答ありがとうございます。controllerのSetActorLocationのSweepにチェックを入れて試してみましたが、同様に壁を貫通してしまいます。 BlockingVolumeを設置しただけで、BPなどに処理は一切書いておりません。調べてみたところ処理などは必要なさそうだと感じたのですが、なにか記述が必要だったりするのでしょうか…
MMashiro

2018/12/19 08:25

動画の通りに作っているのだとしたら自キャラにコリジョンが無いように見えますDefaultSceneRootをCapsuleComponentに置き換えてみてはいかがでしょうか (コリジョンの設定をお忘れなく)
yabbb

2018/12/22 06:45

MMashiro様 毎度ご回答をありがとうございます。教えていただいたようにコントローラーのDefaultSceneRootをCapsuleに置き換え、コリジョンプリセットをBlockAllDynamicに変更した結果、BlockingVolumeを設置することなく、オブジェクトにぶつかるとブロックされるようになりました。 しかし、複数のオブジェクトを設置している場所で動きがスムーズにいかないという問題が起きてしまいました。 可能であれば、BlockingVolumeを設置した場所のみブロックされるようにしたいのですが、可能でしょうか。すり抜けてもいいオブジェクトの設定を変更すれば可能かと考えましたが、そのオブジェクトのコリジョンプリセットはdefaultになっていましたので、コントローラー側を変更すべきなのでしょうか。よろしければご教授のほどよろしくお願いいたします。
MMashiro

2018/12/22 07:16

そういった細かいコリジョン設定はプロジェクト設定のエンジン→コリジョンから行えます ○○オブジェクトは○○オブジェクトとだけぶつかるといった細かい設定が可能です。 追記を行いますのでそちらを参照してください
yabbb

2018/12/22 07:45

大変細かく教えていただき、ありがとうございます。教わった通りに試してみた結果、うまく実行されました。 このように細かく設定できることを知らなかったので、大変勉強になりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問