- 博客(22)
- 收藏
- 关注
原创 Unity - 编辑器不自动编译脚本
Unity - 编辑器不自动编译脚本一般Unity默认自动编译脚本的,设置在:Edit -> Preferences -> General -> Auto Refresh。奇怪的是,项目工程大了,经常出现改完脚本不自动编译的情况,目前能找到最简单的解决办法:最小化编辑器再最打开。...
2019-06-01 10:37:41
6032
原创 Unity未响应重启后进不去的解决方案
偶尔UnityEditor出现未响应的情况,只能强制结束,重启后发现一直进不去,但后台进程是有Unity.exe的。解决方案:删除以下文件夹,重启C:\Users\用户名\AppData\Local\UnityC:\Users\用户名\AppData\LocalLow\Unity...
2019-04-03 10:51:03
10205
原创 Unity - 模拟Sprite Packer合并多个Sprite
Unity - 模拟Sprite Packer合并多个Sprite现在做一个卡牌Demo,由于没有沟通好,动画师为了做Anima2D动画方便,把角色每个部位拆分成单个Sprite,这样肯定是不行的,不仅加大了容量,运行时效率也不高。但是由于动画已经做好了,再回去手动合并再修改Anima2D非常麻烦,只好让程序实现一个快捷工具,把单个的Sprite合成一张大图集,把与单个Sprite绑定的Ani...
2018-12-25 22:20:01
4342
原创 Unity - 使用Winform制作简易登录器
Unity - 使用Winform制作简易登录器Resolution DialogPC、Mac环境下,Unity提供了一个简易的设置分辨率、图形性能的对话框,叫Resolution Dialog,除此之外还可以设置输入按键。Resolution Dialog的简单实现Resolution Dialog实际上用了启动参数CommandLineArguments实现分辨率、图形性能的设置,启...
2018-11-05 21:17:42
1616
原创 Unity - 游戏加密方案-DLL加密方法记录
Unity -游戏加密方案混淆链接:https://blog.csdn.net/kun1234567/article/details/7917847
2018-10-29 18:25:27
6066
3
原创 Unity - 使用Reflector-Reflexil反编译游戏
Unity - 使用Reflector-Reflexil反编译游戏Reflector与ReflexilReflector是.NET开发中必备的反编译工具,是一个收费工具,既有桌面版也有VS的插件版本。Reflexil则是桌面版Reflector的一个开源插件。破解安装教程网上有很多。为什么要用Reflexil,单纯使用Reflector进行整个代码项目的导出,然后在VS中就可以反编译、修改了,...
2018-10-26 15:55:59
2618
原创 Unity - 对PureMVC的理解和应用
Unity - PureMVC的理解和应用PureMVC顾名思义,比MVC更纯净的MVC架构,相比与MVC它耦合性更低、代码重用性更高,当然缺点也比较明显:事件的传递都要经过拆箱装箱、反射性能不高、代码冗余。但不失为新手学习的好框架,也可以直接放到项目中应用。PureMVC核心Facade对应设计模式的外观模式:http://www.runoob.com/design-...
2018-09-10 20:01:16
2241
原创 Unity - Animator Avatar Mask
Unity - Animator Avatar MaskAvatar Mask允许你丢弃的一些动画数据,只允许某些部位的动画起作用。很经典的例子是一边播Run、Walk、Idle动画时一边挥手。创建Avatar Mask 像创建脚本、材质的步骤一样。Humanoid里点击设置遮罩的部位,红色为剔除。如果动画没有Humanoid,或者需要控制更多细节,需要使用下面的Transfor...
2018-09-06 15:54:53
3911
原创 Unity - 简单的IK实现-OnAnimatorIK
Unity - 简单的IK实现-OnAnimatorIKUnity OnAnimatorIK提供了简单IK的实现方式。准备:Model的Animation Type设置为Humanoid。检测Avatar是否有异常。Animator勾选IK Pass。准备好之后,挂载的MonoBehaviour的OnAnimatorIK才会被回调。代码:public class...
2018-09-04 21:22:50
7436
原创 Unity - 新版NavMesh动态烘培
Unity - 新版NavMesh动态烘培Unity的新版NavMesh更加易用效率更高,而且支持动态烘培,这一点特别重要,可以很简单的就实现很多之前处理起来比较复杂的功能。比如现在有个需求,怪物追随玩家,碰到陷阱后玩家跳过,怪物无法跳过碰到陷阱则死亡,但是后续的怪物可以踩着尸体过去。这个功能之前的实现可能是这样的:在陷阱边缘停止导航,手动控制移动,碰到陷阱死亡停留原地变成地面…现在用...
2018-08-30 19:02:25
8490
2
原创 Unity - 大批量的蒙皮动画优化
Unity - 大批量的蒙皮动画优化MeshAnimator之前做的一个PSVR项目,在后期优化时碰到由于场景里有大量蒙皮动画导致CPU时间太高的问题,最终解决办法是采用了一个MeshAnimator的插件。其原理是,将蒙皮动画烘焙成N份Mesh,播放动画就是替换MeshRenderer的Mesh。然后我们项目的情况是3种角色,4种动画,场景上会出现最大100+的角色,假设此时...
2018-08-28 20:13:25
3613
2
原创 Unity - 图形辅助线
Unity - 图形辅助线游戏开发中使用图形辅助线可以比较直观的测试相关功能,能让策划根据辅助线配值等,也有一些InGame Debug方便后期测试。Unity中常用的编辑器图形辅助线类GizmosHandles两者可以在MonoBehaviour脚本的OnDrawGizmos()和OnDrawGizmosSelected()中使用:#if UNITY_EDITOR...
2018-08-27 20:10:47
3733
原创 Unity - Mixed Lighting混合光照使用记录
Unity - Mixed Lighting混合光照Unity的Mixed Lighting混合光照是提供一种介于全烘培光照和全实时光照的一种折中方案,即某些物体的光照采用烘培另一些物体的光照采用实时计算。混合光照在最新版本中提供了三种模式:Baked Indirect、Shadowmask、Subtractive。Mixed Lighting开启方法 开启Baked Glo...
2018-08-17 12:01:31
7708
1
原创 Unity - Windows平台下判断是否获取管理员权限
Unity - Windows平台下判断是否获取管理员权限Unity开发基于Windows的PC游戏时,某些服务需要应用程序有管理员权限,这些操作跟C#开发Windows应用程序的操作是一样的。 private bool IsAdministrator() // 判断是否有管理员权限 { System.Security.Principal.WindowsIde...
2018-08-14 11:43:52
2275
2
原创 Unity UGUI - UI物体真实大小
Unity UGUI - UI物体真实大小记一次坑爹的获取RectTransform宽和高的经历。一般来说,RectTransform的sizeDelta就代表了UI的宽和高,但是如果我们的UI物体经过特殊的锚点后(比如横向拉伸、竖向拉伸),sizeDelta就是基于锚点的。 这时需要用:RectTransform.rect.widthRectTransform.rect....
2018-07-31 17:52:15
4245
1
原创 Unity导表工具-excel文件转json
Unity导表工具-excel转json导表工具意在让策划可以方便的修改大量数据。在项目初期程序要定义各种数据结构,并且与策划约定好表的格式,就可以开始做导表工具了。程序呢可以把这个工具做的更灵活些,这样以后应对不同的表也能很方便。比如我们规定好一个数据结构:...
2018-07-24 20:47:28
6190
1
原创 Unity中经过任意两点的抛物线运动
Unity中经过任意两点的抛物线运动需求:一个小怪在空间中任意两点做抛物线运动(开口朝下),并且被英雄攻击后减速。代码using UnityEngine;public class TestJump : MonoBehaviour{ public Transform jumpFrom; // 起始点 public Transform jumpTo; //...
2018-03-27 11:32:39
4706
原创 Lua学习笔记Day5-Lua实现窗口类
Lua学习笔记Day5-Lua实现窗口类Lua学习笔记Day5-Lua实现窗口类目录Lua实现窗口类目录Lua实现窗口类Lua实现窗口类Lua实现窗口类窗口类需要具备如下特性: 1) 有自己的名字 2) 有自己的布局文件路径 3) 初始化、析构、显示、隐藏 4) 可以拥有一个父窗口,多个子窗口 5) 需要方便通过名字查找其子窗口 6) 具备添加子窗口 7) 脱离父窗口的方法
2016-05-16 23:05:00
2376
原创 Lua学习笔记Day4-Lua实现链表
Lua学习笔记Day4-Lua链表Lua学习笔记Day4-Lua链表目录Lua实链表目录Lua实现链表Lua实链表Lua实现链表用Lua描述一个链表的操作,包括: 1) 创建 清空 2) 往末端插入元素 3) 往头部插入元素 4) 删除指定元素(内容相同的) 5) 遍历SList = {}function SList:Create() local
2016-05-16 22:58:30
573
原创 Lua学习笔记Day3-Lua实现类、Lua面向对象
Lua学习笔记Day3-Lua实现类、Lua面向对象Lua学习笔记Day3-Lua实现类Lua面向对象目录Lua实现类目录Lua实现类Lua实现类Lua实现类 创建一个人类Person,人类有一个成员变量name Person = {name="SomeName"} 添加一个成员方法: Person.talk = function(self, words)
2016-05-16 22:50:29
458
原创 Lua学习笔记Day2-Lua语法、值与类型、表达式、语句、函数
Lua学习笔记Day2-Lua语法、值与类型、表达式、语句、函数Lua学习笔记Day2-Lua语法值与类型表达式语句函数目录- Lua表达式Lua是什么Lua语法Lua类型与值Lua表达式目录Lua是什么?Lua语法Lua类型与值- Lua表达式本文内容来自《Lua程序设计》Lua是什么?Lua是一门简单小巧的脚本语言,能与其他语言相辅相成。Lua依靠别的语言实现实现这些语言的功
2016-05-16 22:16:18
694
原创 Lua学习笔记Day1-Lua标准库函数
Lua学习笔记Day1-Lua标准库函数Lua学习笔记Day1-Lua标准库函数目录Math库String库Table库目录Math库String库Table库本文内容来自Lua官方文档Math库math.pi 返回pi的值、math.huge 返回一个最大数math.abs(x) 返回x的绝对值math.ceil(x) 向上取整math.floor(x) 向下取整math.
2016-05-16 21:56:35
565
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人