Collision Profile

๊ฐœ์š”

Collision Profile(์ฝœ๋ฆฌ์ „ ํ”„๋กœํŒŒ์ผ)์€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ถฉ๋Œ ์†์„ฑ์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ •์˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœํŒŒ์ผ์€ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์–ด๋–ค Collision Channel(์ฝœ๋ฆฌ์ „ ์ฑ„๋„) ์— ์†ํ•˜๋Š”์ง€, ๋‹ค๋ฅธ ์ฑ„๋„๊ณผ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณต์žกํ•œ ์ถฉ๋Œ ๊ทœ์น™์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฒฝ๊ณผ ์ถฉ๋Œํ•˜์ง€๋งŒ ํˆฌ์‚ฌ์ฒด๋Š” ํ†ต๊ณผํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ฒŒ์ž„ ์ƒํ™ฉ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OVERDARE Studio์˜ ์ถฉ๋Œ ์‹œ์Šคํ…œ์€ Collision Channel๊ณผ Collision Profile๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์—ญํ• ๊ณผ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๋ฉด ๋”์šฑ ํšจ๊ณผ์ ์œผ๋กœ ์ถฉ๋Œ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision System ๊ตฌ์„ฑ ์š”์†Œ

Collision Channel

Collision Channel(์ฝœ๋ฆฌ์ „ ์ฑ„๋„)์€ ์˜ค๋ธŒ์ ํŠธ์˜ ๊ทธ๋ฃนํ•‘ ๋˜๋Š” Raycast ๋“ฑ์˜ ์ฟผ๋ฆฌ ํ•„ํ„ฐ๋ง์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ ๋ฉ๋‹ˆ๋‹ค

  • Object Type์˜ ์ฑ„๋„์ธ ๊ฒฝ์šฐ

    • ์ด์ „์˜ Collision Group๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    • Collision Group๊ณผ ๋‹ฌ๋ฆฌ ๊ฐ ์ฑ„๋„ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ์—ฌ๋ถ€๋Š” ์ฑ„๋„ ์ž์ฒด์—์„œ ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ์ฑ„๋„์€ ๋‹จ์ˆœํžˆ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ์—ญํ• ๋งŒ ํ•˜๋ฉฐ, ์‹ค์ œ ์ถฉ๋Œ ๊ด€๊ณ„๋Š” Collision Profile์—์„œ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • Trace Type ์˜ ์ฑ„๋„์ธ ๊ฒฝ์šฐ

    • RaycastSingleByChannel , SpherecastSingleByChannel ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ์—์„œ ์ธ์ž๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค

    • ๊ฒ€์ถœ ๋Œ€์ƒ ์˜ค๋ธŒ์ ํŠธ์˜ Collision Profile ์— ๋Œ€ํ•œ ๊ฐ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Channel ์ œํ•œ ์‚ฌํ•ญ

  • Collision Channel์€ ์ด 32๊ฐœ๊นŒ์ง€ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ์ค‘ 18๊ฐœ๋ฅผ ํฌ๋ฆฌ์—์ดํ„ฐ๊ฐ€ ์ง์ ‘ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Collision Channel์—๋Š” Trace Type ์ฑ„๋„ ๋˜๋Š” Object Type ์ฑ„๋„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ํƒ€์ž…์€ 32๊ฐœ์˜ ์ฑ„๋„์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

    • Profile์€ ๊ฐœ์ˆ˜ ์ œํ•œ์ด ์—†์œผ๋ฏ€๋กœ, ์ถ”๊ฐ€ ์ฑ„๋„ ์—†์ด๋„ ์ถฉ๋ถ„ํžˆ ๊ธฐ๋Šฅ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    • ๋ณดํ†ต์€ Object Type ์ฑ„๋„์€ ์ถ”๊ฐ€ ์—†์ด Profile๋งŒ ์ถ”๊ฐ€ํ•ด๋„ ์ถฉ๋ถ„ํ•œ ํŽธ์ž…๋‹ˆ๋‹ค.

Collision Profile

