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 GroupsLast updated