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中单位是毫米,你怎么让两者统一。(一)导入一个设备模型试...
2024-11-07 16:02:30
勇哥注:由于unity只能导入fbx格式的3d模型 ,但是solidwoks不能导出为fbx格式,我们让solickworks先导出为step或者是stl格式,再弄到3dsmax中去导出为fbx格式。但是solidwoks中一个顶级装配体导出为stl后,会生成一堆stl文件。怎么样批量导入3dsmax中就成了个大问题,因为3dsmax只能一个一个的导入,让你崩溃。(至少3dsmax2019及之前版...
2024-11-06 14:05:12
勇哥注:动画的用途是做类似于夹取动作、气缸顶升降下这些。你可以认为气缸是一个角色,角色有自己的多种动画状态,只是动画控制器在播放时会根据需要,选择播放不同的动画状态。因此动画不会去让它孤立存在,它主要是作用于角色。Animation(动画)是老版的方式。现在我们一般使用Animator Controller(动画控制器)。(中文菜单)(英文菜单)有了动画控制器后,你就可以添加若干个Animatio...
2024-11-05 23:03:17
勇哥注:碰撞检测和触发器都可以用于检测轴运动是不是撞机了。如果我们的动作逻辑有撞机的可能性,就可以用它来检测到。对于含有相机的设备,则可以使用射线检测取得物料的信息。(一)基本的碰撞检测组件介绍碰撞组件名字没带2D的,都是3D的碰撞组件。Box Collider, Sphere Collider是盒子与球体的碰撞组件。其它几种是非简单几何体的复杂碰撞检测:Mesh Collider网格碰撞体,它能...
2024-11-05 21:54:56
(一)游戏时间Time.time //游戏开始到现在所花的时间Time.timeScale //时间缩放值,可以做游戏加速、减速、暂停等Time.fixedDeltaTime //固定时间间隔 0.02 private void FixedUpdate() { //0.02秒调用一次 }Time.deltaTime //上一帧到这一帧所用的游戏时...
2024-11-05 17:19:09
Update、Coroutines 和InvokeRepeating另一个很容易养成的习惯是在 Update0回调中以超出需要的频率重复调用某段代码。例如,开始时情形如下:void Update(){
ProcessAI();
}本例在每一帧中调用某个自定义ProcessAI()子例程。这可能是一个复杂的任务,需要人工智能系统检查某个网格系统,以找出它要移动的目的地,或者为组宇宙飞船决定一些瞬...
2024-11-05 09:22:51
勇哥注:下面说的功能在雷塞运动卡dmc3000系列脉冲卡和E3032的总线卡上存在,需要换最新的dll支持(2024年的版本)。随着消费电子行业的快速发展,芯片的应用范围越来越广泛。在芯片生产工艺中,固晶机作为关键设备,提升产能和加工精度对绝大多数设备厂家来说至关重要。为满足固晶机高速度和高精度的需求,雷赛控制卡开发了指令缓存算法以匹配行业需求。指令缓存通过添加缓存指令的方式实现点胶和固晶等工艺流...
2024-11-05 01:51:44
勇哥这套halcon引擎的学习笔记贴子共七篇,它是在官方指导文档《http://47.98.154.65/?id=1343》的基础上学习编写而成的笔记。只是有一篇讲解怎么调用向量变量的没有加入,因为勇哥实在不知道这个向量变量有啥子用。以后如果搞明白了再加入吧。2020/7/3勇哥注:原来halcon中的向量就是个容器,跟c++标准模板库中的那个向量是一致的。第八篇加上来吧halcon引擎学习笔记(...
2024-11-04 10:38:17
这个现象是当点击播放后,自动会暂停。然后你取消暂停后,游戏可以继续。。。。是不是很烦?有没有可能是你的代码中有异常代码,靠成播放时出错,让游戏停止下来?其实是想复杂了。原因很简单,就是你不小心按下了这个“错误暂停”的按钮。这个按钮有效无效显示的差别不太明显,大家要注意了:有效时的显示无效时的显示经常有一些警告代码,也会认为是错误的,所以就会被停下来。例如下面这样的:...
2024-11-02 19:53:37
勇哥注:勇哥的这套教程侧重点是工业的数字孪生。我们知道工业4.0比较重要的一个基础技术就是数字孪生。有了它我们可以在设备3d图出来后就进行设备动作仿真,在设备采购与配电完成之前就可以完成设备的动作逻辑的编制与测试。对于非标自动化行业来说,可以极大的降低试错成本、提高设备产出。工业数字孪生是跨学科的综合应用。因此你需要下面的一些基础能力:1. C#语言,.netframework开发,要求较高,你...
2024-11-01 08:16:19
勇哥注:工业机器人使用两个约束就可以实现动作,一个是Aim Constraint,一个是Rotation Constraint。两种约束,都是“注视”一个目标,目标移动,则机器人凡是添加了约束的关节都会联动。下面是简易的机器人演示:只实现了三个关节的动作。球体是Aim Constraint的关注物体。Rotation Constraint的关注物体是GameObject(1)-->GameO...
2024-10-29 16:56:18
勇哥注:移动动画怎么让它持续的时间完全由速度和总距离来决定?这其实是模拟的运动控制卡API的工作方式。下面举的两个例子,使用了两种不同的方式实现目的。(一)Z轴上下移动using System.Collections;
using UnityEngine;
public class Lifting : MonoBehaviour
{
public Trans...
2024-10-29 10:28:20
在Unity中,获取场景中的对象通常是通过访问场景中的根对象(通常是SceneManager.GetActiveScene().rootCount和SceneManager.GetActiveScene().GetRootGameObjects())或者通过查找具有特定名称、标签或类型的对象来实现的。以下是一些常用的方法:1. 使用 Find 方法Find 方法可以在整个场景中查找具有特定名称的...
2024-10-29 09:01:01
(一)常见的生命周期方法在 Unity 中,除了 Awake() 之外,还有其他许多常用的生命周期函数,它们在游戏对象或脚本组件的生命周期中的不同阶段被调用,允许开发者在适当的时候执行特定的代码。以下是一些常用的 Unity 生命周期函数:(1)Start()调用时机:在 Awake() 之后调用,仅当脚本实例首次被启用时调用一次。用途:通常用于进行一些初始化操作,如设置初始状态、加载资源等。(2...
2024-10-26 19:21:04
勇哥注:本节举几个协程的例子。(一)鼠标唤出面板左键唤出,右键关闭,窗口变大和缩小的过程会有动画效果。这里用到了动画曲线,它的值可以在曲线指定范围内变化,从而带动panel的缩放的变化。源码:using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class panelTe...
2024-10-25 17:07:07
勇哥注:协程是字面意思,就是协作关系的代码。用过之后感觉跟C#的async await很像,也就是异步。但根据一些资料可以知道,对于脚本代码的执行,unity是使用的单线程的。因此它的这个协程并不是多线程,它究竟是个什么原理,是比较有意思的话题。协程的作用:任何的程序代码和逻辑处理都是按照顺序执行的。协程就是开启一段和主程序异步执行的逻辑处理。但是我们的代码并不是同时执行的。协程会通过我们不同的y...
2024-10-25 16:51:28
(一)鼠标与键盘 void Update()
{
if(Input.GetMouseButtonDown(0))
{
Debug.Log("鼠标左键按下");
}
if(Input.GetMouseButton(0))
{
Debug.Log("鼠标左键持续按下&q...
2024-10-25 11:48:31
勇哥注:unity中的Vector3可以表示向量、坐标、三元数,欧拉角等。这些东西是在应用组件Transform时必须的。(一)三元数Vector3 v=new Vector3(1,1,1);可以表示:向量,坐标,旋转,缩放v=Vector3.Zerov=Vector3.onev=Vector3.upv=Vector3.rightVector3 v2=Vector3.forward;//计算两个向...
2024-10-25 10:08:25
勇哥注:向量是unity里非常基础的一个概念,可以理解为跟3D物体的朝向有关。标量:只有大小的量,跟其它任何性质都没关系向量:即有大小又有方向的量 例如,你的学校在哪里? 回答:在你正前方100的地方。 这个答案就是类似向量的表示。 如果给他一个坐标位置,那这种就是标量的表示。 其它概念向量的模:就是向量的大小,舍去方向。 单位向量:大小,或者长度为1的向量。 向量的单位化,归一化: 因为向量的大...
2024-10-25 09:23:38
勇哥注:本节主要解决下面两个问题:这里的X,Y,Z是个什么单位呢?父物体子物体的父子关系是靠什么来维系的呢?Transform组件用来做位移、旋转、缩放。(一)Transform的单位在Unity中,一个对象的Transform组件的X方向数值代表的是在世界空间或本地空间中的位置或移动距离,其单位通常是米(m)。这并不是像素单位,而是Unity使用的三维空间中的标准度量单位。具体来说,Transf...
2024-10-24 20:23:11
勇哥注:UI是非常重要的内容,如果想做触摸屏效果,或者把unity变成软件界面来使用的话,这个是必须搞明白的。(一)UI的基础理论(1)如果要使用UI,场景中至少要有一个Canvas(画布),所有的UI组件都要成为它的子物体(2)另一个是EventSystem(事件系统),如果场景中没有,系统会自动跟你添加一个。(3)点击按钮,切换到2D视图,此时你看到了Canvas的大小,这个默认大小是跟据你的...
2024-10-24 20:16:22
把你的dll拷贝到Assets目录下Plugins目录下,如果Plugins不存在,则创建一个。然后去你的脚本中就可以使用这个dll了。此时unity会自动识别出这个dll,并且在你的vs编辑器的智能提示中,可以提示你自动引用相关的命名空间了。以上说的是调用.net framwork的dll。如果是其它的类型,请自行查阅资料。下图中,勇哥用这种方式就能成功引用EasyModubs的功能。...
2024-10-24 13:41:02
勇哥注:对于unity脚本之间的相互调用。FindObjectOfType这个应该是unity封闭的反射功能,它需要加缓存,否则影响速度。最常用的方式应该还是公共变量引用和静态方法调用。1. 通过公共变量引用你可以在一个脚本中定义一个公共变量来引用另一个脚本的实例。然后在Unity编辑器中手动将这个引用设置好。脚本A (ScriptA.cs):using UnityEngine;
p...
2024-10-24 09:33:50
勇哥注:本节说下unity的调试功能。(一)调试方法Debug.Log("test");Debug.LogWarning("test2");Debug.LogError("test3");//绘制线Debug.DrawLine(Vector3.Zero,Vector3.one);//绘制射线Debug.DrawRay(Vector3.ze...
2024-10-22 10:51:53
勇哥注:这篇继续说一下这两款软件的应用。系列贴子:Modbus Poll和Modbus slave软件应用(一)http://47.98.154.65/?id=2494 Modbus Poll和Modbus slave软件应用(二)http://47.98.154.65/?id=2528先说下Modbus Slave软件(一)软件线程多开 如果想启动多个Modbus Slave或者Modbus P...
2024-10-22 09:03:12
勇哥注:轴的移动很简单,就是Translate。整个XZ取放如果想自动连在一起运动,在协程里应用StartCoroutine进行顺序动作的定义即可。下面这个例子中,还用到了上节所讲的夹子代码。(图1)Safe Height Take Product Depth 取料时Z轴的深度Release Product Length 放料时的深度,因为是放到另一个拉带上,所以要单独控制深度。Releas...
2024-10-19 23:36:26
从仙剑七发售开始,仙剑系列似乎又迎来了一个小高峰,这倒不是说仙剑七的质量多么出彩,而是这两月以来仙剑系列影视化、动画化的消息频繁地传出,例如仙剑四同时要影视化和动画化,最被玩家忽视的仙剑二也要影视化,几天前连仙剑一也说要重拍了。算来仙剑这么些年也出了九部单机游戏作品了(这里就不算各种网游、手游、页游了),各代主要角色之间多少都有些千丝万缕的联系,若不是把这九部作品包含支线都仔细玩过,往往也很难说清...
2024-10-17 21:29:55
勇哥注:夹子的应用有我们常见的气缸。它的基本原理就是Fixed Joint 连接器。如下图所示,那个Cube添加Fixed Joint链接器后,配置好“已连接实体”,即可以实现链接。当你移动Cube时,球体会跟随移动下面构建夹子的简易演示,工程对象如下图所示:(图1)(图2)对base添加夹子脚本(图3)先在“场景”视图把夹子对象降下来。(图4)然后转到 “游戏”视图,按space键把夹子夹住球体...