Collision Profile(์ฝœ๋ฆฌ์ „ ํ”„๋กœํŒŒ์ผ)์€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ฝœ๋ฆฌ์ „ ๊ด€๋ จ ์†์„ฑ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์ •์˜ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์–ธ๋ฆฌ์–ผ ์—”์ง„์˜ Collision Preset ๊ฐœ๋…๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ, ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ถฉ๋Œ ์„ค์ •์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ํ”„๋กœํŒŒ์ผ์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ํ•ญ๋ชฉ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค:

  1. ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…(Object Type / Collision Channel) : ํ•ด๋‹น ํ”„๋กœํŒŒ์ผ์„ ๊ฐ€์ง„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์†ํ•˜๋Š” ์ฝœ๋ฆฌ์ „ ์ฑ„๋„

  2. ๋‹ค๋ฅธ ์ฑ„๋„๊ณผ์˜ ์ถฉ๋Œ/์ธํ„ฐ๋ž™์…˜ ํ—ˆ์šฉ ์ƒํƒœ(Collision Response): ๊ฐ ์ฝœ๋ฆฌ์ „ ์ฑ„๋„๊ณผ์˜ ๊ตฌ์ฒด์ ์ธ ์ƒํ˜ธ์ž‘์šฉ ๋ฐฉ์‹(์ถฉ๋Œ, ์˜ค๋ฒ„๋žฉ๋งŒ, ๋ฌด์‹œ ๋“ฑ)

์˜ˆ๋ฅผ ๋“ค์–ด, "์ด ํ”„๋กœํŒŒ์ผ์— ํ•ด๋‹นํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋Š” 'Humanoid' ์ฑ„๋„์— ์†ํ•˜๋ฉฐ, 'WorldStatic' ์ฑ„๋„๊ณผ๋Š” ์ถฉ๋Œํ•˜๊ณ , 'Projectile' ์ฑ„๋„๊ณผ๋Š” ์˜ค๋ฒ„๋žฉ๋งŒ ๋˜๋ฉฐ, 'Trigger' ์ฑ„๋„๊ณผ๋Š” ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค"์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ œ๊ณต Collision Profile

OVERDARE Studio๋Š” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ถฉ๋Œ ์„ค์ •์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

ํ”„๋กœํŒŒ์ผ๋ช…

Object Type

์ฃผ์š” ์šฉ๋„

NoCollision

WorldStatic

์ถฉ๋Œ์ด ํ•„์š” ์—†๋Š” ์˜ค๋ธŒ์ ํŠธ (์˜ˆ: ์ดํŽ™ํŠธ, ํŒŒํ‹ฐํด)

BlockAll

WorldStatic

๋ชจ๋“  ์ฑ„๋„๊ณผ ์ถฉ๋Œํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ

OverlapAll

WorldStatic

๋ชจ๋“  ์ฑ„๋„๊ณผ ์˜ค๋ฒ„๋žฉ๋งŒ ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ

BlockAllDynamic

WorldDynamic

๋™์  ์˜ค๋ธŒ์ ํŠธ์šฉ ์ „์ฒด ์ถฉ๋Œ

OverlapAllDynamic

WorldDynamic

๋™์  ์˜ค๋ธŒ์ ํŠธ์šฉ ์ „์ฒด ์˜ค๋ฒ„๋žฉ

์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ์„ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜, ํ•„์š”์— ๋”ฐ๋ผ ์ปค์Šคํ…€ ํ”„๋กœํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Profile ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

Collision Profile ํŒจ๋„ ํ‘œ์‹œ

Collision Profile์€ OVERDARE Studio ์ตœ์ƒ๋‹จ ํƒญ ์˜์—ญ์—์„œ Model ํƒญ์„ ์„ ํƒํ•˜๋ฉด ์ถœ๋ ฅ๋˜๋Š” Collision Profile ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Channel ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ

Collision Channel ์ถ”๊ฐ€

Collision Profile ์ฐฝ์—์„œ Collision Channel ์„น์…˜์˜ Empty Channel์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ์–ด ์ƒˆ๋กœ์šด ์ฑ„๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” Default Channel์€ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋ฐ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.์ฑ„๋„ ์ด๋ฆ„์€ ์ตœ๋Œ€ 50์ž๊นŒ์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Channel ๊ด€๋ฆฌ

