SuperAPI AI 工具集

roblox-physics

通用与其它

查看项目

更新于 10-15 21:37

技能介绍

用途:面向 Roblox 开发的物理与空间查询参考,指导用射线/体积查询做命中判定与区域检测,并正确使用碰撞组、装配体、约束与网络所有权。

主要能力:

  • 空间查询:workspace:Raycast(origin, direction, params)、Spherecast、Blockcast;体积重叠用 GetPartBoundsInBox、GetPartBoundsInRadius,精确几何用 GetPartsInPart。建议复用 RaycastParams/OverlapParams,用 FilterDescendantsInstances 或 AddToFilter 更新过滤;可设 RespectCanCollide、CollisionGroup。已弃用 FindPartOnRay*、Ray.new、FindPartsInRegion3*。客户端查询只看到已流入的部件,权威判定应在服务端。
  • Touched:由物理引擎触发,仅限实际接触,可能被拥有该部件的客户端伪造或抑制,且一次接触可多次触发。适合触发板/拾取物,需防抖与服务端校验;命中检测与区域用空间查询。
  • 碰撞组:API 已移至 WorldRoot,如 workspace:RegisterCollisionGroup、CollisionGroupSetCollidable,按名称赋值 CollisionGroup;最多 32 组。CanCollide、CanQuery、CanTouch、NoCollisionConstraint 可分别控制碰撞、查询、触碰与特定部件间碰撞。
  • 装配体与关节:焊接/约束连接的部件作为单一刚体模拟,根部件决定网络所有权;用 WeldConstraint、model:PivotTo、BulkMoveTo;速度用 AssemblyLinearVelocity/AssemblyAngularVelocity、ApplyImpulse,Velocity/RotVelocity 已弃用。
  • 移动约束:LinearVelocity、AlignPosition、AlignOrientation、VectorForce、AngularVelocity、LineForce、Torque 替代旧 BodyMovers;需 Attachment0 并合理设置 MaxForce/MaxTorque。
  • 网络所有权:服务端自动分配,可用 SetNetworkOwner(nil/player)、SetNetworkOwnershipAuto 调整,须在服务端对根部件调用,频繁切换会造成卡顿。
  • 服务端权威:Workspace AuthorityMode = Server 时服务端模拟、客户端预测回滚,逻辑用 RunService:BindToSimulation 绑定,输入走 Input Actions,状态用属性同步。

限制与提示:抖动常源于所有权冲突、约束互斗、质量比过大或每帧设 CFrame;MaxForce 设为 math.huge 易导致弹飞;休眠装配体需小冲量唤醒;自适应步长省 CPU,精密机构用固定步长。服务端权威的推出状态可能变化,请查阅官方文档。具体配方与 CFrame 示例见 references/recipes.md,服务端权威细节见 references/server-authority.md。