- 博客(110)
- 收藏
- 关注
原创 【Unity】StreamingAssets和PersistentData文件夹
StreamingAssets(区分大小写)的文件夹中的所有文件逐字复制到目标计算机上的特定文件夹。StreamingAssets :不能写入,随包发包,适合存放一些初始化的AssetBundle资源。PersistentData :适合存放、运行程序下载的AssetBundle资源。
2022-11-14 12:06:45
1775
原创 【操作系统】操作系统的特征
操作系统的特征并发共享互斥共享方式同时共享方式虚拟异步并发、共享是最基本的两个特征 ,二者互为存在条件。并发宏观上是同时发生,微观上看是交替发生的。并行 : 同一时刻发生。 多核CPU可以并行执行程序 , 但操作系统的并发性依然必不可少。操作系统的并发性指计算机系统中同时存在多个运行着的程序。共享共享即资源共享 , 指系统中的资源可供内存中多个并发执行的进程共同使用。“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对资源进行访问(即分时共享)。生活实例:
2021-10-23 12:18:47
443
1
原创 【Unity】【Timeline】添加 Animation Track 角色自动移动到世界位置 0,0,0
Character with Animation: back to the original position in Timeline preview在timeline中 ,添加一个动画clip ,发现角色的位置回到了(0,0,0)。添加轨道设置位置也无效。。。解决方法
2021-10-05 01:17:23
2271
原创 【C#】【Struct】结构体复习笔记
Struct结构类型(“structure type”或“struct type”)是一种可封装数据和相关功能的值类型 。 使用struct关键字定义结构类型结构体是值类型new 的结构体也是值类型结构体可以实现接口结构体有参构造器结构体不能由其他的类类型或者结构体类型派生而来using System;namespace HelloStruct{ class Program { static void Main(string[] args)
2021-09-26 22:28:00
353
原创 【C#】【Generic】泛型复习笔记
什么是泛型,泛型有什么作用?泛化的类型 , 与具体的相对 。将具体的变为一般的 ,根据需求进行特化。避免了类的膨胀、 成员膨胀的问题。using System;namespace HelloGeneric{ class Program { static void Main(string[] args) { //类型膨胀 Apple apple = new Apple() { Color =
2021-09-26 21:03:34
296
原创 【C#】【设计模式六大原则】接口隔离原则
接口隔离原则客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。using System;namespace LspExample{ class Program { static void Main(string[] args) { var driver = new Driver(new LightTank()); //var driver = new Driver(ne
2021-09-25 23:02:53
179
原创 【C#】【OOP】隐藏和重写
隐藏 , 声明的类型会影响调用的方法是父类还是子类using System;namespace HelloOOP{ class Program { static void Main(string[] args) { Vehicle car = new Car(); car.Run(); //Vehicle run Car car2 = new Car();
2021-09-25 16:32:03
156
原创 【C#】【Event_03】事件总结与最终代码
Final Exampleusing System;using System.Threading;//事件声明的完整方式//事件的五个部分//+ 事件的拥有者//+ 事件//+ 事件的响应者 //+ 事件的处理器//+ 事件的订阅//参考 --- 刘铁猛《C#语言入门详解》全集namespace Event{ class Program { static void Main(string[] args) { ..
2021-09-21 23:51:27
154
原创 【C#】【Event_02】事件简略声明及本质意义
using System;using System.Threading;//事件声明的完整方式//事件的五个部分//+ 事件的拥有者//+ 事件//+ 事件的响应者 //+ 事件的处理器//+ 事件的订阅//参考 --- 刘铁猛《C#语言入门详解》全集namespace Event{ class Program { static void Main(string[] args) { Customer cus
2021-09-21 23:31:17
229
原创 【C#】【Event_01】事件声明的完整格式及注解
using System;using System.Threading;//事件声明的完整方式//事件的五个部分//+ 事件的拥有者//+ 事件//+ 事件的响应者 //+ 事件的处理器//+ 事件的订阅//参考 --- 刘铁猛《C#语言入门详解》全集namespace Event{ class Program { static void Main(string[] args) { Customer cus
2021-09-21 22:10:54
458
原创 【Unity】【TestMeshPro】基础
什么是TestMeshProTextMesh Pro是Unity中文字渲染的终极解决方案,原本是一个第三方插件,后被Unity收购后并入Unity,现在可以免费使用。和UGUI-Text的区别UGUI的Text使用了一张字体贴图,Unity把所有需要显示的字符放到了一张图集中,字符的形状是通过像素定义的。当我们放大时,像素不够用就会出现文字变模糊的情况。TextMesh Pro的Text使用了不同的技术来渲染文字,叫做Signed Distance Field。和UGUI类似,这个技术同样需要
2021-09-17 19:23:11
941
原创 【Unity】【Layout Elements】忽略自动布局
当把组件添加到Layout布局下时 , 会自动布局 。 改变位置 ,这时候会手动设置位置。可以在目标对象中添加layout element 组件 ,勾选 ignore layout 忽略自动布局 , 进行忽略。
2021-09-16 14:35:37
767
原创 C# 【Intermediate】 【创建属性】
我们经常需要通过某种方法,从位于类之外的代码访问一个类的成员变量。一种方法是public公开变量,直接访问。另一种是使用属性。属性相对公开变量的优点数据安全,可以移除get 、set访问器,实现只写、只读。可以将访问器视为函数,在访问器内部进行数据处理。两种写法2.自动实现 vs快捷键 prop + tab + tab...
2021-08-20 15:30:30
221
原创 C# Delegate & Event
什么是委托委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。声明委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同标签的方法。delegate 使用同一个委托变量,调用不同的方法。更好的动态控制函数调用多播 multicasting可以使用 += 增加委托方法, 使用 -= 移除委托。未分配到方法的委托变量的值为null,最好在使用前进行检查,判断 != null 再使用。...
2021-08-15 22:46:30
150
原创 【Unity】【ARPG开发日志】【二】【07】利用Playable Director & Timelline Asset实现动画联动
攻动画与被攻击动画如何联动、衔接呢?可以使用Playable Director & Timelline Asset解决。【导演】Playable DirectorPlayable Director 简单理解为导演,它存储了Timeline实例(Timeline instance)与Timeline资源(Timeline Asset)间的连接。控制Timeline何时播放,如何更新时钟(clock)等。Timeline则控制了Timeline Asset的联动进行。关于组件属性Unity
2021-08-09 12:06:20
460
1
原创 【Unity】【ARPG开发日志】【二】【06】攻防有效性的几何角度判定
攻击者对于攻击者,判断攻击有效性。 我们需要判断攻击者的forward向量与攻击者-防御者的向量夹角是否在攻击范围角度内。防御者对于防御者,判断防御有效性。我们需要判断盾牌是否与攻击者的攻击方向近似正对。(攻击者forward向量与防御者forward向量近似正对)首先我们可以判断防御方向与受攻击方向的夹角是否近似180,但条件不够 ,攻击防御者背对背同样满足条件。因此增加一条判定条件。我们可以判断防御者forward向量与 攻击者-防御者位置向量的夹角是否在防御角度内。...
2021-08-05 10:33:29
231
2
转载 解决smartgit过期
window1、win+R 打开操作窗口2、输入 %APPDATA%\syntevo\SmartGit3、在自己的安装文件夹中删除setting.xml文件Mac1、打开终端2、输入 /Users/(自己的操作目录)/Library/Preferences/SmartGit/3、在自己的安装文件夹中删除setting.xml文件...
2021-08-05 10:00:41
701
原创 【Unity】【ARPG开发日志】【二】【05】骨骼变形(octopus现象)的原因及修改技巧
章鱼现象当某些动画类型转成人形时,由于源骨骼与标准人形骨存在差异,有些骨骼无法被unity识别,无法自动调变,没法进行移动和旋转。因此产生了像章鱼一样骨骼变形的现象。影响骨骼主要是这些 Twist扭转骨 无法被识别,它们主要用于拉弓箭、开门等用力时肌肉动作模拟。修改技巧将这些 Twist扭转骨 移动到哥哥兄弟节点下。...
2021-08-04 11:47:01
1004
4
原创 【Unity】【ARPG开发日志】【二】【04】利用Generics泛型实现组件&脚本的绑定
有时候在一个脚本中需要绑定多个脚本,使用下面这种方式会造成了大量的代码冗余。可以使用泛型方法进行简化。冗余的绑定方法void Awake() bm = sensor.GetComponent<BattleManager>(); if (!bm) { bm = sensor.AddComponent<BattleManager>(); } bm.am = this;
2021-08-03 12:12:14
234
2
原创 【Unity】【ARPG开发日志】【二】【03】深度遍历搜索组件
为了方便节点的寻找,可以使用脚本遍历搜索的方法。获取需要的目标节点。 public static Transform DeepFind(this Transform parent , string targetName) { foreach (Transform child in parent) { //Debug.Log(child.name); if (child.name == targetNa
2021-07-30 17:40:38
269
1
原创 【Unity】【ARPG开发日志】【二】【02】动画器AnyState的使用
当大多数动画都能过渡到某种状态时,添加该动画往往需要增加数条过度线。特别容易使动画网变得错乱与发杂。如角色受击、死亡动画。此时可以使用AnyState进行过渡。
2021-07-29 14:49:03
675
原创 【Unity】【ARPG开发日志】【二】【01】创建攻击子状态机
为了简化状态网, Mecanim 允许将一组状态折叠为状态机图中的单个指定项。这些折叠的状态组称为子状态机。创建子状态机 attack,将攻击动画纳入其中。创建过渡可以发现,外部允许指定过渡到子状态机内部的某一状态。在子状态机内部页允许过渡到外部的任意状态中。...
2021-07-29 10:15:04
279
1
原创 【Unity】对话系统的技术基础与思路
内容的读取TestAsset通过Split方法分割文本的每一行。如需更换对话框的头像,可以在文本中配置特殊关键字。读取到则换头像的方式实现。逐字显示协程 StartCoroutine
2021-07-27 18:08:48
488
4
原创 【Unity】【ARPG开发日志】【62-64】锁定目标的显示与摆脱
锁定目标的显示获取目标的半高锁定目标的ui使用Image组件。需要将世界坐标转换成屏幕坐标注意锚点在左下角锁定摆脱可以使用Distance api进行距离判断。
2021-07-27 14:59:36
274
原创 【Unity】【ARPG开发日志】【56-61】目标锁定时的角色运动
目标锁定通过锁定角色的transform.forward 。transform.right也会随之改变。按住左、右移动键,角色会以锁定目标为圆心,绕圆周进行运动。 Dvec = Dright2 * transform.right + Dup2 * transform.forward;动画的修改因锁定目标,固定角色朝向。所以需要对动画进行修改 。使用2d混合树 , 增加左、右、后发现的走和跑。2D 混合...
2021-07-27 12:06:36
229
原创 【Unity】【ARPG开发日志】【52-53】double click 双击 和 long press 长按实现思路
存在长按后快速点击,仍然视为双击的情况。 可以增加个参数判断解决该问题。以下是我的解决方案。 public float lastPressTime; public bool DoubleClick = false; if (OnPressed && IsExtending) { DoubleClick = lastPressTime < longPressDuration; last.
2021-07-26 12:00:44
283
原创 【Unity】【ARPG开发日志】【51】如何通过GetKey实现GetKeyDown、GetKeyUp
很简单,可以通过记录当前状态和上次状态比对实现。MyButtonpublic class MyButton{ public bool IsPressing = false; public bool OnPressed = false; public bool OnReleased = false; private bool curState = false; private bool lastState = false; public void Ti
2021-07-23 17:12:35
248
原创 【Unity】【ARPG开发日志】【49-50】光标修改
通过Cursor设置光标。 可以设置纹理!!lockState 接收CursorLockMode类型 , 有三种状态。将光标锁定隐藏在游戏窗口中心。Cursor.lockState = CursorLockMode.Locked;
2021-07-23 16:15:06
248
1
原创 【Cocos Creator】label 、 RichText 文本显示不全
今日修改弹幕系统,发现 label 、RichText 有显示不全的情况。如图。了解到Cocos Creator的Label、RichText 显示文字太多时,会出现显示不全的情况。原因是renderFrame 的尺寸是 2048 * 2048,超出的部分无法渲染。条件合适可以试试用文本缓存模式 char 模式。可以正常渲染。注意:该char模式只能用于字体样式和字号固定,并且不会频繁出现巨量未使用过的字符的 Label。因为共享位图的最大尺寸为20482048,占满了之后就没办法再渲染新的字符.
2021-07-23 15:46:52
1968
1
原创 【Unity】【ARPG开发日志】【48】新增防御状态
根据需要可以选择AvatarMask 。使用后左手AvatarMask后,预览的y坐标会有问题?而实际运行却不会位移y。不清楚什么原因。先记录一下。
2021-07-22 15:50:49
94
2
原创 【Unity】【ARPG开发日志】【47】新增盾牌
通过OnAnimatorIK微调骨骼的旋转。需要勾选动画图层的IK处理图层碰撞修改 可以取消武器与底部的碰撞旋转相关Quaternion.Euler后续学习
2021-07-22 10:32:39
127
原创 【Unity】【ARPG开发日志】【46】摄像机抖动优化
尝试修改Animator更新模式平缓动画Root Motion的偏移RootMotionControl private void OnAnimatorMove() { SendMessageUpwards("OnUpdateRM", anim.deltaPosition); }Controller public void OnUpdateRM(Vector3 _deltaPos) { if(CheckState("attack
2021-07-22 09:42:40
207
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人