์ฑ„๋„๋ช… ์œ„์—์„œ ๋งˆ์šฐ์Šค ๋”๋ธ” ํด๋ฆญํ•˜์—ฌ ์ฑ„๋„๋ช…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Delete๋ฅผ ํ†ตํ•ด ์ฑ„๋„์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์ฑ„๋„๋ช…์œผ๋กœ๋Š” ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.์ฑ„๋„์„ ์‚ญ์ œํ•˜๋ฉด ํ•ด๋‹น ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํŒŒ์ผ์ด ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Collision Cannel ์ •๋ณด ์ˆ˜์ •

ObjectType

ํ•ด๋‹น ์ฑ„๋„์„ ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…์˜ ๊ธฐ๋ณธ Response๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ณ„ ๋‹ค๋ฅธ Profile์ด ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด, ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…์€ ๋ชจ๋‘ ๊ธฐ๋ณธ Responce๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

TraceType

TraceType์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น TraceChannel์ด CollisionProfile๊ณผ ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด TraceResponce๋กœ Pawn์„ Ignore ๋กœ ์ง€์ •ํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ์ฑ„๋„์„ ์ด์šฉํ•ด Raycast๋ฅผ ํ•  ๋•Œ, Pawn Profile์„ ์‚ฌ์šฉํ•˜๋Š” Part, MeshPart๋Š” ๊ฒ€์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์‚ฌ์šฉ์‚ฌ๋ก€

CameraChannel์—์„œ Wall CollisionProfile์„ Ignore๋กœ ์„ค์ • ํ•˜๋ฉด, Wall Profile๋กœ ์ง€์ •๋œ ๋ฒฝ์ด ์บ๋ฆญํ„ฐ์™€ ์นด๋ฉ”๋ผ ์‚ฌ์ด์— ์žˆ๋”๋ผ๋„, ์นด๋ฉ”๋ผ๊ฐ€ ์บ๋ฆญํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋ฒฝ ์•ž์œผ๋กœ ์ด๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Collision Profile ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ

Collision Profile ์ถ”๊ฐ€

Collision Profile ์ฐฝ์—์„œ + New Profile ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ์‹œ New Profile๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, ํ”„๋กœํŒŒ์ผ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ”„๋กœํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Profile ์„ค์ •

ํ”„๋กœํŒŒ์ผ์„ ์„ ํƒํ•˜๋ฉด ์šฐ์ธก ํŒจ๋„์—์„œ ๋‹ค์Œ ํ•ญ๋ชฉ๋“ค์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์˜ค๋ธŒ์ ํŠธ ํƒ€์ž… ์„ค์ •

Object Type ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ํ•ด๋‹น ํ”„๋กœํŒŒ์ผ์„ ๊ฐ€์ง„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์†ํ•  Collision Channel์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ์šฉ ํ”„๋กœํŒŒ์ผ์ด๋ผ๋ฉด "Player" ์ฑ„๋„์„ ์„ ํƒํ•˜๊ณ , ๋ฒฝ์ด๋‚˜ ๋ฐ”๋‹ฅ ๊ฐ™์€ ์ •์  ์˜ค๋ธŒ์ ํŠธ์šฉ ํ”„๋กœํŒŒ์ผ์ด๋ผ๋ฉด "WorldStatic" ์ฑ„๋„์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฑ„๋„๋ณ„ ์ƒํ˜ธ์ž‘์šฉ ์„ค์ •

Collision Responses ์„น์…˜์—์„œ ๊ฐ Collision Channel๊ณผ์˜ ๊ตฌ์ฒด์ ์ธ ์ƒํ˜ธ์ž‘์šฉ ๋ฐฉ์‹์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์ฑ„๋„์— ๋Œ€ํ•ด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์˜ต์…˜
์„ค๋ช…

Block

ํ•ด๋‹น ์ฑ„๋„์˜ ์˜ค๋ธŒ์ ํŠธ์™€ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฑ„๋„์ด Trace Type์˜ ์ฑ„๋„์ธ ๊ฒฝ์šฐ,

Overlap

