本篇用于记录UNITY的学习历程 引用尽量注明出处初期搜到的一些资料:Manual:https://docs.unity3d.com/Manual/Unity2D.html Scripting API:https://docs.unity3d.com/ScriptReference/index.html官方脚本教程:https://unity3d.com/cn/l
Unity碰撞检测分为离散,连续,动态连续首先是官方的文档:连续碰撞检测是一种阻止快速移动的碰撞体相互穿过的功能。使用正常 (Discrete) 碰撞检测时,如果对象在一个帧中位于某个碰撞体的一侧,而在下一帧中已经穿过了碰撞体,便属于彼此穿过的情况。要解决此问题,可在快速移动对象的刚体上启用连续碰撞检测。将碰撞检测模式设置为 Continuous 可防止刚体穿过任何静态(即非刚体)网格碰撞体。设置
转载
2024-06-05 13:41:12
422阅读
unity自带一套自动巡航系统,但是目前应该先了解最基本的使用代码控制敌人实现逻辑(1来回走动,2发现玩家时追着玩家,3进入敌人攻击范围时进行攻击),一般来说这是最基本的敌人的功能分析完敌人所具备的能力后,就将敌人的能力进行拆解,分别进行实现一 来回走动:敌人在自己的视力范围内没有见到玩家,就会自动来回走动巡逻敌人的来回移动可以改变transform.position属性来实现,需要设置两个参数,
转载
2024-08-01 00:30:50
311阅读
游戏中的敌人有三种,我们先拿青蛙和老鹰来做例子,我们要实现的效果是:青蛙要能共在一定的范围内往返跳动,老鹰则是在一定的范围内上下运动。要实现敌人在一定范围内移动,拿青蛙为例,我们需要确定他活动的左右边界点,我们在frog下创建两个空物体,让他们分别代表左端点和右端点,在右侧Inspector窗口中,可以设置这个物体的颜色。 这样我就就可以依靠拖动两点的位置来界定敌人移动的边界了。下一步我
1 创建敌人按照之前创建Player角色的方法,一样创建出敌人,并为角色添加刚体、碰撞、动画。具体可以参考我之前的unity2D学习(4)(5),具体的细节就不放在这里了。素材包里面有三种敌人(crab、jumper、octopus),我选择crab来做示范动画状态转移。把Animation新建在Asserts->Animation->Enemies->Crab里面,其它类型的敌
转载
2024-04-15 15:43:33
288阅读
很多时候,当我们的主角与其他GameObject发生碰撞时, 我们需要做一些特殊的事情,比如:子弹击中敌人,敌人就得执行一系列的动作。这时,我们就需要检测到碰撞现象,即碰撞检测。要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加 到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎
转载
2023-07-09 22:26:00
208阅读
Ogre碰撞检测,精确到物体网格三角面 很幸运,我找到一个第三方的开源库,叫做 Minimal Ogre Collision 。可以在http://www.ogre3d.org/wiki/index.php/Minimal_Ogre_Collision上找到它。
//ray,求交射线;result,与模型面片的交点
转载
2024-07-12 06:58:39
73阅读
在上一篇中使物体来回移动的函数主要是获取键盘操作输入的情况Input.GetKey(),然后物体朝着某一个方向移动gameObject.transform.Translate(Vector3.up*Time.deltaTime);
除了这个函数,可以用开发环境自带设置,Input.GetAxis(),然后使物体移动;新建一个文件,命名为MovementOther.cs
using System.
转载
2024-07-20 17:10:28
182阅读
本教程基于Unity5.0.2f1,所以推荐使用该版本的Unity来学习该教程。接下来下载 2D_Joints_Starter。解压并在Unity中打开这个Demo。初始的scene应该如下所示: 像很多游戏一样,这个场景中有多种带有物理组件的物体。然后这里面的所有物体都没有关节。通过这个教程,你会尝试使用每一个Unity 2D关节并看到他们是如何起作用的。运行这个场景,你会看到一些物体因为重力的
转载
2024-08-13 09:30:05
205阅读
直入正题,检测失效的原因如图,设此时子弹,射线,碰撞体属性都如图所示,这里射线从子弹的坐标位置发出,发出位置可以通过修改预设或者增加偏移量的方式进行修改。可以看到,第一帧进行射线检测时,子弹距离碰撞体太远(或者说射线长度不够)导致并没有检测到碰撞,结果第二帧时,子弹已经飞过了碰撞体,此时再次进行射线检测,当然也不会检测到,如此就导致了射线检测失效。怎么去解决这个问题,很简单,增加射线的长度即可,但
转载
2024-03-28 15:44:58
433阅读
一、射线:Physics2D.Raycast( )必须参数:起点、方向可选参数:距离、Z轴深度、过滤条件(检测哪些层、是否检测触发碰撞器等)out 参数:RaycastHit2D[ ] (存放碰撞返回的结果)返回值:int (表示碰撞结果的个数)/ RaycastHit2D(射线碰撞的结果)备注:如果射线从碰撞体内部发出,可以使用collider2d.Raycast( )方法二、与碰撞
转载
2024-04-22 10:09:32
176阅读
这节实现敌人AI的效果为了保证代码的复用性,所以我们这里创建一个敌人父类,之后所有的敌人类都继承之这个敌人父类先创建一个敌人父类脚本,命名为Enemy 然后简单写一下Enemy代码 这里运用了虚函数,函数前面加上visual表示这个函数是虚函数。这里简单说一下什么是虚函数虚函数是面向对象语言中多态性的重要实现. 当一个函数方法在声明时, 前面带了virtual关键字, 这个函数
转载
2024-05-29 01:03:52
88阅读
总是碰到关于碰撞的问题,今天实在忍不住了,来把它搞懂,不然听到八叉树,BSP什么的就怕可不行。 碰撞机制最近做动态地形生成的时候,发现碰撞检测无效,于是查阅了相关资料,大体上把unity的检测流程弄清楚了碰撞检测,就是检测两个物体是否相交,如果物体非常规则,比如球体,直接检测圆心距离是否小于半径和即可,计算量十分小,但是,如果物体不规则,比如一个角色,进行十分细致的碰撞检测就会变的十分困
转载
2024-02-29 12:29:55
261阅读
碰撞与休眠上一篇笔记说过,当给予游戏对象刚体这个组件以后,那么这个组件将存在碰撞的可能性。一旦刚体開始运动,那么系统方法便会监视刚体的碰撞状态。一般刚体的碰撞分为三种:进入碰撞,碰撞中,和碰撞结束。关于休眠能够理解成为让游戏对象变成精巧状态。假设给某个游戏对象休眠的状态,那么这个物体将立刻精巧,不再运动。碰撞首先学习下碰撞几个重要的方法:OnCollisionEnter( ):刚体開始
转载
2024-10-19 15:58:43
165阅读
一、简介车轮碰撞体 (Wheel Collider)专门用于创建汽车或其他移动交通工具。车轮碰撞体是一种针对地面车辆的特殊碰撞体。它有内置的碰撞检测、车轮物理系统及有滑胎摩擦的参考体。除了车轮,该碰撞体也可用于其他的游戏对象。二、相关属性1、Mass质量。该项用于设置车轮碰撞体的质量。2、Radus半径。该项用于设置车轮碰撞体半径大小。3、Suspension Distance悬挂距离。该项用于设
转载
2024-07-16 15:37:57
74阅读
在unity3d中,能检测碰撞发生的方式有两种,
碰撞器触发器
概念: (一)碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,这些碰撞器应用的场合不同,但都必须加到GameObjecet身上。 (二)所谓触发器,只需要在检视面板中的碰撞器组件中勾选IsTrigger属性选择框。 (三)在Unity3d中
转载
2013-07-24 20:26:00
983阅读
2评论
...
转载
2018-05-15 22:27:00
539阅读
2评论
在Unity3D中,一个物体通常包含一个Collider和一个Rigidbody。Collider是碰撞体,一个物体是Collider,才可以进行碰撞检测。Collider组件中的"Is Trigger"属性项被勾选上时,这个物体就变成碰撞检测体。 物体有了Rigidbody组件,才会具备一些物理属性,比如重量、阻力、旋转阻力,等等。"Use Gravity"项表示是否有自然
转载
2024-05-28 10:13:35
391阅读
Unity3D 移动开发代码优化 1. 尽量避免每帧处理 比如: function Update() { DoSomeThing(); } 可改为每5帧处理一次: function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } } 2. 定时重复处理用 InvokeRepeating 函数实现 比
转载
2024-05-17 20:36:57
114阅读
一、 前言又是一个好久没更新文章了,最近实在是太忙了。前段时间跳槽了,离开了自己曾经熟悉的一个环境,进入了一个全新的环境,初来乍到需要更对的精力去应对。还是废话不多说,一贯的惯例直接上图。看到标题其实有人就要问了,自制2D的碰撞体。楼主你这是在炫技吗,Unity不是有自带的碰撞体和刚体可以用吗,为什么要吃饱了自己写一
转载
2024-06-08 16:14:20
234阅读