12 2020 档案
摘要:解耦合和游戏资源管理 在开发的过程中,有大量资源需要管理,也需要尽量避免代码耦合。首先解耦合的问题可以看一下我的随笔,里面提供了一种对委托的封装,可以使用委托解耦合;其次需要管理游戏中的资源。 1.尽量使用查找游戏物体并获取组件等方式得到脚本中的组件,避免使用public再拖拽的方式赋值,因为大量的
阅读全文
摘要:今天在学习过程中使用了一段可以复用的解耦合代码,使用字典+委托+监听+广播的方式实现,特别记录在下面: 一共通过三个.cs文件实现,代码内容如下: public delegate void CallBack(); public delegate void CallBack<T>(T arg); pu
阅读全文
摘要:一.unity的专业版、个人版等差别 unity官方网站有这些版本的对比,对这些区别的总结参加博客:https://www.jianshu.com/p/22b54c53ddff。 二.unity发布安卓和在真实安卓设备上调试安卓项目 我使用的是unity2019.4的稳定个人版,因此版本有集成And
阅读全文
摘要:今天学习游戏的存档和读档,首先需要复制例子中的游戏,因为想自己写,然后大半的时间都用来复制游戏了。 一.物体始终朝向鼠标位置 首先想到的是使用lookat来做,觉得非常简单 transform.LookAt(Input.mousePosition); 但是实际用下来有两个主要问题,一是这个mouse
阅读全文
摘要:一.自动寻路Navigation 打开Navigation面板 选中静态的游戏物体,点击烘培按钮就可以进行自动寻路的烘培。Advanced选项未展开,其中是导航网格的大小等导航网格设置。 二.自动寻路的简单使用 navAgent.SetDestination(patrollingPoints[0].
阅读全文
摘要:/// <summary> /// 检测玩家是否在机器人的球形碰撞体内,这个碰撞体是机器人的侦测范围,玩家在内部会进行视野检测和声音检测 /// </summary> private void OnTriggerStay(Collider other) { //视野检测 //玩家在碰撞体中且玩家在机
阅读全文
摘要:一.自动门的制作 首先将门模型挂载在一个空物体下,模型需要挂载一个collider,使门具有物理属性,玩家不能穿过,这个collider不能挂载到空物体上,它需要能随着门一起移动,接下来通过动画或者脚本实现门的开合。在挂载了模型的空物体上添加一个collider组件,一般是球形碰撞器,设置为trig
阅读全文
摘要:昨天把动画系统大致过了一遍,今天主要学习案例巩固,案例学习未完成,还是把一些操作总结以下。 一.lerp的使用 使用插值运算能够使得变化平滑,但是lerp插值的运算结果是无限趋近,无法到达,可以在插值后进行判断,插值结果和目标结果足够接近的化直接设置为目标结果。 siren.GetComponent
阅读全文
摘要:一.动画状态机的使用 1.动画状态机说明 2.动画切换箭头的Inspector面板 3.动画的Inspector面板 二.动画状态机的使用和脚本控制 1.动画状态机的使用 2.动画状态机的控制脚本 在脚本中,获取Animator组件,这个组件可以通过SetXXX()方法设置对应参数的值,XXX为参数
阅读全文
摘要:一.选中导入模型,在Inspector窗口中出现四个选项组,Model为模型的一些基础设置,Rig为动画种类和路径的指定等,Animation为动画属性设置,Materials为材质相关设置。 二.模型动画的三种导入方式 在Rig的Animation Type选项中设置动画种类,有legacy、Ge
阅读全文
摘要:导入模型时会遇到模型的材质或者贴图丢失的问题,记录一下解决方案: 一.找到mesh renderer 在Hirerarchy窗口中使用t:renderer搜索所有含有renderer组件的物体;或者在Scene窗口中双击物体。 二.查看是材质丢失还是贴图丢失 查看renderer组件中的materi
阅读全文
摘要:一.动画和动画状态机、动画参数 window中的animation中有三个窗口,分别是Animation窗口、Animator窗口和Animation Parameters窗口,对应着动画、动画状态机和动画参数。 Animation是单个的动画,如人物的行走、跑步、idle等状态都可以对应着一个或多
阅读全文
摘要:一.简单的变量插值运算 using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class GetStart : MonoBehaviour {
阅读全文
摘要:一.委托的说明 namespace LearningCsharp { class Program { //定义一个委托,使用delegate加上方法签名 //将委托理解为存储方法的“数组”,方法签名指明了所存储的方法的返回值类型和参数类型,这里返回string,参数为空 //所有符合定义的返回值类型
阅读全文
摘要:这是前几天学习的案例,这两天学习了NGUI和UGUI,被UI搞得很烦躁,但是今天还是将前几天学习的坦克大战总结以下。这个游戏是小时候的经典红白机游戏的复刻,见截图: 一.游戏物体 游戏中包含地图元素(墙、障碍、水、空气墙、水等)、敌方坦克、我方坦克、核心等一系列物体,在选择进入游戏后,由一个空物体生
阅读全文
摘要:12月到了,新的一月,新的开始。今天终于完成了新的一个案例学习-2D坦克大战,小时候玩的非常经典的游戏,学习资源仍然是siki学院课程(http://www.sikiedu.com/my/course/90),这个课程的总结暂不进行。在学习的过程中有一些心得想要总结下来,这篇随笔就是记录这些心得。
阅读全文