# プレイヤーの正面から一定の角度内にいるアクタを取得したい

**URL:** <https://forums.unrealengine.com/t/topic/1139098>\
**Category:** 日本語 (Japanese)\
**Tags:** Trace, actor, ue4-editor, unreal-engine, question\
**Created:** [April 24, 2023, 9:25am UTC](https://forums.unrealengine.com/t/topic/1139098 "2023-04-24T09:25:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![turbotanaka](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@turbotanaka](https://forums.unrealengine.com/u/turbotanaka)\
**Post date:** [April 24, 2023, 9:25am UTC](https://forums.unrealengine.com/t/topic/1139098/1 "2023-04-24T09:25:27Z")

</div>

プレイヤーの正面から一定の角度内にいるアクタを取得するという、いわゆるコーントレースを行いたいのですが、良いやり方が思いつきません。  
特定のアクタが一定の角度内にいるかを調べる方法は出てくるのですが、そうすると特定のアクタを取得するために範囲内から大量のアクタを処理する必要が出てくるため、遠くのアクタを判別する場合などでパフォーマンスに不安があります。  
やりたいことは大体AI Perceptionに揃っているのでプレイヤーに転用できないか試してみましたが、プレイヤーではうまく動作しませんでした。しかしAIで出来てプレイヤーで出来ないという事は無いと思うので、同等の機能をプレイヤーで実装できると思うのですが、何か良い方法は無いでしょうか？

---

<div class="post-metadata">

**Author:** ![ClockworkOcean](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/clockworkocean/32/1169999_2.png) [@ClockworkOcean](https://forums.unrealengine.com/u/ClockworkOcean)\
**Post date:** [April 24, 2023, 10:41am UTC](https://forums.unrealengine.com/t/topic/1139098/2 "2023-04-24T10:41:59Z")

</div>

「平らな」コーントレースを意味していると思いますか？

弧を描いた一連のライン トレースである必要があります。

ベクトル演算を使用して、円弧の幅と円弧内のトレースの数を制御できます。 (必要な場合は教えてください)。

AI の利点は、この種のものがハードワイヤード (C++ で記述) であるため、おそらくより効率的であることです。しかし、それはあなたのニーズに合わないかもしれません

---

<div class="post-metadata">

**Author:** ![turbotanaka](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@turbotanaka](https://forums.unrealengine.com/u/turbotanaka)\
**Post date:** [April 24, 2023, 12:47pm UTC](https://forums.unrealengine.com/t/topic/1139098/3 "2023-04-24T12:47:49Z")

</div>

回答ありがとうございます。私が必要なのは3次元空間でのコーントレースです。つまり上下左右に角度が制限されている。スポットライトのような円錐形のトレースです。さらに数百メートル先のアクタも検出できるようにしたいです。  
ライントレースでそうした挙動に対応することはできますか？

---

<div class="post-metadata">

**Author:** ![ClockworkOcean](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/clockworkocean/32/1169999_2.png) [@ClockworkOcean](https://forums.unrealengine.com/u/ClockworkOcean)\
**Post date:** [April 24, 2023, 12:56pm UTC](https://forums.unrealengine.com/t/topic/1139098/4 "2023-04-24T12:56:20Z")

</div>

コーン内で多くのライン トレースを実行する際の問題は、トレースが遠ければ遠いほど、スプレッドが広くなることです。非常に非効率的です。

衝突形状を使用して、オーバーラップのリストを取得するだけで、もっとうまくいくかもしれません。

UE5 では、コリジョン シェイプを自分で作成し、プレーヤーから使用できます。

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/a/4/b/a4b69380a8e1ec2acffb642831a497cbc79b33ae.jpeg)

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/8/c/6/8c6d0f9086150cc697577b871084c0aeca580a86.jpeg)

私はこれを試していませんが、良い可能性があるようです:)
