主站
道具百科
触发器百科
脚本API百科
创作手册
创作功能
其他
Studio百科
物理系统的使用
BR 更新时间: 2023-12-07 10:48:39

物理系统是游戏中非常重要的部分,它可以使小伙伴们的游戏更加的真实,以及增添很多趣味性,如:创造一个篮球、足球或者秋千等等,它们都离不开物理的支持,要想实现精准的游戏机制,更加真实的游戏世界,让玩家拥有更好的游戏体验以及舒适的手感我们就需要掌握这些基础内容。

在迷你世界Studio中可以使用多种物理效果,包括但不限于重力,质量,速度等。以及相关的约束系统,小伙伴们可以设置这些内容并应用到小伙伴们的游戏中去,那么就让我们一起来学习一下物理系统的使用吧~

 

首先我们创建一个模型

点击【顶部工具栏】的【模型】向下箭头【▼】

选择【圆形】模型

在【节点列表】左键选中这个球体

这样一个球体就创建好啦

重力属性

小伙伴可以修改重力让物体模型获得相应的重力

属性

描述

Gravity

float

模型重力

物理属性

小伙伴可以通过选中场景模型,修改对应的物理属性。

小伙伴可以通过属性面板设置模型的质量、摩擦力等,也可通过代码在其运行的进行动态的修改。

注意:如果想要模型响应这些物理属性,Anchored属性必须取消勾选。

属性

描述

Anchored

bool

锚定状态,为true时此物体不受外部环境物理影响,但是会给外部提供物理输入。例如:有外来物体撞击到此物体,此物体不会产生移动,但是会对外来物体产生碰撞反弹力。

AngleVelocity

Vector3

模型角速度

EnableGravity

bool

模型是否支持重力

Friction

float

模型摩擦力

Mass

float

模型质量

Restitution

float

模型反弹力,比如物体撞击在地面上会根据此值来计算反弹高度

Velocity

Vector3

模型移动速度

物理碰撞

除了模型的基础物理,小伙伴还可以通过设置模型包围盒设置模型的物理碰撞。

在这里可以设置模型是否可以产生碰撞,以及设置碰撞组。

属性

描述

CanCollide

bool

是否可以碰撞。设为false时为trigger状态

CanTouch

bool

是否触发碰撞回调函数:Touched和TouchEnded事件

CollideGroupID

int

可以通过PhysXService:SetCollideInfo函数设置任意两个组之间是否会产生碰撞

DrawPhysicsCollider

bool

显示物理包围盒

EnablePhysics

bool

开启此物体的物理状态。为true时物体的物理属性可以使用

动态创建一个物理球体

首先右键左侧【节点列表】【WorkSpace】

选择【新增节点】

创建一个【Script】

双击【Script】打开脚本

编写代码创建一个【物理球体】

一个动态创建【物理球体】的逻辑就写好啦

--创建实例模型
local sphere= SandboxNode.New('GeoSolid')
--设置名称
sphere.Name = "sphere"
--设置模型
sphere.GeoSolidShape = Enum.GeoSolidShape.Sphere
--设置位置
sphere.Position = Vector3.New(150.000000,300.000000,-600.000000)
--设置局部大小
sphere.LocalScale= Vector3.New(1.500000,1.500000,1.500000)
--设置大小
sphere.Size = Vector3.New(150.000000,150.000000,150.000000)
--设置锚定状态
sphere.Anchored = false
--设置模型父节点
sphere:SetParent(script.Parent)

 

效果展示

站点有内容要更新是否更新。
更新
忽略