错误告诉你
CollisionGroup
不是对象上的函数。这是一个
property that you set
.
有一个
official tutorial
你可以关注碰撞组,这很有帮助。因此,请遵循以下步骤:
-
注册冲突组(尝试执行一次)
-
设置碰撞组之间的碰撞属性
-
将对象添加到新的碰撞组
所以试试这样的方法:
local PhysicsService = game:GetService("PhysicsService")
local COLLISION_GROUP_MOBS = "Mobs"
local mobExists -- DEFINE THIS VARIABLE
local map -- DEFINE THIS VARIABLE TOO
-- Register the new collision group
PhysicsService:RegisterCollisionGroup(COLLISION_GROUP_MOBS)
-- Disable collisions between objects in the collision group
PhysicsService:CollisionGroupSetCollidable(COLLISION_GROUP_MOBS, COLLISION_GROUP_MOBS, false)
-- Create a helper function to spawn mobs
local function spawnMob()
-- spawn and position the mob
local newMob = mobExists:Clone()
newMob:PivotTo(map.StartPoint.CFrame)
newMob.Parent = map.Mob
-- set every collidable part to the mob collision group
for _, object in ipairs(newMob:GetDescendants()) do
if object:IsA("BasePart") then
object.CollisionGroup = COLLISION_GROUP_MOBS
end
end
return newMob
end