2024-12-13 09:24:57
一般来说,当你在unity中编辑模式下点,在内部赋值与外部赋值状态之间的切换,这个设置会记录下来。但是有时候会发现,在播放的时候状态又自动切换为下图的状态(内部赋值状态),结果就是外部通讯无法控制这个通讯变量了。怎么办呢?解决的办法很简单!复制一个正常的通讯变量,改下名字设置好参数就行了。这种情况应该是game4automation的一个bug。...
2024-12-09 16:50:58
SensorBeam是由一个3D游戏对象加感应器组件构成的组合对象。Sensor则只是一个感应器组件。SensorBeam如果有效,像下图所示的Status会在碰到mu对象后有反应。这个对象有个问题,就是只对mu对象有反应。如果我们用它来构建原点和限位感应器,就不适合。换成game4automation的场景中,你得把MU对象放到g4a MU层,而SensorBeam放在g4a Sensor层。这...
2024-12-09 08:33:20
勇哥注:unity中的2d物理效果基于开源的Box2D引擎,3d物理效果基于Nvidia PhysX,包括几个关键组件:Rigidbody(刚体),Collider(碰撞器),关节(Joints)我们只对3d物理效果有兴趣。见图1:场景中4个对象(先不算斜面上的cube)。球体添加了RigidbodyCube有一个BoxCollider。两个平面都添加了Mesh Collider。播放后我们见到下...
2024-12-06 16:49:12
game4automation的层级面板中,通讯接口相关有丰富的控制功能。下面讨论一下它们的控制图标的意义。(一)图1的疑问(图1)(1)为啥有些值的显示写着False,而有些显示的是(False)。False这种没括号的,注意它的属性中,关联到了一个流对象上面,因此Behavior列表中有内容。(False) 这一种则Behavior列表中没有关联游戏对象。(2)为啥有项目显示是蓝色的并且后面有...
2024-12-05 15:18:29
目前,市面上对非标自动化设备制造的需求有相关性的,并且有流行度的软件主要是下面几款。(一)IOA数字孪生软件此国产软件主要采用拼积木方式构建实验场景。主要用于学习实验性质。 它虽然可以导入solidworks的模型,但是模型的准备工作操作复杂,只适合单独机构零件的模拟动作,不适合整机运动模拟。 只能配合plc进行仿真。 官网: www.ioaol.com参考视频 :https://www.b...
2024-12-04 16:52:27
今天unity播放时看到出现了这个提示。它不是错误,仅是个提示,但是不停的刷消息,比较烦。网上查了一下,意思如下:当前场景中有4个音频监听器(Audio Listener),而Unity引擎要求每个场景中只能有一个音频监听器。在相机属性中,果然有个Audio Listener。关闭,只留下一个即可。...
2024-12-04 14:28:20
Drive IO's的这几个参数,勇哥发现其实有妙用。(1)Jog Forward/Jog Backward 前后运动这两个我们在播放时,可以用于测试轴向前、向后运动。但其实,它可以用来做jog运动的!那个Target Speed 正好做为jog运动的速度参数。使用的时候,我们弄几个PLC Output对应Jog Forward和Jog Backward,在代码中收到信号后就对Jog F...
2024-12-03 21:47:35
讨论下面几个问题:(一)为啥在编辑模式下灯也会闪烁 即使不播放,在场景编辑模式下,灯也会闪烁。 这个原因见下的贴子: unity中不播放,仅在编辑模式下也能执行脚本的方法 http://www.skcircle.com/?id=2589 如果想让灯被外部控制,不要自己闪烁,需要关闭Flashing(自动闪烁)和Lamp On。(二)为啥黄灯缺省是这种绿色,这样黄灯没点亮时,...
2024-12-03 11:20:22
讨论几个问题:(一)Sensor到底要不要配Sensor_Standard?Sensor自己也有一个Sensor Occupied,可以指定一个PLC Input。Sensor_Standard也有一个Occupied,用以指定一个PLC Input。勇哥经过实现,发现两个地方都有效果。也就是说,你可以不用Sensor_Standard。(二)为啥Sensor感应到变红了,但是PLC Input看...
2024-12-03 09:48:13
勇哥注:在game4automation中,创建modbus接口时,会出现下图所示蓝色标记的预设体内容。如果你想把蓝色的项止移动到一个空对象的下面,会有个报错那么我们怎么取消预制体与空对象的关联呢?在Hierarchy视图下,选择预制体的根对象,鼠标右键,Prefab-->Unpack Completely。注意如果你选择子对象,则Prefab下面不会出现Unpack Completely已...
2024-12-02 15:25:23
勇哥注:这节说下输入按钮的组件Interact 3D,以及丝印文字怎么弄。下面是4个常见的按钮:启动、停止、复位、急停按下后(需要去Game窗口按),Mouse Down和On会打勾。松开鼠标后,它们取消打勾。默认就是不勾选Switch属性,这个时候就是点动按钮状态。下面是Interact 3D的属性。Switch 如果不勾则是点动按钮,如果勾了就是开关按钮(状态保持按钮)Mouse Down...
2024-11-29 21:27:13
勇哥注:game4automatic的Lamp灯,居然不在播放的时候,也会有一闪一闪的效果。显示,它在编辑器的状态也在执行中。这是怎么做到的?在Unity中,有几种方法可以让脚本在未播放场景时运行:(1)使用ExecuteInEditMode属性:在脚本的类定义前添加[ExecuteInEditMode]属性,可以使脚本在Unity编辑器中运行,而不需要播放场景。例如:using Unity...
2024-11-29 11:14:42
下图中的cube的轴心默认是在mesh的中心的。而我们希望它在底边的中心位置。直接改是没办法的。但是可以变通一下,方法是,先创建一个空对象,把这个空对象的轴心放到我们希望的位置。然后把cube做为它的子对象。接下来我们控制这个空对象就可以了。现在我们我们就可以旋转这个空对象,其轴心就是我们想要的。...
2024-11-29 07:54:09
在unity中,我们知道项目名字,也知道它保存在哪里。但是如果你想知道你当前的场景scene保存在assert的哪个目录,可能就麻烦了吧。你从标题栏是不可能知道这个信息的。我们一般习惯在asserts的根目录中创建场景目录。这样asserts下就好多的目录了。解决办法:首先你把当前场景保存。然后在菜单“Open Recent Scene”的历史列表中,第一行就可以看到你场景的文件名,及目录名。(下...
2024-11-28 21:28:42
勇哥注:Drive_Speed就是以恒定的速度持续运动。如果想停止,需要把Target Speed改为0。如果想改变运动方向,需要把Target Speed改为负值。Drive_Speed运动方式,就是我们调机时用的jog运动。在触摸屏上,jog运动的按钮按住不放就持续运动,松开就停止。jog运动适合轴位置的粗调,然后精调就是使用ptp运动了。下面是Drive_Speed运动的参数。由于比较简单,...
2024-11-28 21:16:34
勇哥注:Drive_Gear字面上叫齿轮运动。其实你可以认为它就是龙门运动,一个主驱动器运动时,另一个驱动器做同步跟随运动。axis4做为副驱动器,添加了drive和drive_Gear。axis3做为主驱动器,只用添加drive。当然你也可以添加其它的运动方式。不管是什么方式,副驱动器都会同步进行。运行的时候,让主驱动器动起来就可以了。如果你让副驱动器运动起来,结果就是两个都不会动。...
2024-11-28 19:48:26
骑行旅游主播在拍摄视频时,为了确保画面清晰且稳定,通常会采用以下专业设备和技术:一、专业摄像机或运动相机品牌与型号:大疆DJI Pocket 2、影石Insta360 X4、山狗G11等高端运动相机,这些设备以其高清画质和出色的防抖性能而广受好评。GOPRO HERO系列运动相机,如HERO12 Black,同样以其画质清晰和防抖效果好而备受推崇。特点:这些设备通常具备高分辨率(如4K或8K)和宽...
2024-11-28 17:12:43
勇哥注:Drive_DestinationMotor直译就是“目标运动”,其实其效果就是运动卡的ptp(点到点运动)而且是走的绝对位置的ptp运动。参数解释:Speed 是起始速度Target Speed 是最高速度,就是均匀段的速度。Acceleration 是加速度,没有减速度,但是估计减速度等于加速度。Is At Positon 实时位置,可以理解为编码器反馈值Is At S...
2024-11-28 16:08:38
勇哥注:Drive_Continous Destination有点像随时可以改变目标位置、速度的运动方式。你一但修改Destination(目标位置)就会立刻动起来,如果中途你重新修改Destination也可以,立刻向新目标运动。Acceleration(加速度)和Target Speed(目标速度)也一样可以中途随时修改。这一种方式也适合做运动控制卡类似的ptp(点位运动),因为它已经带有加速...
2024-11-28 16:00:48
勇哥注:此方式非常适合模拟脉冲型运动卡的运动方式,运动卡是以一定的频率持续向伺服或者步进驱动器发送脉冲。而且它还可以指定减速比。效果如下图所示:这个动图显示有点问题。其操作实际上是:鼠标按住Value的值左右拖动,就可以连续改变其值。轴就会连续运动。这个值关联到Drive_Follow Position的Position属性上面的。下面的测试场景。Axis1添加了Drive_Follow Posi...
2024-11-28 15:18:56
勇哥注:Drive Cylinder是类似气缸动作的方式,可以用来模拟出真实的气缸、电缸效果。如下图所示:这是常见的单控气缸,一个触发IO,两个磁性感应器,一个是动点感应,一个是原点感应。动点指的是气缸伸出去的最大位置,原点是指气缸缩回来的最小位置。另外还有一种双控气缸,它有两个触发IO,两个磁性感应器。这一种也可以模拟。(图1)(一)项目构建如图1所示,我们要构建两个感应器sensor,两个PL...
2024-11-27 20:46:12
勇哥注:modbus是主从模式(master/slave)。以服务端/客户端来做比喻的话,slave就是服务端,master就是客户端。game4automation支持modbus接口。但是只支持做从站,即做Slave端,而不是做Master端。并且modbus缺省会使用本机IP, 端口号固定502不能修改。添加方式如下图所示:(图1)下图是添加好的Modbus接口。Is Connected...
2024-11-26 16:19:34
kinematic组件的作用比较难懂。我们只用抓住它的两个核心能力:一是将已定义组(由Group Script组件定义的)中的零件集成到此 Kinematic 零部件中二是可以移动或者旋转kinematic零部件的轴心点(一)将已定义组(由Group Script组件定义的)中的零件集成到此 Kinematic 零部件中这样说其实可能你还是不能明白是啥意思。勇哥用下面的示例来说明:下面的场景是一个...
2024-11-26 09:09:47
从2023版本以后,版本命名又变成非年月日了,现在最新的被命名为unity 6。版本命名怎么变来变去~~见下图:unity6启动界面是下面这样的:启动更慢了。。。。...
2024-11-25 21:29:13
(一)Measure Raycast组件Measure Raycast组件,用来检测射线到碰撞体之间的距离。如果碰到则输出Hit状态。同时可以把测量结果连接到PLCInput信号,这样Measure Raycast就能当感应器来用。如下图所示:手动移动Measure Raycast,如果碰到了cube,则显示显示距离,以及Hit。层级面板结构如下:Cube必须添加Box Collider。Meas...
2024-11-25 14:29:37
勇哥注:这节研究一下怎么使用Grip组件,以实现Gripper的效果。本节的效果如下:跟gripper组件不一样的是,这个grip组件需要你做下面额外的事:(1)左右两个夹子,有一个可以增加一个感应器sensor。(2)左右两个夹子,都得增加Drive,开合的动作需要自己来完成。其中(1)是可选项,即使没有sensor,也可以用plc信号来控制取与放。有了sensor,你只需要控制plc信号完成放...
2024-11-23 16:58:02
勇哥注:夹抓使用gripper组件,它是一个自动组件,运行时会自动包含grip、fixer等功能,专用用来处理夹子取放物料的效果。夹取的效果如下图:(一)Gripper组件这个组件是一个组合了多个组件的自动化夹爪对象。在播放的时候,它会自动生成grip组件,并且产生Fixed一样的效果。它的作用就是用夹爪取放MU对象。Time Opening 夹子打开的时间,单位秒Time Closing...
2024-11-22 17:05:09
勇哥注:有了上节的基础,本节比较简单。场景基本没变,就是改下Fixer的几个参数。本节接上节的内容:game4automation教程(九)Kinematic、Grip、Fixer、Drive取放MU的实验一http://www.skcircle.com/?id=2569 基于RayCast的方式比较简单,基本场景跟上一节是一样的,效果如下图:场景如下:不要添加Box Collider组件。如果有...
2024-11-22 13:54:02
smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)功能:返回平行坐标最小外包矩形该算子计算返回输入区域的平行于坐标系的最小外包矩形。该最下外包是关于区域中心计算的最小平行外包。返回参数:Row1, Column1:矩形中心点的坐标。 Row2, Column2:矩形右下较的点坐标。smallest_rectangle2 (...
2024-11-21 09:34:23
勇哥注:抓取与放下MU,就是本节要讨论的话题。这个话题还比较多,本节讨论最简单的基于碰撞算法的方式。(一)Fixer组件这个组件,简单的说就是把要抓取的物体去掉物理属性,可以配合动力学,跟随夹爪一起运动。这个效果就像是你的MU物体突然变成了夹爪的子物体。Fixer有一个检测区域,这个检测有两种方式,一是碰撞检测,二是射线投影。检测区域一旦有效,则这个MU的 Physics (物理) 和 Gravi...