Unity / XDreamer 机械运动模块 - 旋转机构
Posted Apex可乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity / XDreamer 机械运动模块 - 旋转机构相关的知识,希望对你有一定的参考价值。
使用XDreamer来便捷的开发工程机械的相关原理交互,特别提醒:非常适合工程车辆的模拟与物联网的设备交互,可用获取的数据驱动数字模型,类似工业机械手臂的三维可视化效果。
启动Unity 创建新工程,加载XDreamer软件,创建并开启机械运动模块
在XDreamer 简单案例包中可获取案例教程源文件
打开【平移旋转转换】scenes场景文件,可以看到相关机械案例原型。先来看下基础的机械原理, 旋转机构、平移机构、摇杆 这几种类型的机械运转方式,。
【旋转机构】
如果你把旋转机构理解为是旋转动画,那就错了,旋转动画实现的方式有很多种一行代码也能实现,但是在机械模块中略有不同,他有更多可控参数,可使用中文脚本获取设备真实的数据,传递给模型,实现物联网的智慧监控或者叫物联网数字可视化系统。
旋转机构功能是目前机械模块里比较简单易懂的功能,就是控制物体沿着不同的角度旋转,甚至限定他的旋转角度
我们来复盘一下案例中的模型,准备几个简单的模型组合成一个旋转机构的机械模型
第一种方法是先在工具库中,创建一个旋转机构
可以创建一个游戏对象,也可以直接创建在选中的模型上
把设备模型拖拽至旋转机构上作为子集,然后坐标归零,这很重要,不然轴心不对容易跑偏
设置旋转的轴向、旋转的速度、半径的尺寸
也可以限制机械结构在固定的区间角度进行旋转,很多机械都有类似结构。
运行程序 结构模型就转起来了。
复制一组旋转机构模型,缩小一倍,形成2个齿轮,使用 状态库中的运动转换器,可以把大齿轮的“能量”转换到小齿轮上,形成一种连带组合的效果,这就厉害了。
添加方法如下
注意,添加好以后要设置一下简单的公式计算方式。这个就不难理解了,用参数乘法的参数,乘 -1 ,小齿轮就会反向旋转,形成咬合的状态, 主要就是要设置 动力输入模型和输出模型的关系就好了
最后我们实战一下,同样的方法 替换模型。
模型的比例和齿轮数量要根据机械规则来进行设置,这一点非常重要,按照齿轮比,设置大小尺寸的尺寸和数量才可以,不要缩放一个小齿轮,数量不对就会发生“扫齿”的现象,我的大齿轮是中齿轮的2倍,是小齿轮的4倍,大齿轮 40个齿、中齿轮20、小齿轮10个!
关于速度:大齿轮转1圈、中齿轮转2圈、小齿轮转4圈 角速度也要进行同步设置
如果你觉得这就是个旋转的关系,那就错了,我们可以通过脚本动态设置 输入动力齿轮的速度值,来控制整套齿轮组的运动速度。
好了,关于旋转机构,就介绍到这个了!剩下的内容直播再唠吧!再见
[Unity算法]斜抛运动(变种)
之前的斜抛运动,如果运动到游戏中,显然是太呆板了,那么可以试着加入一些效果,让它看起来更生动一些,类似游戏中的击飞或者掉落效果:
1.在达到最高点的时间点±X的时间段内,会有“减速”效果,形成一种在空中停留的感觉
2.落地后,反弹一次,再落地,就像是与地面发生了碰撞
相关公式:
以上是关于Unity / XDreamer 机械运动模块 - 旋转机构的主要内容,如果未能解决你的问题,请参考以下文章
Unity:3D 运动/碰撞检测失败(AddForce、MovePosition、transform.localPosition)