unity
文章平均质量分 87
叫我上上
默默的提升技术比什么都有用
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UGUI 圆角矩形控件实现
介绍项目中使用了很多圆角矩形的纯色的按钮,背景之类的图片,如果使用传统的九宫格的拉伸,那么不通的圆角半径必须使用不通的图片,而且拉伸后边缘容易出现狗牙(锯齿)。于是想到了使用shader来实现该功能,利用算法生成圆角矩形。最终效果shader的实现Shader "UI/RoundMask"{ Properties { [PerRendererData] _MainT原创 2017-08-16 10:59:46 · 8760 阅读 · 4 评论 -
六边形网格向量工具
实现了六边形网格的向量工具,Hex为斜角坐标系,三个轴平面夹角为120度 NetHex为offset型坐标系,xy轴夹角90度 AxialHex为轴坐标系p,r夹角120度,支持互相转换Hex坐标系方便制作技能范围,寻路等功能 AxialHex坐标系一般用于辅助计算 NetHex坐标系方便存储二维数组数据同时支持坐标类型生成二维坐标(x,0,z)。后续会加入形状,距离等判断。用于制作复杂技能原创 2017-08-21 20:03:26 · 3162 阅读 · 0 评论 -
CG标准函数库
整理记录标准函数库0x01 数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回ture; 否则返回flase。&&运算 any(x) 输入参数只要有其中一个不为0,则返回true。 asin(x) 反正弦函数,输入参原创 2017-08-28 09:37:39 · 613 阅读 · 0 评论 -
Unity中shader实现绘制六边形网格
上一篇 绘制一个正六边形的shader 中实现了在面片上绘制单一的六边形。结合上上篇的六边形网格向量工具,可以创建大量的六边形来实现绘制一个六边形网格。然而这样的绘制问题很明显,顶点数较多,每一个六边形用掉4个顶点。。。那我为什么不去直接用6个顶点的mesh呢?(手动滑稽)。 试想一下如果我有10000个格子,就要为了它绘制40000个顶点。。。 还有一种很常用的方式,画出一张六边形的贴图,然后原创 2017-08-27 17:02:43 · 6720 阅读 · 5 评论 -
绘制一个正六边形的shader
绘制一个正六边形的Shader最终效果如图 基本原理是当前片源UV坐标和fixed2(0.5 0.5)的距离与离其最近的正六边形的中心点UV坐标的距离之间的差的绝对值是否小于边缘的宽度。此做法经过扩展可以用来做UI的正六边形遮罩等功能。下面是shader的具体实现。具体算法请结合上一篇关于六边形坐标系的文章。六边形网格向量工具// Unlit shader. Simplest possible原创 2017-08-26 11:04:49 · 3342 阅读 · 0 评论 -
UGUI的点击事件机制
UGUI的点击事件机制0x01点击的出发点反编译EventSystem大概获得一个这样的流程图。为UGUI中各种点击及拖动响应事件产生的一个大概的流程图。其中黄色部分为重点的分析区域。反编译 PointerInputModule获得实现,其中 protected PointerEventData GetTouchPointerEventData(Touch input, out bool press原创 2017-09-01 19:39:48 · 3263 阅读 · 1 评论 -
移动支付接入相关(转载自elangduan的博客)
转载自elangduan的博客苹果IAP接入相比微信支付和支付宝支付要麻烦一些,麻烦的地方主要体现在对测试支付环境的要求以及苹果审核方面的要求上面。本文是自己在接入iOS的IAP模块的经验及总结,发出来分享下。建议需要接入的话还是浏览一遍苹果官方文档 注意事项测试支付的ipa必须使用[App-Store]证书越狱机器无法测试IAP用SandBox账号测试支付的时候,必须把在系统[设置]里面把[转载 2017-08-14 14:47:19 · 524 阅读 · 0 评论 -
设备唯一代码获取相关
获取设备唯一标识IOS获取UUID,KeychainAccess中保存的keychain-access-groups为根证书idconst char * Utils::getDeviceId(){ NSBundle *baudel = [NSBundle mainBundle]; NSString * kcaPath =[baudel pathForResource:@"Keyc原创 2017-08-18 16:45:30 · 661 阅读 · 0 评论 -
AI判断能否看到物体
AI判断能否看到物体的几种方法观察者发射射线 如图所示,观察者所看向的方向有一个夹脚,计算出夹角范围并发出射线 缺点也是显而易见的,虽然Raycast速度很快,但是,随着观测距离的上升,或者被观测物体的减小,物体可能出现在视线内的两道射线之间。此时只能通过发射更多射线解决,而且加上Y轴将会发射非常多的射线。 被观察者发射射线因为光线的传播是相互的,由被观测者发射出射线,如果射线被其它物体阻挡,原创 2017-08-18 15:14:26 · 750 阅读 · 0 评论 -
Unity中另类的使用Lua的一种方式
自定义的Unity中Lua粘合(基于Tolua#)为了适应很多组里的程序不习惯写lua,而且习惯了挂组件。。。开发了这套工具。Lua的组件很像C#的behavior了。性能不是很优秀,但是易上手,适合快速开发很小的项目。想要源代码的可以加我QQ。下面只是贴出具体的使用和功能。基础功能扩展功能基础功能Lua组件脚本的创建在对应需要创建的文件夹下右键菜单创建文件,点击后输入文件名,会在文件中自动原创 2017-08-02 12:05:53 · 4524 阅读 · 9 评论 -
游戏AI中的搜索与寻路
0x01 搜索策略无信息搜索策略1. Breadth First Search(BFS) 广度优先搜索先访问的节点先扩展每次扩展深度最浅的节点可以用一个队列来保持待扩展的节点2. Depth First Search(DFS) 深度优先搜索后被访问的节点先进行扩展每次扩展深度最深的节点对于无边界的搜索问题无法保证完备性可以用一个栈来保持待扩展的节点3. Uniform Cost S原创 2017-08-28 14:37:05 · 893 阅读 · 0 评论
分享