ํ•ด๋‹น ์ฑ„๋„์˜ ์˜ค๋ธŒ์ ํŠธ์™€ ์˜ค๋ฒ„๋žฉ๋งŒ ๋˜๋ฉฐ, ๋ฌผ๋ฆฌ์  ์ถฉ๋Œ์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Ignore

ํ•ด๋‹น ์ฑ„๋„์˜ ์˜ค๋ธŒ์ ํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ์ฑ„๋„ ๊ฐ„ ์ถฉ๋Œ ์„ค์ •: ๊ฐ™์€ ์ฑ„๋„(์˜ˆ: Pawn โ†” Pawn)์— ์†ํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค ๊ฐ„์˜ ์ถฉ๋Œ๋„ ํ”„๋กœํŒŒ์ผ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, RootPart ํ”„๋กœํŒŒ์ผ์€ ๋‹ค๋ฅธ Pawn๊ณผ Overlap์œผ๋กœ ์„ค์ •ํ•˜๊ณ , BodyPart ํ”„๋กœํŒŒ์ผ์€ ๋‹ค๋ฅธ Pawn๊ณผ Block์œผ๋กœ ์„ค์ •ํ•˜์—ฌ, RootPart๋Š” ๋ฌด์‹œํ•˜๊ณ  BodyPart๋งŒ Hitํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Profile ๊ด€๋ฆฌ

ํ”„๋กœํŒŒ์ผ๋ช… ์œ„์—์„œ ๋งˆ์šฐ์Šค ๋”๋ธ”ํด๋ฆญํ•˜์—ฌํ”„๋กœํŒŒ์ผ๋ช…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Delete๋ฅผ ํ†ตํ•ด ํ”„๋กœํŒŒ์ผ์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํŒŒ์ผ๋ช…์œผ๋กœ๋Š” ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ธŒ์ ํŠธ์— Collision Profile ์ ์šฉ

Collision Profile์„ ์„ค์ •ํ•  ์˜ค๋ธŒ์ ํŠธ(Part, MeshPart ๋“ฑ)๋ฅผ ์„ ํƒํ•œ ํ›„, ํ”„๋กœํผํ‹ฐ ์ฐฝ์—์„œ Collision Profile ์†์„ฑ์— ํ”„๋กœํŒŒ์ผ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์˜ค๋ธŒ์ ํŠธ๋Š” ํ•˜๋‚˜์˜ Collision Profile๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Profile ํ™œ์šฉ ์˜ˆ์‹œ

์˜ˆ์‹œ 1: ํ”Œ๋ ˆ์ด์–ด์™€ ํˆฌ์‚ฌ์ฒด ์‹œ์Šคํ…œ

ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ๋Š” ๋ฒฝ๊ณผ ์ถฉ๋Œํ•˜์ง€๋งŒ, ํˆฌ์‚ฌ์ฒด๋Š” ํ”Œ๋ ˆ์ด์–ด๋ฅผ ํ†ต๊ณผํ•˜๊ณ  ๋ฒฝ์—๋งŒ ์ถฉ๋Œํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Collision Channel ์ƒ์„ฑ

  • "Humanoid" ์ฑ„๋„ ์ƒ์„ฑ (๋˜๋Š” ๊ธฐ๋ณธ ์ œ๊ณต ์ฑ„๋„ ์‚ฌ์šฉ)

  • "Projectile" ์ฑ„๋„ ์ƒ์„ฑ

  • "WorldStatic" ์ฑ„๋„ ์ƒ์„ฑ (๊ธฐ๋ณธ ์ œ๊ณต, WorldStatic์—์„œ ๋ณ€๊ฒฝ๋จ)

  1. Collision Profile ์ƒ์„ฑ

PlayerProfile:

  • Object Type: Humanoid

  • Collision Response

    • WorldStatic: Block

    • Projectile: Overlap

    • Humanoid: Block

ProjectileProfile:

  • Object Type: Projectile

  • Collision Response

    • WorldStatic: Block

    • Humanoid: Overlap

    • Projectile: Ignore

  1. ์˜ค๋ธŒ์ ํŠธ์— ํ”„๋กœํŒŒ์ผ ์ ์šฉ

  • ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ์˜ ํ•˜์œ„ Part๋“ค์— PlayerProfile ์ ์šฉ

  • ํˆฌ์‚ฌ์ฒด ์˜ค๋ธŒ์ ํŠธ์— ProjectileProfile ์ ์šฉ

  • ๋ฒฝ๊ณผ ๋ฐ”๋‹ฅ ์˜ค๋ธŒ์ ํŠธ์— WorldStatic ์ฑ„๋„์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํŒŒ์ผ ์ ์šฉ

