Unity绳子插件QuickRopes使用方法(让你快速创建你想要的绳索效果)

QuickRope插件介绍

从插件的名字就可以知道,QuickRope,使用此插件可以让开发者快速创建绳子、锁链等链条的工具,并可以模拟这些绳子的物理属性,自动生成绳子,可以编辑绳子属性,创建一条你想要的绳子。

插件demo演示说明

  • demo1:Edit Rope Renderer
    在这里插入图片描述
    点击左侧列表按钮即可看到扭曲的绳子,带星、花朵、八角形状的链条和电缆的效果绳。点击下方(Press To Play Physics)即可看到当前绳子的物理属性模拟效果,你也可以调整滑动条的参数来观看绳子的效果。
    在这里插入图片描述
    在这里插入图片描述
    请添加图片描述
    绳子受到到重力下落,和绳子间关节相互作用力的物理效果。

  • demo2:Sandbox
    请添加图片描述
    演示了锁链吊起物体的效果,并可以控制锁链的长度。

  • demo3:Static Rope Renderer
    在这里插入图片描述
    静态的绳子,就是将你编辑好的绳子导出为静态模型,没有物理效果。

如何快速创建一条绳子或锁链

  • 创建绳子
    点击菜单栏——GameObject——3D Object——QuickRopes——Create Rope At Origin,即可创建一根默认材质的绳子,
    在这里插入图片描述
    你可以新建材质球,赋予你绳子的贴图到材质球,再将材质球赋予绳子的渲染设置:
    在这里插入图片描述
    你就可以看到你的绳子的初步样子了。

  • 创建锁链
    同理创建锁链的方法,依次点击菜单栏——GameObject——3D Object——QuickRopes——Create Chain At Origin,即可看到插件自动生成锁链的初步效果。
    在这里插入图片描述

绳子编辑脚本QuickRope说明

基本设置:

在这里插入图片描述

属性说明
Max Link Count创建绳索时生成的最大链接数
Link Spacing设置每个链接之间的控制,链接多的应设置小点,反之设置大一些
Can Resize如果勾选,绳子将会缓存你设置的最大链接数的关节在绳子下,当改变长度时,最大延伸长度即为最大链接数
Use Physics默认勾选,使用物理属性,会为每个链接生成关节(Joints)和刚体
Default Prefab链接处生成的预制体,为空时,你需要自定义绳子的网格渲染器
Default Scale设置链接预制体的大小比例乘数,此处(设置的值 * 预制体的Scale)为链接预制体的Scale大小
Alternate Rotations如果勾选,偶数链接关节将旋转90度
Position 、Euler Rotation、Scale设置链接预制体的位置、旋转、大小的偏移
物理属性设置:

在这里插入图片描述

属性说明
Mass设置绳子质量
Drag设置拖动的力
Angular Drag设置角度拖动的力
Use Gravity是否启用重力
Is Kinematic是否启用运动学(为True时,绳子不受物理引擎驱动)
Interpolate设置插值
CollisionDetectionMode设置碰撞模式
Constraints设置约束
Break Force设置绳子断裂的力
Break Torque设置绳子断开时的扭矩
Twist Limit设置扭曲的极限
Swing Limit设置绳子摆动极限
Spring设置绳子的弹力
Damper设置绳子的阻尼器值
Collider Type设置链接处预制体的碰撞器类型
链接处的预制体属性的设置

在这里插入图片描述

Link Settings:

在这里插入图片描述

属性说明
Is Looped设置样条曲线是否要被循环。如果样条线上只有2个点,这将为样条线添加第三个点
EvenlyDistribute如果此设置为true,则样条点算法将尝试均匀地沿着样条线分布其点,从而使关节填充样条线
Output Resolution此值是点分布的“搜索”值。默认情况下,它被设置为1000,这意味着样条曲线将迭代自己1000次,以试图沿着自己分配点。平均低值会使关节展开,放置得不那么准确
Edit InPlayMode当此选项设置为true时,它允许您在播放模式期间在场景视图中查看样条曲线编辑器(仅限编辑器)

绳子样条线可视化编辑器说明

在这里插入图片描述

  1. Root:
    绳子的根节点,根控制将移动整个绳索游戏对象。这是不能从游戏对象原点移动到的唯一控制点。
  2. Add Control Point:
    当单击时,将添加一个新的控制点。所添加的点将被放置在此点的原点处。
  3. Control Point:
    样条曲线相交的可移动点。
  4. Control Tangent
    控制控制点之间样条曲线曲线的可移动点。

拓展功能说明(修改绳子长度、绳子断开)

  1. 动态改变绳子的长度(模拟绳子拉伸、升降机功能)
    插件中RopeController脚本写好了控制绳子长度的功能:
    在这里插入图片描述
    主要是控制Rope对象的Velocity属性的值来动态修改绳子的长度
    只要将该脚本挂载到绳子上,按下键盘的上下键来控制绳子的长度。

  2. 绳子断裂(模拟钢丝断裂功能)
    我们可以通过脚本修改绳子QuickRope对象的BreakForce的值不等于无穷力,此时绳子链接处关节不再相互约束,从而产生一个相互作用力,互相弹开,形成一个绳子断开的效果:

public QuickRope rope ;//声明绳子对象
......
//绳子断开的方法,设置任意不同于Mathf.Infinity的值即可
private void BreakRope()
 {
   rope.defaultJointSettings.breakForce = 10;//
 }

但是你会看到绳子的全部链接都会断开:
在这里插入图片描述
如果你想其中一个链接断开,怎么办呢,我们可以看到绳子上的每个链接节点都有这么一个组件【Character Joint】,它身上也有一个BreakForce属性:

在这里插入图片描述
我们可以这样写:

    public CharacterJoint breakJoin;//声明一个CharacterJoint对象
    //调用绳子断裂方法时,设置断裂力不同于Mathf.Infinity的值即可
    private void BreakRope()
    {
        breakJoin.breakForce = 1;
    }

绳子某一个链接点断裂效果:
在这里插入图片描述
也可以写绳子断裂之后触发的事件。
QuickRope插件下载

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周周的Unity小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值