游戏开发
文章平均质量分 94
火锅肥牛
你好,欢迎来到火锅肥牛博客。喝最烈的酒,拿最利的刀,写最hard的code。你可以通过thisskyiot@163.com联系我
展开
-
Unity实现图形学算法之射线与三角检测算法
/*//unity中的测试代码 void Cula(Mesh mesh1,Mesh mesh2) { int[] indexs = mesh1.triangles; Vector3[] v1s = mesh1.vertices; int length = v1s.Length; int indexlenght = i...原创 2019-03-22 12:58:29 · 1079 阅读 · 0 评论 -
基于牛顿法的开平方实现
引言牛顿法是求解最优问题的一种常用方法。方法简述本文主要在实现使用牛顿法进行开平方操作,代码使用python实现。在开平方求解中,更多的可以参考这篇文章。牛顿法是一种最优化求解方法,在迭代过程中求取到最接近解的值,类似的还有梯度下降等等。方法分析这里主要讲解我对该方法的推导,有错误之处麻烦指出。首先针对开根号求解,可用以下式子描述:x=nx=\sqrt{n}x=n将该式换成:...原创 2019-04-15 20:15:56 · 1422 阅读 · 0 评论 -
Unity 3D之自定义SRP(可编程渲染管线)教程2
Unity3D提供了默认的两种渲染管线,那么这两个渲染管线与之前的Unity内置渲染管线有什么相似与相异的地方?本文将进行总结。原创 2019-07-14 00:38:34 · 1622 阅读 · 0 评论 -
Unity 3D之自定义SRP(可编程渲染管线)教程3
SRP是自Unity 2018版后更新的功能,本博文将会关注自定义SRP的开发。原创 2019-07-14 11:25:49 · 2404 阅读 · 0 评论 -
Unity 3D之自定义SRP(可编程渲染管线)教程 1
SRP作为Unity最新提供的渲染方法备受期待,那么其中原理几何,如何自定义不同需求的SRP,本文中将会记录讨论。原创 2019-07-12 11:47:09 · 1278 阅读 · 0 评论 -
【原理分析+源码】10分钟教你使用Unity实现鱼竿模拟
想用Unity 3D实现一个较为真实的鱼竿吗?本文给你答案,文尾附赠测试工程。原创 2019-07-12 11:47:44 · 4324 阅读 · 0 评论 -
Unity工具开发之简易csv配置文件读取脚本
前言游戏开发时,有一些游戏数据常常需要预先配置在一些项目外的文件中,例如本地的txt文件或者本地的csv文件。csv文件因为其好编辑,格式清晰,常用于游戏中配置文件的使用中。本文将简单实现基于csv文件的配置文件读取脚本,方便游戏开发。避免每次策划一修改数据,程序就要重新编译文件的尴尬。实现思路首先通过文件流形式读取脚本,然后在根据字符串划分获取每一个格子信息,并保存于字典中;最后其他模块的...原创 2019-07-20 15:45:26 · 638 阅读 · 0 评论 -
Unity编辑器扩展-菜单项
前言Unity编辑器允许你去添加像内置菜单一样外观和行为的自定义菜单。自定义菜单对于那些经常使用的功能提供一种能从编辑器直接访问的便捷方式。在这一课程中我将对每个描述的主题提供真实的使用示例,用于说明在unity中的菜单项是如何创建和使用的。添加菜单项为了要在顶层工具栏中创建一个新的菜单项,你必须去创建一个编辑器脚本(在项目Editor目录下的一个脚本)。此菜单项需要是一个静态的方...转载 2018-05-07 10:41:06 · 1207 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记十二
透明效果一 一、基础要在模型中实现透明效果,可以通过两种方式来实现:透明测试和透明混合。 透明测试:这种方式其实是通过透明度来判断哪些地方需要去渲染,如果透明度低于设定的值就不去渲染。其实这里和遮罩有点相似。透明测试主要去判断一张贴图的透明通道,然后将低于该透明通道的部分取消渲染。 透明度混合:这种方式可以实现半透明效果。二、一些关键词 深度缓冲(z-buffer):深度缓冲对应深...原创 2018-02-25 23:54:30 · 263 阅读 · 0 评论 -
Unity 3D之UI设置父子关系setParent坑
在做项目的时候,难免会碰到UI很多的情况,而动态加载UI就是一个很重要的问题。而动态加载UI就需要考虑到设置UI的父子关系。通常我们会使用transform.setparent(transform)来设置父子关系。到这里都还是没毛病。但是偏偏UI在设置父子关系的时候需要考虑到第二个参数。对于初学者往往会遇到UI加载出来,设置子物体后发现UI不见了,但是明明直接拖到UI层次中又是对的。这个问题就和第二个参数相关原创 2017-07-23 22:17:39 · 20199 阅读 · 0 评论 -
Unity 脚本接口值Path
在做游戏或者应用的时候,我们往往会考虑到本地存储数据。但是本地存储数据的时候我们需要考虑到路径的正确性。我们通常会使用Path类中封装的方法来实现。原创 2017-12-17 19:38:40 · 796 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记八
逐顶点光照效果图 从效果里里可以看出,逐顶点光在边缘处有很多锯齿和凸起,并且在光暗分界线部分出现不平滑。这个问题是因为,在计算光照效果的时候,逐顶点光照其实是对每个顶点部分的颜色效果值进行计算,而中间部分则使用插值计算得到,所以会出现这些问题。在顶点密度较低的情况下,这个问题很明显,而在顶点密度较高的时候,这个问题就现实较好。逐顶点光照shader脚本:// Upgrade原创 2018-01-30 23:26:18 · 260 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记七
Unity shader光照基础==你如果它看起来是对的,那么它就是对的 – 计算机图形学第一定律==这里主要对光照的基础进行笔记。光照基础这里确实很费脑子,看了好久也没怎么理解。下面也主要是一些重点。渲染一个环境,需要考虑: - 光线从光源中出发 - 光线照射到其他物体后,会经过反射和散射。 - 最后进入摄像机中的光线就是最后渲染的图像。光源光源照射到物体,射入...原创 2018-01-14 14:05:20 · 290 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记十一
遮罩纹理遮罩纹理其实内容不是很多,说白了就是添加一张纹理来存储权重值,以控制渲染中某些变量的值。由于一张图中有四个通道(r,g,b,a),因此一张图可以控制四个变量。 下面主要讲一下通过一张纹理来控制高光的效果。 图一 未添加遮罩贴图效果 图二 添加遮罩贴图效果 从图一图二中对比可以看出,图二添加了遮罩贴图后高光部分显得比较暗淡。 在shader中:// Upgrad...原创 2018-02-25 23:48:44 · 283 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记十
渐变纹理 不同渐变纹理所带来的效果不同。 首先从分析半兰伯特模型开始: 半兰伯特模型在之前计算光照的时候被应用,主要是为了解决blinn模型不能计算阴影面的问题,而这个问题的表述在于在计算光照的时候,算法直接将计算结果的负数剪掉,从而在背面其实也就不计算光照。那么在半兰伯特模型中,采用了先缩放再平移的方式将本该在[-1,1]的受光照范围扩展到了[0,1]。这样的计算就能保...原创 2018-02-25 23:43:59 · 321 阅读 · 0 评论 -
Unity Shader入门精要 阅读笔记九
高光反射模型逐顶点 效果图逐像素高光着色 效果图Blinn-Phong模型效果图原创 2018-02-25 23:41:22 · 241 阅读 · 0 评论 -
Unity 3D之调用摄像头并存储
针对目前网络上大多的屏幕截屏的摄像头数据存储方式,本文提出直接获取摄像头的数据进行存储。具有高清,无码(斜眼笑),不受3D环境限制等特点。原创 2017-07-18 11:14:34 · 1603 阅读 · 0 评论