์˜ˆ์‹œ 2: ํŠธ๋ฆฌ๊ฑฐ ์˜์—ญ ์„ค์ •

ํŠน์ • ์˜์—ญ์— ์ง„์ž…ํ–ˆ์„ ๋•Œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ํŠธ๋ฆฌ๊ฑฐ ์˜์—ญ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Collision Channel ์ƒ์„ฑ

  • "Trigger" ์ฑ„๋„ ์ƒ์„ฑ (๋˜๋Š” ๊ธฐ๋ณธ ์ œ๊ณต ์ฑ„๋„ ์‚ฌ์šฉ)

  1. Collision Profile ์ƒ์„ฑ

TriggerProfile:

  • Object Type: Trigger

  • Collision Response

    • Humanoid: Overlap

    • WorldStatic: Ignore

    • Projectile: Ignore

  1. ์˜ค๋ธŒ์ ํŠธ์— ํ”„๋กœํŒŒ์ผ ์ ์šฉ

  • ํŠธ๋ฆฌ๊ฑฐ ์˜์—ญ Part์— TriggerProfile ์ ์šฉ

  • Touched ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋ ˆ์ด์–ด ์ง„์ž… ๊ฐ์ง€

์˜ˆ์‹œ 3: ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ ํ™œ์šฉ

๊ธฐ๋ณธ ์ œ๊ณต ํ”„๋กœํŒŒ์ผ์„ ํ™œ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์ถฉ๋Œ ์„ค์ •์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. NoCollision ํ”„๋กœํŒŒ์ผ: ์ดํŽ™ํŠธ, ํŒŒํ‹ฐํด ๋“ฑ ์ถฉ๋Œ์ด ํ•„์š” ์—†๋Š” ์˜ค๋ธŒ์ ํŠธ์— ์ ์šฉ

  2. BlockAll ํ”„๋กœํŒŒ์ผ: ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ์™€ ์ถฉ๋Œํ•ด์•ผ ํ•˜๋Š” ๋ฒฝ, ๋ฐ”๋‹ฅ ๋“ฑ์— ์ ์šฉ

  3. OverlapAll ํ”„๋กœํŒŒ์ผ: ๋ชจ๋“  ์˜ค๋ธŒ์ ํŠธ์™€ ์˜ค๋ฒ„๋žฉ๋งŒ ๋˜๋Š” ํŠธ๋ฆฌ๊ฑฐ ์˜์—ญ์— ์ ์šฉ

ํ•„์š”์— ๋”ฐ๋ผ ๊ธฐ๋ณธ ํ”„๋กœํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ํ”„๋กœํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ œ๊ณต Collision Channel

OVERDARE Studio๋Š” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” Collision Channel์„ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฑ„๋„๋ช…

์„ค๋ช…

์šฉ๋„

WorldStatic

๊ณ ์ •๋œ ์˜ค๋ธŒ์ ํŠธ (Anchored, ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์—†์Œ)

๋งต์— ๊ณ ์ •๋œ ๋ฐ”์œ„, ํŽœ์Šค, ๋ฒฝ ๋“ฑ

WorldDynamic

๋™์  ์˜ค๋ธŒ์ ํŠธ (!Anchored, ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์žˆ์Œ)

์›€์ง์ด๋Š” ํ”Œ๋žซํผ, ๋„์–ด ๋“ฑ

PhysicsBody

๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์˜ค๋ธŒ์ ํŠธ (CanCollide && !Anchored)

๋ฌผ๋ฆฌ์ ์œผ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋˜๊ณ  ์ถฉ๋Œ ์ฒ˜๋ฆฌ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ

Pawn

ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋น™์˜ ๊ฐ€๋Šฅํ•œ ์บ๋ฆญํ„ฐ

ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ, NPC ๋“ฑ

