PhysicsService

PhysicsService : Instance

Overview

PhysicsService๋Š” ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ์—์„œ ๊ฐ์ฒด ๊ฐ„ ์ถฉ๋Œ ๊ทœ์น™์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•˜๋Š” ์„œ๋น„์Šค๋กœ, ์ถฉ๋Œ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ ๊ทธ๋ฃน ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ์—ฌ๋ถ€๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ”Œ๋ ˆ์ด์–ด์˜ ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ํŠน์ • ๋ฒฝ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Properties

Methods

CollisionGroupSetCollidable

์ง€์ •ํ•œ ๋‘ ์ถฉ๋Œ ๊ทธ๋ฃน์ด ์„œ๋กœ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์„์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๋“ฑ๋ก๋˜์ง€ ์•Š์€ ๊ทธ๋ฃน์— ์„ค์ •์„ ์‹œ๋„ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, IsCollisionGroupRegistered() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ๊ทธ๋ฃน์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Parameters

string Group1

์ถฉ๋Œ ๊ทธ๋ฃน1์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

string Group2

์ถฉ๋Œ ๊ทธ๋ฃน2์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

bool bCollidable

๊ทธ๋ฃน ๊ฐ„ ์ถฉ๋Œ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local Part = script.Parent
local PhysicsService = game:GetService("PhysicsService")

local DefaultGroup = "Default"

local GroupA = "GroupA"
PhysicsService:RegisterCollisionGroup(GroupA)

Part.CollisionGroup = GroupA

local collidable = false
PhysicsService:CollisionGroupSetCollidable(DefaultGroup, GroupA, collidable)

CollisionGroupsAreCollidable

๋‘ ์ถฉ๋Œ ๊ทธ๋ฃน ๊ฐ„์˜ ์ถฉ๋Œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Parameters

string Group1

์ถฉ๋Œ ๊ทธ๋ฃน1์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

string Group2

์ถฉ๋Œ ๊ทธ๋ฃน2์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

bool

Code Samples

GetMaxCollisionGroups

๋ฌผ๋ฆฌ ์—”์ง„์—์„œ ๋™์‹œ์— ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ œํ•œ์€ 17๊ฐœ์ด๋ฉฐ, ์ด๋ฅผ ์ดˆ๊ณผํ•˜์—ฌ ๊ทธ๋ฃน์„ ๋งŒ๋“ค ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ณต์žกํ•œ ์ถฉ๋Œ ๊ทœ์น™์„ ์„ค๊ณ„ํ•  ๋•Œ๋Š” ๊ทธ๋ฃน ์ˆ˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

Parameters

Return

Value

์ƒ์„ฑ ๊ฐ€๋Šฅํ•œ ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.

Code Samples

local PhysicsService = game:GetService("PhysicsService")

print(PhysicsService:GetMaxCollisionGroups())

GetRegisteredCollisionGroups

๋“ฑ๋ก๋œ ๋ชจ๋“  ์ถฉ๋Œ ๊ทธ๋ฃน์„ ํ…Œ์ด๋ธ”๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

Return

Array

๋“ฑ๋ก๋œ ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

Code Samples

local PhysicsService = game:GetService("PhysicsService")

local CollisionGroups = PhysicsService:GetRegisteredCollisionGroups()
print(CollisionGroups)

IsCollisionGroupRegistered

ํŠน์ • ์ถฉ๋Œ ๊ทธ๋ฃน์ด ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

CollisionGroupSetCollidable() ๋“ฑ ์ถฉ๋Œ ๊ทธ๋ฃน ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์—, ํ•ด๋‹น ๊ทธ๋ฃน์ด ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

string Group

๊ฒ€์‚ฌํ•  ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

bool

๋“ฑ๋ก๋˜์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Code Samples

local PhysicsService = game:GetService("PhysicsService")
local DefaultGroup = "Default"

local IsRegistered = PhysicsService:IsCollisionGroupRegistered(DefaultGroup)
print(IsRegistered)

RegisterCollisionGroup

์ง€์ •ํ•œ ์ด๋ฆ„์œผ๋กœ ์ถฉ๋Œ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Default, RootPart, BodyPart, Projectile์ฒ˜๋Ÿผ ์ด๋ฏธ ๋“ฑ๋ก๋œ ์ด๋ฆ„์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ถฉ๋Œ ๊ทธ๋ฃน ์„ค์ •์€ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋Ÿฐํƒ€์ž„์—์„œ ์ƒ์„ฑํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ŠคํŠœ๋””์˜ค ํŽธ์ง‘ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•ด ๋‘๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

string Group

๋“ฑ๋กํ•  ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local Part = script.Parent
local PhysicsService = game:GetService("PhysicsService")

local GroupA = "GroupA"
PhysicsService:RegisterCollisionGroup(GroupA)

RenameCollisionGroup

์ง€์ •ํ•œ ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ๋‹ค๋ฅธ ์ถฉ๋Œ ๊ทธ๋ฃน๊ณผ์˜ ์ถฉ๋Œ ์„ค์ •์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

Default, RootPart, BodyPart, Projectile ๋“ฑ ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฆ„ ๋ณ€๊ฒฝ์€ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋Ÿฐํƒ€์ž„์—์„œ ์ˆ˜์ •ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ŠคํŠœ๋””์˜ค ํŽธ์ง‘ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•ด ๋‘๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

string FromGroup

์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

string ToGroup

๋ณ€๊ฒฝํ•  ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local PhysicsService = game:GetService("PhysicsService")

local GroupA = "GroupA"
local NewName = "GroupNewName"

PhysicsService:RenameCollisionGroup(GroupA, NewName)

UnregisterCollisionGroup

์ง€์ •ํ•œ ์ถฉ๋Œ ๊ทธ๋ฃน์„ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ํ•ด๋‹น ๊ทธ๋ฃน์— ์†ํ•ด ์žˆ๋˜ ํŒŒํŠธ๋Š” Default๋กœ ์ž๋™ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

Default, RootPart, BodyPart, Projectile ๋“ฑ ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” ์ถฉ๋Œ ๊ทธ๋ฃน์€ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ถฉ๋Œ ๊ทธ๋ฃน ์‚ญ์ œ๋Š” ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋Ÿฐํƒ€์ž„์—์„œ ์‚ญ์ œํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ŠคํŠœ๋””์˜ค ํŽธ์ง‘ ๋‹จ๊ณ„์—์„œ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•ด ๋‘๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

string Group

์‚ญ์ œํ•  ์ถฉ๋Œ ๊ทธ๋ฃน์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local PhysicsService = game:GetService("PhysicsService")

local GroupA = "GroupA"
PhysicsService:UnregisterCollisionGroup(GroupA)

Events

See also

Collision Groups

Last updated