![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unity
文章平均质量分 55
liaoshengg
学untiy3d的萌新
展开
-
【 unity3d 】Vector3.Lerp()方法的理解
1:lerp方法声明,传入两个向量对象,第三个参数为间断值(几分之几,范围是0-1),返回一个计算后得到向量2:具体计算得到返回值也就是 a + (b - a) * tVector3是个结构体类型,他们计算方式是分别根据 x , y , z进行相应计算的 。这里列出Vector3的运算符重载 3:每次返回的值都是从a到b的某段距离如:t = 0.1 也就是返回其a到...原创 2018-06-20 19:34:47 · 37808 阅读 · 2 评论 -
【 unity3d】 碰撞体、触发器和刚体之间的关系、配合使用
一:触发器和碰撞器、刚体之间的联系1、碰撞器如果勾了is trigger 就变成了 触发器2、触发器和刚体之间碰撞会穿透,3、触发器和触发器之间的碰撞也是直接穿透4、触发器和碰撞体碰撞还是直接穿透 二:碰撞器和触发器的方法调用细节1、碰撞触发器调用碰撞触发器方法假设在子弹碰撞到一个触发器物体(子弹脚本调用方法) void OnTriggerEnte...原创 2018-06-24 11:25:24 · 3867 阅读 · 1 评论 -
unity3d 研究理解背包和商店的类的关系
前言背包系统可以有简单,可以有复杂的,这里通过MVC设计方式来写关于背包、商品购买的框架NGUI制作背包窗口,商店窗口,按钮窗口1、首先是通过NGUI制作基本的UI界面,然后做成预支体,通过代码来生成这些界面 2、接着按照MVC框架来写脚本代码,M: 写一个(些)类来专门存放数据 如Item类 C:写一个(些)类来专门控制数据(一般是通过XML、Json读取得到,用字典,...原创 2018-07-15 11:36:26 · 1095 阅读 · 0 评论 -
【 unity3d 】Transform.LookAt()方法
~原创 2018-06-20 17:20:58 · 16739 阅读 · 1 评论 -
unity3d 中的一些命名规范和代码风格
这里写一些关于我自己在unity学习中的一些命名规范关于C#脚本类名一般用大驼峰,即首字母大写,且最好和对象名相同 如DemoSC 如需要拖入对象在结尾添加SC,字段一般以下划线加小驼峰命名 如 _itemLabel属性以大驼峰命名公有方法名以大驼峰命名,私有方法名以小驼峰命名 参数以小驼峰命名临时变量,临时变量以小驼峰命名,且紧跟使用此变量的语句构造函数以大驼峰命名关...原创 2018-07-15 12:04:13 · 9479 阅读 · 0 评论 -
unity3d DoTween动画插件
前言ITween 插件是较旧的动画控制插件,且制作者也不再维护,因此现在使用较少,多用DoTween。 DoTween 在执行效率更高,比ITween 更快。 在Prefabs经过测试,每个Prefabs都有一个iTween,所有Prefabs公用一个DoTween iTween使用Hastable做参数,DoTween使用函数链的形式 使用DoTween方法时要引入空间名 using...原创 2018-07-20 17:07:38 · 1535 阅读 · 0 评论 -
【 unity3d 】协同程序,协程 ,StartCoroutine
前言协同程序也称作协程:在主线程运行时,来开启另外一个逻辑处理,来协同主线程的执行。开始和停止协同程序在unity3d中开始协同程序使用MonoBehaiour.StartCoroutine,所以该方法必须在MonoBehaiour或其子类中使用开始有两种方式:StartCoroutine(string MethodName)StartCoroutine(IEnumerat...原创 2018-07-10 16:06:32 · 943 阅读 · 0 评论 -
unity3D 简单实现A*算法
前言在两个物体之间寻找最短有效路径(Nav) 1. 学习A*思想 2. 其他算法 3. 曼哈顿(城市街区算法、直来直去) 4. 几何法(对角线,勾股定理) 5. 估算法(先对角线,再直线) 6. GHF 7. G : 从开始到当前位置的移动步数 8. H : 从当前位置到目标位置的距离,使用上面3种算法获得 9. F :G + H 的总和 10. OpenList 和 Cl...原创 2018-08-11 17:35:13 · 7101 阅读 · 1 评论 -
Unity MVC : Model View Controller 模型视图控制器框架
MVC的架构的种类有很多,主要用在大公司大项目上。 因为使用这个框架会要做很多解耦,在后期更容易维护,移植。M Mode 数据更新,数据存储 V View 视图显示 视图按钮通知 C Control 控制 对视图和数据进行交互,可以认为是这两个层级的中介者,控制者需要注意的是 Mode一定要区分 数据存储对象,和数据更新的对象 View 同样也要区分 视图UI 和 按钮(人)交...原创 2018-08-28 17:19:17 · 1847 阅读 · 0 评论 -
Unity MVC框架(二)Model与View层使用通知交互类型
前言前一次使用的MVC框架是简单版通知类型实现,这次使用较复杂一点的方式来实现前一次MVC框架链接:https://blog.csdn.net/liaoshengg/article/details/82150287但与第一种也有区别:把发布信息与Controller类分离出NotifiCenter,使得Model层 和 View层之间进行交互而不通过Controller控制层,...原创 2018-08-28 21:21:39 · 1828 阅读 · 0 评论 -
【 unity3d 】跳转场景
一:设置场景把需要的场景跳转和使用的场景拖上去 二:脚本代码1、旧版本unity使用Application.LoadLevel()方法,里面传入场景名,或者标签号标签号查看方式2、代码展示,这里使用按钮点击调用该方法using UnityEngine;using System.Collections;public class LoadScenesSC...原创 2018-06-29 15:46:34 · 25397 阅读 · 0 评论 -
unity3D 游戏工具类
前言unity 游戏工具类: 工具中提供接口,供整个游戏工程使用 游戏主循环: 状态设计模式原创 2018-07-30 20:13:15 · 1408 阅读 · 0 评论 -
unity NavMesh网格寻路
前言NavMeshs是Unity自带的一个寻路系统,即一个点到另一个点寻找最短有效路径如何使用NavMesh?先直接使用便于理解,然后再介绍参数属性直接先给模型添加NavMeshAgent组件,然后自己写一个脚本,通过代码控制它 场景中烘焙(静态)障碍物 NotWalkable Navigation->Obejct ->Navigation Static -&a原创 2018-07-22 16:03:00 · 1454 阅读 · 0 评论 -
unity 角色控制器CharaterController脚本
前言角色控制器是unity内置的一个人物控制脚本。适用于第一、第三人称中控制人物的一个组件,刚体的计算量比较大, 所以出现了CharacterController来代替刚体,做具体的人物控制常用属性介绍Slop Limit : 坡度的限制,限制角色可以爬坡的最大角度Step Offset : 高度限制,上楼梯时一步的最大高度Skin Width : 皮肤厚度Min Mov...原创 2018-07-17 11:55:25 · 5379 阅读 · 0 评论 -
【 unity3d 】异步场景切换Application.LoadLevelAsync
前言当使用Application.LoadLevel同步加载:进入的场景先进行资源的加载,待场景中所有的资源加载完成,才能进行场景和切换。并且原场景资源会立刻销毁异步加载Application.LoadLevelAsync() : 异步场景切换,Unity会在后台线程中加载所有资源,这样就允许我们在加载过程中获取到加载的进度,可以播放进度条注意异步加载只能获取90%,剩...原创 2018-07-11 11:16:26 · 2110 阅读 · 0 评论 -
【 unity3d 】模型的使用,旧版本动画系统
前言使用人体模型通常由美术给我们,此时拿来用时需要对其模型的动画进行控制,来播放动画, 这时可以使用Animation脚本来控制模型的动画 Animation脚本: 旧版本动画,用来给模型播放动画的组件mode的主要功能介绍ScaleFactor 用来调整大小比例,这样就不要在模型的Transform组件的scale大小设置比例了 动画类型->旧版本Legacy、...原创 2018-07-11 15:11:55 · 1691 阅读 · 0 评论 -
unity 新版本动画Animator组件
前言Unity4.3版本之后添加了新的播放动画组件Animator -> 以树的形式来控制动画的切换在工程里的模型里选择rig里的AnimationType设置为新动画Humanoid 之后 Apply 此时工程多了个阿凡达Avatar模型 可以在Avatar里配置人物模型骨骼动画分割 LoopTime : 循环Root Transform Rotation :...原创 2018-07-17 16:54:30 · 7897 阅读 · 0 评论 -
【 untiy3d 】手机自适应屏幕总结
1、做游戏之前,一定要先确定好尺寸,确定适配方案,然后再做游戏(页面布局)。2、屏幕黑边无法避免,尽量按宽高比为1.7做适配方案3、如果实际屏幕如果窄(宽高比大),游戏内容会显示不全(即实际显示内容显示比较小,显示的内容会因为手机屏幕小而缺少)4、但是无法避免这种情况,因此只能要求用户使用最大宽高比为1.7的手机。5、如果实际屏幕过大(宽高比小),则手机内容会显示完整,但是就会有多...原创 2018-06-29 16:42:30 · 1402 阅读 · 0 评论 -
【 unity3d 】动画播放和帧事件
前言当使用具体模型时,可以使模型动画来触发方法,即帧事件,(类似碰撞器,触发器的触发方法)。比如说一个角色的攻击动画,可以通过播放动画到某一帧来执行某个方法通过图添帧事件点击人物,然后在window找到Animtaion,之后找到要执行帧事件的动画。 void Attack1(){ Debug.Log ("Attack!!"); } v...原创 2018-07-12 09:13:12 · 10308 阅读 · 0 评论 -
unity3d HudText、UIFollowTarget 产生掉血特效
前言掉血特效往往是用2d的形式来展示 UIFollowTarget : 跟随大致思路制作流程创建对象一个是HudParent空物体,做特效生成父物体位置 一个是HudEffect空物体, UI特效 (做成预制体),包含一个HPSprite子物体对象 一个Enemy对象, 做场景敌人 (做成预制体),包含一个子物体空物体做特效的位置 一个空物体对象,用来生成敌人添...转载 2018-07-18 20:12:09 · 2377 阅读 · 0 评论 -
unity3d 射线检测RayCast
前言射线检测即对一个碰撞器进行检测,这个检测是一条射线,这条射线由我们自己设置 RayCast有10多个重载这里以其中一个为例代码例子RaycastHit hit 此为射线碰撞到的物体碰撞器, 以out hit传入 当射线碰撞到物体时,返回true,hit则是对应的碰撞物体的碰撞器 可以通过hit来找到碰撞到的物体对象信息public static bool Raycas...原创 2018-07-18 16:44:55 · 2453 阅读 · 0 评论 -
unity3d WayPoint路点寻路,AI
前言一个简单的人工智能WayPoint WayPoint: 游戏中敌人根据几个巡逻点自动巡逻,在巡逻过程中,时刻监听英雄(敌人)和自己距离是否达到追击范围(不巡逻,最近英雄),在追击过程中,监听是否达到攻击范围(不追击,攻击)。所需对象当前玩家敌人3个巡逻点 每个对象的脚本脚本类1.巡逻点 ,这里给每个巡逻点添加这个类,并拖入这个巡逻点的下一个巡逻点pu...原创 2018-07-12 16:51:05 · 6272 阅读 · 0 评论 -
unity3d 相交球OverlapSphere
前言相交球和射线差不多,但是相交球可以对在相交球范围内的所有碰撞器都发生触碰方法。因此可以用来制作群攻,范围类型的技能判断,也可以配合帧事件来使用相交球相交球用Physics.调用,是Physics的一个静态方法,返回碰撞器数组,即当碰撞到相交球,以数组碰撞器的形式返回public static Collider[] OverlapSphere (Vector3 position,...原创 2018-07-18 20:56:44 · 4148 阅读 · 2 评论