挂接零件
- 类型:Hook
简介
作用
挂接零件可以挂接在角色部件的挂点上与部件连接在一起,例如配饰
和工具
可以通过挂接零件与角色
连接在一起,是制作工具和配饰不可缺少的重要组成部分。
创建和使用
玩家可以在配饰
和工具
后的“+”中创建,也可以使用脚本函数RWObject:New()
创建。
玩家可以根据自己的需要更换挂接零件的形状,重启世界提供了方块、球、胶囊、圆柱、角楔体、楔体、四棱锥、圆锥体、圆环多种形状的基础挂接零件,在创建挂接零件时可在菜单中选择或在挂接零件属性“改变形状”修改;为挂接零件增加特殊模型
对象可以使挂接零件形状显示出基础形状之外的玩家上传的模型形状;改变挂接零件材质
、颜色
可以改变挂接零件外观,也可以为挂接零件增加贴图对象,贴上自定义的图片。
玩家可以点击右侧属性栏中的挂接部位
属性并选择对应位置的挂点来快速修改需要连接的位置,并通过修改位置偏移
和方向偏移
更细致的调整挂接位置,需要注意的是,位置偏移和方向偏移中的数值都是以当前挂接部位选择的挂点为原点进行移动或旋转的。
特点和注意事项
挂接零件在工具下可以被角色
碰撞拾取。
挂接零件可以与其他零件
建立约束关系,配饰和工具下的挂接零件可以和其以外的其他零件发生任何约束关系,同一配饰或工具下的不同挂接零件之间也可以建立约束关系,同一工具或配饰下的挂接零件拼接后,只有在左侧工作栏位置靠上的挂接零件生效。
属性
HookPart 挂接部位 Enum.HookHumanoidBodyPart
决定挂接零件与身体的哪一个部位相连
PositionOffset 位置偏移 Vector3
挂接零件相对于挂接部位的位置偏移
DirectionOffset 方向偏移 Vector3
挂接零件相对于挂接部位的方向偏移
继承自BasePart:
UseType 改变形状 Enum.MeshTypes
改变形状
继承自ScenePrimitive:
Color 颜色 Vector3
点击可打开详细的颜色调节面板
Material 材质 Enum.MaterialType
零件的材质,不同的材质具有不同的物理属性
Tiling 平铺率 Vector2
材质贴图在零件表面的平铺次数,数值越大贴图越密。
Offset 材质偏移 Vector2
材质贴图相对于默认位置的偏移量
Transparency 透明度 float
零件的透明度
AlphaCutoff 透明镂空 float
自定义零件没有贴图的部分会显示基本材质贴图,透明镂空指基本材质贴图的透明度
Position 坐标 Vector3
显示对象的坐标,分为世界坐标和相对坐标
Rotation 朝向 Vector3
显示对象的世界朝向
Size 尺寸 Vector3
对象的具体尺寸大小
IsLock 锁定 bool
锁定可使对象在编辑器窗口中不可被选中,但是在管理器中依然可以选中
Anchored 锚定 bool
锚定可使对象不受物理规则影响
CanCollide 是否碰撞 bool
对象是否可以与其他带有物理规则的对象产生碰撞
RotVelocity 角速度 Vector3
当前角速度,单位弧度/秒;锚定之后会把自身角速度传递给在物体表面上的其他零件和角色
Velocity 速度 Vector3
当前速度,单位米/秒,锚定之后会把自身速度传递给在物体表面上的其他零件和角色
IsCustomPhysics 自定义物理属性 bool
自己定义零件的各种物理属性
Density 密度 float
密度
Friction 摩擦系数 float
两表面之间的摩擦力和作用在其一表面上的垂直力之比值,两物体接触时采用摩擦系数较小的一方
Bounciness 弹性系数 float
弹性系数
FrictionWeight 摩擦权重 float
摩擦权重,仅在人与其他物体接触时起效;权重越大自身的摩擦系数对最终摩擦系数影响越大
UseGravity 是否开启重力 bool
是否开启重力
IsCollisionCallBack 碰撞是否回调 bool [只读]
Mass 质量 float [只读]
质量
继承自RWObject:
Name 名称 string
该对象的自定义名称
ClassName 类型 string
该对象对应的对象类型名称
Parent 父级 RWObject
该对象的父级对象
函数
继承自ScenePrimitive:
CreateJoint(target,jointType)
在自身与目标对象之间创建指定类型的约束
GetJointList()
获取自身的所有约束,返回一个列表
DelAllJoint()
删除自身的所有约束
GetJointPartList(recursive)
获取与自身通过约束相连的所有零件类对象,返回一个列表
GetMass()
获取自身的质量
GetTriggeringPart()
返回零件正在接触的其他零件类对象
GetMaterial()
获取自身材质的枚举类型
GetNetworkOwner()
返回现在拥有这个零件主权的玩家
GetNetworkOwnershipAuto()
返回这个零件的主权是否处于自动分配模式
SetNetworkOwner(player)
设置这个以及所有相连接的零件的主权
SetNetworkOwnershipAuto()
使游戏引擎能够自动处理零件。
继承自RWObject:
DelAllChild()
删除所有子对象
Available()
检查对象是否可用
Clone(parent)
复制自身,若有参数则以参数为父级
Destroy()
删除自身
GetAncestorByName(Name)
通过对象名字寻找父级对象
GetAncestorByClassName(className)
通过对象类型寻找父级对象
GetChildByName(Name,recursive)
通过对象名字寻找子级对象
GetChildByClassName(className,recursive)
通过对象类型寻找子级对象
GetAllChild()
寻找自身所有子级对象,并作为一个列表返回
GetAllDescendant()
递归寻找自身所有后代,并作为一个列表返回
IsAncestor(TarObj)
判断自身是否为目标对象的祖先
IsDescendant(TarObj)
判断自身是否为目标对象的后代
WaitForChild(childName,timeout)
寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行
Child(childName)
根据给定的名字寻找自身的子对象
Equals(TarObj)
判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假
IsClass(className)
判断自身是否为给定的对象类型
事件
继承自ScenePrimitive:
JointBreak()
约束删除或受到断开力的时候触发
TriggerEnter(res)
自身进入触发状态时,触发该事件
TriggerExit(res)
自身结束触发状态时,触发该事件
继承自RWObject:
Destroyed()
删除自身时触发
ChildAdded(childobject)
添加子对象时触发
ChildRemoved(childobject)
移除子对象时触发
DescendantAdded(descendantobject)
添加后代时触发
DescendantRemoved(descendantobject)
移除后代时触发
AncestryChanged(AncestryChanged)
祖先变更时触发