- 博客(35)
- 资源 (7)
- 收藏
- 关注
原创 unity Cinemachine 2D平台游戏设置
参数导入插件以后直接创建Cinemachine 2D Camera场景内会自动出现其CinemachineVirtualCamera:Follow 拖拽摄像机需要跟随的角色Lens下:Ortho Size 是摄像机画面大小其他不用管Body:(重点)Body模式选择Framing TransposerLookaheadTime 预判角色行动方向拓展视野最大1(不建议设置太高)Lookahead Smoothing 预判行动时摄像机移动速度(不.
2022-05-26 20:31:55
1360
1
原创 Unity InputSystem 1.0.1
转载:https://www.jianshu.com/p/0134f9ad01fcUnity新推出的输入管理系统,主要为了支持VR,多功能输入设备等。可以将输入设备和动作逻辑分离。 通过自定义的映射来配置类关联。导入组件后,直接点击替换,完成后会要求重启下工程,创建一个物体,挂上PlayerInput组件,初始化下按默认配置就可以运行起来创建一个canvas,把生成的EventSystem里的Standard Input Module替换成新的,然后指定给之前创建的PlayerI
2022-05-22 00:11:29
353
转载 Unity实现切割图集工具
先将脚本拖入Editor1.选中要切割的图片,texture type 选为default,并勾选Advanced下的read/Write Enabled2.texture type改为sprite(2D and UI),Sprite mode 选为Multiple,apply一下3.Sprite Editor 先选其他的切一下,在选第一个切一下,切割成小图,apply4.选中图集右键,imageslicer,process to Sprites5.等待切割完成后..
2022-05-13 10:55:04
1110
1
原创 unity 射线检测2D物体
Vector3 mousepoint = Input.mousePosition; mousepoint.z =Mathf.Abs( Camera.main.transform.position.z);//非常重要,如果不是正交摄像机,就需要转换 var v = Camera.main.ScreenToWorldPoint(mouspoint); RaycastHit2D hit = Physics2D.Raycast(v, ...
2021-10-23 19:25:22
3422
原创 unity 随机N个数,总数为固定值
这是请教一个做题家朋友,告诉我的思路private void RandomRun(int sumNum)//sumNum是总数 { //比如n=5,m=40,随机4个小于40的数,38,12,27,1,排个序1 12 27 38,前面补0后面补m,0 1 12 27 38 40 //5个数为相邻2项的差,1,11,15,11,2 float temp; int IsOK = 0; int[] sum = new ...
2021-10-08 23:15:05
739
原创 c# 正则表达式学习
C#正则表达式(正则式)_哔哩哔哩_bilibiliC# 正则表达式大全(理论篇) - 五维思考 - 博客园C# 正则表达式大全(代码篇) - 五维思考 - 博客园基本就够了
2021-09-15 20:32:29
125
原创 A*算法优化,JPS算法
https://www.cnblogs.com/KillerAery/archive/2020/06/17/12242445.html#%E5%BC%BA%E8%BF%AB%E9%82%BB%E5%B1%85%EF%BC%88forced-neighbour%EF%BC%89https://blog.csdn.net/qq_42688495/article/details/116019557https://blog.csdn.net/tkokof1/article/details/11129
2021-08-29 19:18:46
949
原创 Unity Timer学习笔记
地址:https://github.com/Mr-sB/UnityTimer.git从学习u3d到现在一直在找一个好用的计时器,我发现很多程序并不在乎这个东西。作为一个以做独游为目的的小小制作人,计时器是游戏必备的!经过简单学习和测试,最近终于找到一个好用的计时器。直接贴:功能1、时间计时器(DelayTimer)2、帧计时器(DelayFrameTimer)3、循环计时器(LoopTimer)4、有次数的循环计时器(LoopTimer)4、支持重启、暂停、继续执行.
2021-06-24 10:36:40
412
原创 位运算存储BUFF
/// <summary> /// 单位拥有的异常状态枚举 /// </summary> [Flags] public enum UnitSpecialBuffType { Not = 1 << 0, //特殊状态 ChenMo = 1 << 1, Dingshen = 1 << 2, WuDi = 1 << 3,.
2021-06-19 17:32:46
204
原创 c# 泛型和接口的一些技巧
第一、泛型和接口约束的作用打印正确第二,显示实现接口showB中显式实现show,在泛型约束是showB的情况,直接调用show(),报错,转换类型以后可以使用.第三种:凉鞋老师框架课讲到的,接口,配合静态扩展方法,达到限制访问直接看示例public interface A{ Show show { get; }}public interface B : A { }public interface C : A { }pub...
2021-06-16 10:58:24
157
原创 unity 2d 下可旋转的攻击判定框
其实这个问题,如果直接用collider做完全没什么难度,但是想用射线检测做,纠结了我半天。直接上代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class atk : MonoBehaviour{ public BoxCollider2D box; //盒子 public Transform t;//盒子的tansfrom void Sta
2021-05-20 10:20:42
579
转载 用合理的workflow制作复杂的角色控制系统
http://walkingfat.com/%E7%94%A8%E5%90%88%E7%90%86%E7%9A%84workflow%E5%88%B6%E4%BD%9C%E5%A4%8D%E6%9D%82%E7%9A%84%E8%A7%92%E8%89%B2%E5%8A%A8%E4%BD%9C%E6%8E%A7%E5%88%B6%E7%B3%BB%E7%BB%9F/
2021-03-31 08:48:27
170
原创 c# 异步 学习笔记-01
视频地址:https://www.bilibili.com/video/BV1Zf4y117fs?p=2&spm_id_from=pageDriver线程:Thread. 线程在进程(Process)中执行多线程:单个进程执行多个线程。术语:线程被抢占(线程在执行时和另外一个线程上代码的执行交织的那一点)Thread属性:...
2021-02-22 23:36:41
129
转载 ETBook笔记(2.3 单线程异步)
原地址:https://github.com/egametang/ET/blob/master/Book/2.2%E6%9B%B4%E5%A5%BD%E7%9A%84%E5%8D%8F%E7%A8%8B.md黑体字为作者(熊猫大佬)原创,红色为个人理解单线程异步前面几个例子都是多线程实现的异步,但是异步显然不仅仅是多线程的。我们在之前的例子中使用了Sleep来实现时间的等待,每一个计时器都需要使用一个线程,会导致线程切换频繁,这个实现效率很低,平常是不会这样做的。一般游戏逻辑中会设计..
2021-01-21 22:32:31
103
转载 2.1CSharp的协程
转载链接:https://github.com/egametang/ET/blob/master/Book/2.1CSharp%E7%9A%84%E5%8D%8F%E7%A8%8B.md# 什么是协程说到协程,我们先了解什么是异步,异步简单说来就是,我要发起一个调用,但是这个被调用方(可能是其它线程,也可能是IO)出结果需要一段时间,我不想让这个调用阻塞住调用方的整个线程,因此传给被调用方一个回调函数,被调用方运行完成后回调这个回调函数就能通知调用方继续往下执行。举个例子: 下面的代码,主...
2021-01-20 22:19:18
306
原创 unity 2D动画控制一些小技巧
以下是直接获取动画控制器中的某个动画状态的长度.使用代码:AnimatorExt.GetClipLength(m_Animator, "Run")public static class AnimatorExt{ ///获取动画状态机animator的动画clip的播放持续时长 public static float GetClipLength(Animator animator, string clipName) { if (null == anim.
2020-10-13 21:31:45
1387
转载 [转][翻译]A*分层寻路
http://blog.vckbase.com/panic/archive/2005/07/21/9906.html转自作者:Patrick Lester 2003年1月9日更新译者:Panic 2005年7月21日译者序:很久没有翻译文章了,这次找了这个短一些的。这个文章是偶以前翻译的《A*寻路初探》的补充,介绍了A*更进一步的,更实用的方法。原文链接:http://www.policyalmanac.org/games/twoTiered.htm以下是翻译正文:在我的主题A* ...
2020-09-22 20:02:20
449
原创 UGUI IPointerUpHandler事件失灵
在仿做一个杀戮尖塔的战斗卡牌界面,做卡牌的时候发现IPointerUpHandler事件失灵,无法检测到鼠标抬起。。后面加入IPointerDownHandler事件后,就能正常使用了。。
2020-07-25 14:14:51
1418
原创 untiy 鼠标输入判断不灵敏(不准确)
做了个合适时机按键鼠标会连击的技能。GetMouseButtonDown(0)是写到了FixedUpdate里面,因为当时测试过写Update里面会因为帧数时间不固定,更新时间计时不准确。但是后来发现GetMouseButtonDown(0)写到了FixedUpdate里面会导致检测不准确。正确做法是GetMouseButtonDown(0)写到Update,时间判定写到fixedUpdate里面,用bool变量来传值判断是否按下鼠标...
2020-07-03 22:55:05
504
原创 Unity 停止协程的坑,以及协程的实际应用
IEnumerator loop; IEnumerator loop1; void Start() { loop = Loop(5, 1); StartCoroutine(loop); loop1 = Loop(10, 2); StartCoroutine(loop); } public void StopIE() { StopCoroutine(loop); }.
2020-07-02 00:06:11
1556
原创 unity中用坐标判断两个矩形是否重叠
因为随机生成地图,用到判断房间是否重合。方法比较简单,直接上代码。RoomInfo 存了房间的x,y,相当于Vector3坐标从左下角计算还有房间的宽度和高度,width,high//假是重叠,真是不重叠,起点在左下角 public bool IsOverlap(RoomInfo a, RoomInfo b) //是否重叠 { //分别判断是a在b左边, a在b右边,a在b上面 ,a在b下面,任意条件成立,证明不重叠 return..
2020-06-13 11:57:38
2949
原创 Lua程序设计一书中的8皇后示例 解析
因为八皇后要求是每行每列只能放一个,所以示例中按每列来坐标来表示的1维数组{1 7 5 8 2 4 6 3} 这相当于是二维数组以下坐标 1,1 2,7 3,5 4,8 5,2 6,4 7,6 8,3首先明白这个概念N=8function Isplaceok(a,n,c) for i=1,n-1 do if(a[i]==c) or (a[i] - i == c - n ) or (a[i] + i == c + n ) then return false ...
2020-06-01 23:46:08
213
原创 unity 2D动画不补帧
因为美术成本问题,想利用unity的动作系统自己制作2D动画,把人物和武器分开,以后也方便做武器替换制作过程中发现一个很奇葩的问题,因为2D动画图片少,武器是通过录制方式录制的,U3D自行补帧导致武器动作和人物动作分离这张图可见已经歪到不知道哪里去了。网上查询好久很少这方面的资料,详细查看关于这方面的资料最后自己解决。查看动画中的Curves曲线图全部设置成不补帧的状态,如果位置和旋转都是这样,则需要都补全部设置完毕后,就可...
2020-05-31 18:14:49
1540
2
原创 行为树学习知识点(AI分享站示例项目)
项目地址:https://github.com/FinneyTang/TankBattle项目中不光有行为树还有各种AI模板,我们先来看Tank脚本中的行为树结构,以下只是分析框架中节点用处,具体逻辑不做分析。tank脚本中创建的行为树行为树运行通过BehaviourTreeRunner类的Exec更新所有节点。public static class BehaviourTreeRunner { public static void Ex...
2020-05-23 10:36:40
455
原创 public A this[string s] 到底是什么东西
又复习设计模式,在网上找了U3D版的游戏常用设计模式实现,今天看到原型模式一例时看到如下代码。 /// <summary> /// Prototype manager /// </summary> class ColorManager { private Dictionary<string, Color...
2020-04-02 23:02:23
353
原创 unity2d 碰撞回弹
XY轴横版游戏中,两个角色碰撞时受力会互相撞飞。简单是思考以后想到两个办法。1、重写碰撞(没研究过)2、使用Oncollisionenter改变受力此效果没有撞飞效果,但持续移动还是可以可以把角色缓慢推开。第二种就是usingSystem.Collections;usingSystem.Collections.Generic;using...
2019-04-02 09:01:19
4701
翻译 PlayMaker系统事件和网络事件翻译
PlayMaker:系统事件·APPLICATION FOCUS:游戏运行时·APPLICATION PAUSE:游戏暂停时·APPLICATION QUIT:游戏退出时·BECAME INVISIBLE:物体不可见时·BECAME VISIBLE:物体可见时·COLLISION ENTER:碰撞体进入时·COLLICION ENTER 2D...
2019-04-02 08:55:00
1142
1
原创 unity3d 学习笔记
学习笔记:游戏图层:sorting layer的顺序,排位靠后的sorting layer会覆盖排位靠前的sorting layerLayer(获取游戏所在渲染层)API:Addcomponent添加物体组件ActiveInHlerarchy (设置物体显示或者开启,同时物品下子物体获得同样属性bool)ActiveSelf (判断物体是否开启,子物体...
2019-04-02 08:53:50
398
原创 unity--c#基础语法学习笔记
第二节 面向对象字符串常用方法1、 ToUpper(). 转化字符串为大写形式,仅对字母有效。返回值为转换后的字符串. 语法: 变量名.ToUpper();2、 ToLower() 转化字符串为小写形式,仅对字母有效。返回值为转换后的字符串. 语法: 变量名.ToLower();3、 Equals()*** 比较指定字符串是否相同,相同返回true,否则返回false.语法;字符串变量.方法名(要...
2018-05-29 22:00:36
779
Behavior Designer 中文(教程、手册、经验总结)三篇。不是插件本体
2019-08-09
-程序员的英语难度表(书籍配套文档,已翻译)
2019-04-04
程序员的英语(书籍配套音频)
2019-04-04
大师谈游戏设计创意与节奏
2019-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人