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...
2024-11-21 07:53:02
我们先构建一个简单场景:问题1:怎么让source只产生一个Cube,而不用连续产生?如果我们选择Source的Active为Never,即不激活这个组件。你会发现播放后, Cube直接落下穿透了地板。如果你把Mu的Active置为Never,发现一切正常,难道Mu是多余的?在game4automation的组件中,Active属性用于控制组件的行为或状态,特别是在自动化测试或游戏自动化脚本中。...
2024-11-20 21:06:32
(一)MU组件可移动单元 (MU) 是在场景中自由移动的对象。它们可以被拾取或加载,并且可以放置在运输表面上。 MU 由 Source 创建,由 Sink 删除。MU 脚本会自动附加到 Source 创建的所有对象。作为用户,您根本不需要与 MU 脚本交互,除非脚本本身发布信息或请求一些输入。这是 MU 脚本的 Inspector 窗口:ID,Global ID每个 MU 都会自动接收一个全局 I...
2024-11-20 17:33:00
(一)Interact3D组件Interact3D 脚本允许您在 3D 场景中定义用户交互,例如按钮、开关或开门。此脚本可以附加到具有碰撞器的任何组件。如果用户正在单击对象,则状态将更改。你可以设置以下属性Switch 如果交互应该像开关一样工作,则为 True,如果为 false,则像按钮一样工作。MaterialOn 材料应用于 Switch 或 Button 的 ON 状态的...
2024-11-20 14:38:05
(一)Group Script组件Group 由 GroupName 命名。对于 Prefabs (预设件),您还可以定义对另一个对象的引用,这将为组名称创建 Prefix。如果要生成使用 Group 函数的可重用预制件,这将特别有用。Group scritp 由 Kinematic 脚本专门使用。通常一个CAD零件由许多层级的子对象构成。如下图所示,我们在层级1161292_p05_000_01...
2024-11-19 17:13:29
勇哥注:Grip是夹取组件,Gripper则是一个自动化对象,包含了Grip和相关的MU、感应器等。game4automation的grip系列组件如下图所示:(一)Gripgrip常见的应用就是拾取、放下MU。它的图标是:使用刚体固定或作为子组件(1)子组件:Grip 可以将 MU 作为子组件附加,这是推荐的方法(2)Fixed Joints(固定关节):或者,可以使用 Fixed Joints...
2024-11-18 22:09:00
勇哥注:这节讨论一下运动相关的组件。Drive组件的应用,它用来定义轴;Drive Behavior组件更像是运动方式(算法);Logic Steps逻辑步骤的功能可用于内测,即是不用plc,自己写逻辑测试动作。(一)Drive组件把游戏对象添加Driver组件后,就构建了运动轴。Drive将沿定义的旋转轴或者线性轴移动游戏对象。由于Driver不会向plc公开Signal接口,为此,除了游戏对象...
2024-11-18 15:05:06
勇哥注:game4automation的传感器有两种算法,一是基于刚体碰撞,二是基于RayCast(射线检测)。接上一节的场景,我们继续。我们想实现:plc给个信号拉带启动,碰到一个物料到位感应器后拉带停止。并且我们只需要一个Can在拉带上运动。添加三个对象。SensorBeam 是个传感器对象Sensor Beam。它需要绑定一个输入信号,如下图:startSingal 是PLCOutput...
2024-11-18 08:29:05
勇哥注:这篇勇哥演示一下创建一个带有光源、传送带和感应器的小例子。首先,必须在Assets的根创建一个目录,而不要在game4automation目录中创建场景。这是因为game4automation一但更新,里面的内容就清空了,你的场景就白搞了。然后创建一个新的game4automation Scene,新的场景。把这个场景保存在新建的test1目录中。创建成功的项目,包括基础灯光、相机、UI等...
2024-11-12 16:49:22
(一)UPH说明定义:UPH是一种用于计算生产线的生产速率的公式,是企业生产运营的重要参考指标。它的全称是“Unit Per Hour”,即每小时产量。UPH具体计算步骤 1、计算总的生产时间:首先,计算总的生产时间,即把生产准备时间、生产时间和清洁时间等累加起 来,得出单位时间内的总时间。 2、计算每小时产量:把总时间除以一小时,得出每小时产量。3、计算每小时产量的单位:根据产品规格,判断每小时...
2024-11-09 15:13:45
(一)灯光烘培基本操作就是如果一场景中,光源照射角度是固定的,那无需要要实时光照的。只需要计算一次光照,产生一个光照贴图。这个时候即使光源删除了,因为有这张光照贴图,还是有光照效果。这是一种节省系统资源的办法,毕竟实时光照是要消耗算力的。自动化设备的光照也可以是固定的,所以也非常适合灯光烘培。窗口-->渲染-->照明。照明面板中,直接点击“生成光照”即可。这个时候系统会开始计算全局光照...
2024-11-07 17:26:57
勇哥注:由于unity只能导入fbx格式的3d模型 ,但是solidwoks不能导出为fbx格式,我们只能让solickworks先导出为中间的格式,再弄到3dsmax中去导出为fbx格式。这样搞来搞去,事件就变复杂了。首先就是批量导入导出模形的问题,再就是材质与灯光的问题。还有一个简单些的问题,就是unity中单位是米,而solidwoks中单位是毫米,你怎么让两者统一。(一)导入一个设备模型试...