Trace Channel ํ™œ์šฉ

Trace Channel์€ Raycast ๋“ฑ์˜ ์ฟผ๋ฆฌ ์ž‘์—…์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฑ„๋„์ž…๋‹ˆ๋‹ค. RaycastByChannel() API์—์„œ Trace Channel์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœํŒŒ์ผ๋ณ„๋กœ Overlap ๋˜๋Š” Hit ๊ฒ€์ถœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Trace Channel๊ณผ Object Type Channel์˜ ๊ด€๊ณ„

  • Trace Channel๊ณผ Object Type Channel์€ 32๊ฐœ์˜ ์ฑ„๋„์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

  • Trace Channel์€ Raycast, LineTrace ๋“ฑ์˜ ์ฟผ๋ฆฌ ์ž‘์—…์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • Object Type Channel์€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ถฉ๋Œ ๊ทธ๋ฃนํ•‘์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐ™์€ ์ฑ„๋„์„ Trace Channel๊ณผ Object Type Channel๋กœ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Trace Channel ์‚ฌ์šฉ ์˜ˆ์‹œ

ํŠน์ • Trace Channel์„ ์‚ฌ์šฉํ•˜์—ฌ Raycast๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด, ํ•ด๋‹น ์ฑ„๋„์— ๋Œ€ํ•œ ํ”„๋กœํŒŒ์ผ์˜ Collision Response ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒ€์ถœ๋ฉ๋‹ˆ๋‹ค:

  • Block: Hit์œผ๋กœ ๊ฒ€์ถœ๋ฉ๋‹ˆ๋‹ค. RaycastResult์—์„œ Hit ์†์„ฑ์ด true๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • Overlap: Overlap์œผ๋กœ ๊ฒ€์ถœ๋ฉ๋‹ˆ๋‹ค. RaycastResult์—์„œ Hit ์†์„ฑ์ด false์ด๊ณ  Overlap ์†์„ฑ์ด true๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • Ignore: ๊ฒ€์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, "WeaponTrace"๋ผ๋Š” Trace Channel์„ ์ƒ์„ฑํ•˜๊ณ , ํ”Œ๋ ˆ์ด์–ด ํ”„๋กœํŒŒ์ผ์—์„œ WeaponTrace์— ๋Œ€ํ•ด Block์œผ๋กœ ์„ค์ •ํ•˜๋ฉด, ๋ฌด๊ธฐ Raycast ์‹œ ํ”Œ๋ ˆ์ด์–ด๋งŒ Hit์œผ๋กœ ๊ฒ€์ถœํ•˜๊ณ  ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋Š” ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Collision Profile์˜ ์žฅ์ 

Collision Profile์€ Collision Group๋ณด๋‹ค ๋” ์„ธ๋ฐ€ํ•˜๊ณ  ์œ ์—ฐํ•œ ์ถฉ๋Œ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ์ฑ„๋„๋ณ„ ์„ธ๋ฐ€ํ•œ ์ œ์–ด: ๊ฐ ์ฑ„๋„์— ๋Œ€ํ•ด Block, Overlap, Ignore๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœํŒŒ์ผ ๊ธฐ๋ฐ˜ ์˜ˆ์™ธ ๊ด€๋ฆฌ: ์˜ˆ์ „์ฒ˜๋Ÿผ ๊ทธ๋ฃน ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋งค๋ฒˆ ์ •์˜ํ•  ํ•„์š” ์—†์ด, ๊ฐœ๋ณ„ ํ”„๋กœํŒŒ์ผ์˜ ๋…๋ฆฝ์„ฑ๋งŒ์œผ๋กœ ํŠน์ • ์ƒํ™ฉ(์˜ˆ: ํˆฌ์‚ฌ์ฒด ๊ด€ํ†ต ๋“ฑ)์— ๋งž๋Š” ์ถฉ๋Œ ๊ทœ์น™์„ ํšจ์œจ์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

  • ํ™•์žฅ์„ฑ: ์ƒˆ๋กœ์šด ์ฑ„๋„์ด๋‚˜ ํ”„๋กœํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๊ณ , ๊ธฐ์กด ์„ค์ •์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Last updated