![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
文章平均质量分 55
Unity
Racyen
行胜于言。
古人学问无遗力,少壮工夫老始成。
纸上得来终觉浅,绝知此事要躬行。
展开
-
Unity二维平面上物体的移动(十九)
上一节中实现将机器人巡检各物体位置,并逐一到达各物体跟前。但此时机器人是不具备刚体属性,也就是能够穿越各类物体。当机器人从无刚体属性变成刚体属性时,给他再加上碰撞盒属性,他就不会随便穿过物体了。那此时他想到达目标物体,我们提到了会在实际的场景中遇到障碍物的情况,同时会出现选择哪条路径绕过障碍物,选择最优路径解的情形。Unity3D 本身自带了导航系统功能,不过为理解的深入一些,也可以按照自己的思路来做设计导航功能。Unity自带的导航功能是需要有3D空间内的网格渲染或者是地形,在二维平面中暂时没有找到相原创 2022-12-05 00:07:18 · 395 阅读 · 1 评论 -
Unity二维平面上物体的移动(十八)
上一节中实现了圆形机器人到达指定目标物体时,和目标物体打个招呼。实际情况是一个环境中会有很多物体,在出发前做一次整体扫描,了解环境中的整体物体数量和物体名称。我们随机做一下巡检,让物体在出发后按照扫描出来的顺序进行分析,逐一到达各个物体前。原创 2022-12-03 00:10:41 · 190 阅读 · 0 评论 -
Unity二维平面上物体的移动(十七)
上一节中实现了圆形机器人认识周围环境中物体的数量和名称。圆形机器人应该具备巡逻能力,了解环境中物体所在位置后,逐个到达物体前面进行巡逻。在环境中需要从近到远巡逻。到达目标物体时,和目标物体打个招呼。这就需要机器人具备自动感知目标物并且能够到达目标物的能力。原创 2022-11-29 13:27:56 · 476 阅读 · 0 评论 -
Unity二维平面上物体的移动(十六)
那么观察者就需要清楚一个空间内有多少物体,各个物体的位置坐标在哪里。当然物体量不大时,简单的运算就能出来了。做一下简单的认识运算。了解外部世界的变化,物体的移动,这就需要对其能力进行不断补充。在上一节中我们提到了相对物体的移动情况,即作为观察者不动时,参照物在移动,参照物的移动似乎也表示着空间内物体距离的变化。All Objects numbers is 14个。对照我们的环境,验证圆形机器人的输出结果是正确的。Foreach numbers is 14个。Foreach numbers is 5个。原创 2022-11-28 01:33:54 · 462 阅读 · 0 评论 -
Unity二维平面上物体的移动(十五)
这里面1、2两种是通过位移,3、4两种是利用刚体,但是有一个问题是当物体是刚体属性时,也能使用位移就是穿过其他物体或者说当其他物体能够有间隙移动时,从其他物体的间隙中通过。第5种可以当做顺时移动至某一位置。经过实践了二维平面上物体移动的场景,回顾一下,温故而知新。2.用开发环境自带设置,Input.GetAxis()4. 赋予一个刚体初速度。1.通过键盘方式控制。5.直接指定物体位置。原创 2022-11-27 17:16:44 · 734 阅读 · 0 评论 -
Unity二维平面上物体的移动(十四)
前几节都是提到物体移动作为操纵者主观的移动,按相对论的说法,物体相对于参照物的位置变化可以表示自身的运动变化情况。所以在二维模式中,我们可以将客观参照物作为一个移动变化的物体来达到操纵者相对变化的目的。以圆形和方形为例,圆形不动,让方形向左自动移动,当方形物体到达左面的一个边界时,使方形物体重新回到起点,重复上述轨迹。在上图中我们可以用另外一个标志物来衡量方形到达的左边界位置,就是前面所述中的弹弓slingshot,通过方形的自动移动,让方形到达左面边界时回到起点。原创 2022-11-27 01:59:18 · 303 阅读 · 0 评论 -
Unity二维平面上物体的移动(十三)
当然我们本次先试验能够基准打击即可,至于爆炸属性则是需要一些爆炸的物理方面的知识,在何种物理情况下的爆炸会使得什么样的物理对象发生炸裂,如果要做到客观,则需要精心设计这个环节。那么抛物线轨迹就是定的。12.这就是我们所说到的第三方非控制角色了,非控制角色其实也是设定好的一些角色的属性,但是智能有没有需要打一个问号,至少简单的游戏里面是没什么智能的,就是一些属性。有了抛物轨迹,我们通过物理公式小鸟和目标物的横向距离计算小鸟的水平初速度和上升初速度,然后通过赋予这一初速度矢量,实现小鸟的发射并定位。原创 2022-11-20 01:40:19 · 485 阅读 · 0 评论 -
Unity二维平面上物体的移动(十二)-抛物线推动力
如果小鸟能够做到自动判断,则小鸟需要对目标区域首先完成扫描才行,然后根据不同距离计算出发射初始的推动力的大小,然后实现精准打击。如何解决这一问题呢?我们在判断生成小鸟的条件时,不能按照原来的思路进行刚体速度的判断,需要根据位移情况进行判断。上一节说到小鸟移动是靠位移来实现的,但是由于之前生成小鸟的脚本是按预制体的刚体速度判断的,而小鸟之前的发射是靠推动力实现的,所以会出现小鸟在位移情况下不具备刚体速度,小鸟不断产生的情况。当然此时小鸟的刚体属性发挥作用,使得小鸟刚体没有速度时才会生成第二只小鸟。原创 2022-11-05 00:20:58 · 634 阅读 · 0 评论 -
Unity二维平面上物体的移动(十一)-位移和推动力移动的区别
如何解决这一问题呢?我们在判断生成小鸟的条件时,不能按照原来的思路进行刚体速度的判断,需要根据位移情况进行判断。或者如果按照刚体速度判断,则必须给小鸟使用推动力走抛物线,不能按照位移来实现。以上程序中小鸟移动是靠位移来实现的,但是由于之前生成小鸟的脚本是按预制体的刚体速度判断的,而小鸟之前的发射是靠推动力实现的,所以会出现小鸟在位移情况下不具备刚体速度,小鸟不断产生的情况。//重力初始速度为0。原创 2022-11-04 17:02:20 · 637 阅读 · 0 评论 -
Unity二维平面上物体的移动(十)-抛物线
由此可以联想到我们是否可以发射一个小鸟来形成炮弹状效果,击打物体。对于小鸟这个预制体,我们每隔一定时间,发射一次小鸟。在上一节,我们解决了一个小bug,使得小鸟不会一次产生多个。但是,小鸟没有自动发现目标并击中目标,我们可以为小鸟增加识别功能,进行对目标精准打击。当给小鸟不同的初速度时,小鸟发射的距离不一样。//通过一个式子计算初速度。//重力初始速度为0。//重力初始速度为0。原创 2022-11-03 00:35:10 · 1083 阅读 · 0 评论 -
Unity二维平面上物体的移动(九)
无论如何拖动小鸟转圈,小鸟所达到的距离都在弹弓radius之内,所以,这个时候是不会超出边界的,也就不会不断产生小鸟。原创 2022-10-27 20:33:24 · 591 阅读 · 0 评论 -
Unity二维平面上物体的移动(八)
另外一个是小鸟飞出边界的问题。小鸟飞出边界的问题其实是同上几节中实践的圆形和方形飞出边界的问题一样,及位移导致没有被边界捕获。另外设置一下小鸟的物理特性,使用Physics Material 2D,设置Bounciness,表示小鸟的反弹情况。当我们将鸟弹射出去时,多次发射小鸟,会出现小鸟飞出边界但未被边界捕获的情况,而在边界外持续飞翔。当我们转动小鸟从弹弓圈内转出弹弓圈外的时候,小鸟会继续产生,发现这里面有一个bug,同前几节一样,我们设置边界,同时加上边界属性,再加上销毁超出边界的对象的属性。原创 2022-10-27 16:24:19 · 685 阅读 · 0 评论 -
Unity二维平面上物体的移动(七)
上一节中提到的给物体设定了边界,当物体在靠近边界时,边界使物体变成消失状态了。当然起到关键作用的是边界的触发属性,Is Trigger。Is Trigger后面的的小框必须打钩才能使得物体遇到边界变成消失,如果把√去掉,则边界使物体消失的功能就不能被触发。当圆形移至最左端时使得圆形来回跳动,改变坐标系,使得上下左右键其中能够起到对Z轴的控制。圆形已经位移到超出平面空间,进入次维空间。这时,圆形超出了摄像机的范围,故而在game界面无法查看到。当圆形和方形遇到边界时,被边界阻拦,无论如何都超不出边界?原创 2022-10-21 22:15:19 · 257 阅读 · 0 评论 -
Unity二维平面上物体的移动(六)
碰撞盒属性是可以设置碰撞盒的边界的,例如我们的leftBorder,Size是碰撞盒的大小。这里面需要提醒一下,这个碰撞盒属性是赋予在一个空的对象上的,而空的对象的Scale则填(1,1,1)即可,无需设置多么大的范围。利用一个空的对象,新建GameObject中的Create Empty,创建边界,左边界、右边界、上边界。我们给边界赋予属性,使得物体遇到边界时消失。我们在实验方形和圆形移动时,之前是没有添加边界的,所以会造成如果两物体超出底部的支撑端,则两物体掉入空间中。运行试试效果。原创 2022-10-21 20:36:43 · 261 阅读 · 0 评论 -
Unity二维平面上物体的移动(五)
因为此时自身坐标发生旋转,所以原本的控制按键则发生了让我们主观感觉没有按照既定设置去展示的移动方向,但是仔细观察,其实按键后方形移动方向和坐标方向还是一致的。这时能够看出来方形的坐标方向是XY轴是有了变化的,因为我们在控制方形跳跃圆形时,由于方形的不稳定性,方形会发生旋转。这是为什么呢,我们看下代码 this.gameObject.transform.Translate(Vector3.right * Time.deltaTime。因为圆形和方形具有了实际的移动属性,初始状态下圆形在左,方形在右。原创 2022-10-21 01:24:12 · 310 阅读 · 0 评论 -
Unity二维平面上物体的移动(四)
在同时按下圆形和方形互斥方向时,即圆形朝右侧移动但方形朝左侧移动,圆形和方形相遇后,方形能够推动圆形朝着左侧移动。给两图形分别添加刚体属性(rigidbody)和碰撞盒属性(collider box),一般情况下刚体和碰撞盒属性是同步添加的,刚体使物体具有实际物理属性,碰撞盒属性使物体具有不可被其他物体穿越的属性。在第二节我们提到后续我们可以给平面上的两个物体添加刚体属性,因为目前物体不具备实际物体的属性,遇到两物体相遇时仍然能够彼此通过,添加刚体属性后的情况实践一下就知道。运行程序,看一下效果。原创 2022-10-16 21:39:01 · 567 阅读 · 0 评论 -
Unity二维平面上物体的移动(一)
实验一个最简单的二维平面上物体的移动,通过键盘的WASD来控制物体。先建立二维平面,摄像机是默认出来的。我们导入一个圆形(Circle),然后给Circle添加组件(Add Component),New Script,通过在脚本中输入不同按键,来达到控制圆形的目的。也可以单独在自己这个存放脚本的文件夹下,建立一个Movement的C#文件,然后将此文件拖入Circle这个物体,从而达到对物体的控制。脚本名叫做Movement,这个放到Scripts文件夹下单独自己自定义一个文件夹,存放自己的脚本。原创 2022-10-08 23:44:56 · 757 阅读 · 0 评论 -
关于Unity Hub 和Unity的安装路径关联问题
Unity Hub和Unity 安装时请各自独立安装原创 2022-09-18 20:32:37 · 2513 阅读 · 0 评论 -
Unity 改变下载资源商店中资源默认路径的方法
但是,unity默认是将资源商店的下载路径设置在了C:\Users\操作系统当前用户\AppData\Roaming\Unity\Asset Store-5.x,如果你删除这个文件夹,一会Unity程序会自动创建这个文件夹,所以需要使用文件系统的软连接解决这个问题。系统提示结果:为 C:\Users\操作系统当前用户\AppData\Roaming\Unity\Asset Store-5.x D:\Unity\Asset Store-5.x 创建的联接。执行后,在原来位置上面建立了软链接。原创 2022-10-03 13:45:49 · 3563 阅读 · 0 评论 -
Unity3D 进行任意角度调节视角
通过ALT随心使用Unity3D,任意角度观察地形。原创 2022-09-04 18:06:50 · 5871 阅读 · 1 评论 -
Unity二维平面上物体的移动(二)
比照上一节给方形物体添加控制平面移动的脚本,SquareMovement.cs。这次选择从Add Component中添加脚本,New Script,建立的脚本默认的位置在Assets下。后续我们可以给这两个物体添加刚体属性,因为目前物体不具备实际物体的属性,遇到两物体相遇时仍然能够彼此通过,添加刚体属性后的情况实践一下就知道。当我们运行程序时,移动W/A/S/D键,则能看到两个物体同时在移动。在Inspector窗口中点击Script旁边的SquareMovement,能看到脚本的位置。原创 2022-10-09 11:13:37 · 610 阅读 · 0 评论 -
Unity二维平面上物体的移动(三)
我们将灯泡图标旁边的2D点一下,让空间变成3D,然后执行程序,移动上下键,能看到物体在Z轴顺畅移动,Z轴是标蓝色的轴。从右图能看到圆形在二维平面上只是较少的上移了一些,与右面的方形物体的水平面相比,可结合上一张图的右图来对比。那是因为在二维平面上forward代表的Z轴体现效果不明显,所以看着物体是不移动的,换做三维空间中能看到顺畅的移动。总之,二维平面是三维空间的一部分,学好二维平面,在二维切换三维的过程中,原理是相通的,二维看到的效果可以和三维看到的效果做对比,更能反映空间成像效果。原创 2022-10-13 20:40:31 · 1574 阅读 · 0 评论 -
关于Unity创建项目时进度栏一直不动的问题
今天再次打开unity hub,将原先创建失败的项目先从unity hub 组中移除,然后找到电脑下的项目相关的文件夹,删除。重新再次创建新项目,直接提示许可证过期了,因为个人版的许可证总是有3天的一个期限,所以我们在使用许可证时一定要留意许可证的到期时间。好了,这次再进行项目创建,在上次停留的环节,耐心等待了一会,然后顺利创建了项目。所以通过这个过程判断,上次应该是卡在许可证过期的这个环节,尤其可能是3天期限这个周期,如果恰逢创建项目在许可证的过期临界点,那么可能造成项目不能够创建完整。原创 2022-10-02 01:05:37 · 2653 阅读 · 0 评论