- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 游戏底特律:变人Loading动画效果实现
1、需求描述上周接到个好玩的任务,就是模仿游戏底特律人的loading动画效果,原始视频如下:2、实现难点分析与概括:由上面视频可以看出,此效果难点主要在缝隙的圆弧处理和缝隙的运动规律上。缝隙处理主要是在缝隙边缘做向外围的圆滑收缩处理,这里主要用到了x^3.5函数做圆弧处理。缝隙的运动轨迹盯着视频看了一天,眼都看花了,也没看出来啥规律。后来老大建议用随机处理的方式,但是实现出来随机...
2019-01-04 14:48:15 2668
原创 Unity Shader 新手引导效果
这两天实现了下新手引导需要的遮罩镂空shader效果,记录一下。1、圆形镂空shader代码: //计算片元世界坐标和目标中心位置的距离float dis = distance(IN.worldPosition.xy, _Center.xy);//过滤掉距离小于(半径-过渡范围)的片元clip(dis - (_Radius - _TransitionRange));//优化if条件判...
2018-05-11 14:43:48 3731 1
原创 Unity 计算子节点的世界坐标
//Unity 计算子节点的世界坐标 private Vector3 CalculatePos(Transform parent) { Vector3 offset = transform.localPosition * parent.localScale;//计算相对父节点偏差 Vector3 result = parent.position + parent.r...
2018-04-18 19:14:37 2898 1
原创 Unity动画优化
最近在做动画优化插件,花了一周时间写代码调试效果,总算在大幅降低内存的基础上做出了美术同学满意的效果,目前优化过的动画文件是未优化的动画文件的7.5%左右的内存,写篇博客记录一下。1、为什么要做动画优化: 动画文件在游戏包体和内存中占的比例仅次于贴图,优化好动画文件,就优化了一小半游戏内存。拿我们正在开发的游戏举例,优化后的包体和内存比优化前减少了一百多兆,大概优化掉了五分之一的内存。2、优...
2018-04-18 18:57:03 3694 4
原创 UGUI Image扩展组件
功能:优化对称图片及九宫格图片内存(对称图片只用一半图片,九宫格只用左下部分四分之一图片)。核心代码:1、九宫格翻转代码:/// <summary>/// 赋值九宫vert顶点数据/// </summary>/// <param name="toFill"></param>/// <param name="rect">&a
2018-04-03 17:48:23 854
原创 UnityEvent内存泄漏
最近写UI单击事件时发现一个内存泄漏,经过反编译UnityEngine.dll查看源码,定位到了问题,总结一下。过程重现:按钮注册一个单击事件,当点击此按钮,触发此单击事件,并在执事件方行过程中再反注册此事件,就会造成事件所注册的对象实例不能被释放,再执行下委托的Invoke方法,才会释放对象实例。反编译UnityEngine.dll发现了这段代码造成了内存泄漏:// UnityEng
2017-07-03 11:50:35 1197
原创 C# GC疑问
今天写代码时发现个问题,当局部对象实例失去引用时,立刻调用GC,并不会去释放该对象,而是等待下次GC。但是出了对象作用域调用GC,就会去释放该对象。GC查看的是对象内存是否有强引用,不知道作用域为什么会引起这样的区别。代码事例:void OnGUI() { if (GUI.Button(new Rect(20, 100, 100, 100), "test"))
2017-06-28 14:59:33 381
原创 删除字符串中重复字符
只需遍历字符串一次,时间复杂度为O(n)。 代码如下: void erase_repeat_char(char *s) { assert(s != NULL); char chartable[256] = {0}; string str(s); int i = 0; while(i < str.length())
2013-10-21 19:26:22 519
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人