自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

两水先木示的博客

记载的不仅仅是知识,还有当年的回忆

原创 【Unity】2D坦克大战游戏分析

2D坦克大战不是在Canvas下开发的,而是直接用SpriteRenderer来。 2D坦克大战核心功能是2D地图的生成,有:草、河流、土墙、钢铁墙、空气墙元素以及一个特殊的物体(出生效果),在生成地图的时候需要将地图视为一个二维空间,每个坐标都是一个资源,使用了的坐标将它放入一个列表保存,以便...

2019-04-07 21:20:27 4278 9

原创 LuaFramework 2018版本 小结

目录 一、LuaFramework的资源更新流程如下图: 二、LuaFramework框架打包流程: 三、LuaFramework框架获取资源方法: 四、加载面板流程 五、热更新真正发挥作用的部分 六、Lua框架的基本用法套路 6.1 自定义Wrap类(即C#转Lua代码) 6.2...

2018-07-12 08:33:56 4363 5

原创 Unity3D (C#)基础类以及组件Component

一、Input类 1.Input.GetKeyDown(KeyCode) 获取键盘按键按下,Input.GetKey(KeyCode)键盘按键按住不放,Input.GetKeyUp(KeyCode)键盘按键松开(运用多在循环函数Update、FixedUpdate、各种脚本生命周期函数) 2...

2017-12-05 11:44:00 4826 0

原创 【Shader案例】镜面反射

转载:https://blog.csdn.net/linjf520/article/details/99647624 一、镜面反射效果图 一、制作Plane镜面 不透明物体且先于箱子渲染,模板测试写入1,是一个表面着色器Lambert漫反射+颜色 Shader "Unlit...

2020-05-16 17:44:31 131 0

原创 【Shader入土】Stencil模板测试

目录 一、介绍模板测试 ① Ref referenceValue ② ReadMask readMask ③ WriteMask writeMask ④ Comp comparisonFunction ⑤ PassstencilOperation ⑥ FailstencilOpe...

2020-05-16 00:34:33 60 0

原创 【Shader入土】顶点渲染路径Vertex Lit

顶点点亮渲染路径详细信息 “顶点点亮”路径通常一次渲染每个对象,并使用为每个顶点计算的所有光源的光照。 这是最快的渲染路径,并且具有最广泛的硬件支持。 由于所有照明都是在顶点级别计算的,因此此渲染路径不支持大多数每个像素的效果:不支持阴影,法线贴图,光cookie和高度详细的镜面高光。...

2020-05-01 12:36:57 50 0

原创 【Shader入土】延迟渲染路径Deferred Lighting

目录 延迟着色渲染路径 总览 要求 性能考量 实施细节 G-缓冲区通过 照明通行证 延迟着色渲染路径(Unity 2017.2) 总览 使用延迟着色时,可以影响GameObject的灯光数量没有限制。所有光源均为逐像素光源进行评估,这意味着它们都可以与法线贴图等正确交互。...

2020-05-01 00:48:47 92 0

原创 【Shader入土】Light光源的Bias

Light.shadowBias public floatshadowBias; Description Shadow mapping constant bias. Shadow caster surfaces are pushed by this world-space amount a...

2020-04-26 21:01:10 90 0

原创 【Shader进阶】Pass块的Tags标签——LightMode之ShadowCaster

一、效果图和Shader Shader "Unlit/ShadowCasterTest" { Properties { _MainTex("Texture", 2D) = "white" {} _Color("...

2020-04-25 00:56:20 75 0

原创 【Shader进阶】Pass块的Tags标签——LightMode之ForwardAdd

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' Shader "Unlit/ForwardAdd" { Properties { _Mai...

2020-04-19 12:52:10 111 0

原创 【Shader进阶】Pass块的Tags标签——LightMode之ForwardBase

Shader "Unlit/ForwardBase" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "Ren...

2020-04-19 00:56:44 94 0

原创 【Shader进阶】Shader的Lod

目录 官方说明 Shader Level of Detail(简称Lod) 中文版说明 着色器细节级别 一、实战 编辑器功能,快速创建CubeMap 官方说明 Shader Level of Detail(简称Lod) Shader Level of Detail (LOD) w...

2020-04-17 23:37:35 76 0

原创 【Shader进阶】常见的渲染状态RenderSetup——ZTest&ZWrite

上图为深度测试GEqual大于等于的情况,也就是深度越大显示在最前面,上图的箱子深度都比白色方块要大,所以箱子即使看起来被挡住,但恰好满足深度测试,所以渲染出来。 Shader "Unlit/ZWriteShaderTest" { Properties { _Mai...

2020-04-17 01:59:16 50 0

原创 【Shader进阶】常见的渲染状态RenderSetup——Blend

一、BlendOp混合操作 混合操作 Add 将混合后的源颜色和混合后的目标颜色相加。默认的混合操作。使用的混合等式是: O(rgb) = SrcFactor * S(rgb) + DstFactor * D(rgb) O(a) = SrcFactorA * S(a) + DstFacto...

2020-04-17 00:41:37 25 0

原创 【Shader进阶】常见的渲染状态RenderSetup——Cull

Shader "Unlit/CullShaderTest" { Properties { _MainTex("Texture", 2D) = "white" {} } SubShader { Cull Off Pas...

2020-04-16 23:47:51 43 0

原创 【Shader进阶】Unity自带的Shader模板——StandardSurfaceShader

效果图 Shader "Custom/StandardSurfaceShader" { Properties { _Color ("Color", Color) = (1,1,1,1) //颜色 _MainTe...

2020-04-14 22:59:04 71 0

原创 【Shader进阶】Unity自带的Shader模板——UnlitShader

效果图 不包含光照(但包含雾效)的基本顶点/片元着色器 原理:对主纹理采样出颜色值,并根据雾气模式选择相应的算法得出最终颜色值。代码有详细的注解(具体请参考UnityCG.cginc) //不包含光照(但包含雾效)的基本顶点/片元着色器 Shader "Unlit/Unl...

2020-04-14 00:35:26 30 0

原创 【Shader进阶】Unity自带的Shader模板——ImageEffectShader

效果图 Shader代码:关闭裁剪、深度写入,开启深度测试,在片元着色器进行采样主纹理图颜色值并反转输出。 //屏幕后处理效果的基本模板: 无裁剪、关闭深入写入、最简单的顶点着色器和片元着色器 Shader "Hidden/ImageEffectShader" { ...

2020-04-13 22:42:30 77 0

原创 【Shader进阶】SubShader块标签Tags——IgnoreProjector

目录 一、创建空物体,挂载Projector,并赋值Material(作用:将Projector范围内的物体材质替换为Projector的Material) 二、我们的主角(带有忽略Projector影响属性的物体,我把它弄得比较漂亮一点) 三、问题 上图Projector组件挂载于空物体...

2020-04-11 21:12:51 147 0

原创 【Shader进阶】SubShader块标签Tags——CanUseSpriteAtlas

官网原文解释: CanUseSpriteAtlas tag SetCanUseSpriteAtlastag to “False” if the shader is meant for sprites, and will not work when they are packed into at...

2020-04-10 23:37:05 51 0

原创 【Shader进阶】SubShader块标签Tags——DisableBatching

正常图(DisableBatching为True时,即使两个物体本来是应该静态合批的,但此时由于此DisableBatching为True,从而两个物体无法进行合批,下方会有截图FrameDebugger的渲染情况) 不正常(顶点位置被改动了,但是DisableBatching为False)...

2020-04-08 23:37:22 85 0

原创 【Shader进阶】SubShader块标签Tags——ForceNoShadowCasting属性和阴影投射ShadowCaster

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' Shader "Unlit/SubShaderTagsTest" { Properties {...

2020-04-08 00:24:13 47 0

原创 【C#服务器】(一)基础的服务器逻辑:创建、捆绑、监听、接收、传送

服务器启动-Main方法启动(应用程序窗口主函数启动) using GameServer.SocketFile; using System; namespace GameServer { class Program { static void Main(str...

2020-04-03 23:30:57 76 0

原创 【Shader进阶】SubShader块标签Tags——RenderType

目录 目的:理解RenderType的作用 ,当初学习《Shader入门精要》时写有如下总结 使用替换的着色器渲染(官方解释) 一、 Camera.SetReplacementShader实战 二、Camera.SetReplacementShader总结 三、Camera.Render...

2020-03-30 00:48:53 54 0

原创 【Unity】Shader编辑器扩展

目录 一、Shader编辑器扩展——简单介绍 1.1、利用ShaderGUI派生类来重新绘制Shader的Inspector窗口 1.2、利用MaterialPropertyDrawers,即加标签形式扩展 二、介绍Shader编辑器扩展的标签形式——方便好用 一、Shader编辑器扩展...

2020-03-19 20:22:41 66 0

原创 【Unity】静态优化工具支持UGUI合批分析、AB包冗余分析、预制体使用资源情况分析

欢迎转载~ 工具Github链接地址 https://github.com/AMikeW/UnityResourceStaticAnalyzeTool 工具功能 一、分析预制体静态资源,如贴图、精灵图、图集等使用情况。 第一张图表格是预制体的使用资源情况,第二张图是分析预制体的依...

2020-03-09 16:37:44 176 0

原创 【Unity】UGUI优化

一、有哪些需要进行优化的? 1、CPU相关:Draw Call、网格重建 2、GPU相关:OverDraw 二、DrawCall 1、什么是DrawCall? 在unity中,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。 2、为什么过多的Draw Call会造成...

2020-03-08 11:25:29 77 0

原创 【Unity】获取资源内存占用、硬盘占用大小

目录 一、贴图大小 二、网格大小(留坑) 三、材质大小(留坑) 四、音频大小(留坑) 五、动画大小(留坑) 一、贴图大小 参考:Unity3D研究院编辑器之脚本获取资源内存和硬盘大小(二十五) static string GetMemory(UnityEngine.Object ...

2020-03-04 22:46:48 58 0

原创 MarkDown学习

一、MarkDown是什么? Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。 Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。 Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub ...

2020-03-03 00:32:36 54 0

原创 Could not load type 'System.Drawing.Imaging.ColorPalette' from assembly ... 

从网上下载的System.Drawing.dll会有问题,运行时和Unity本身的不兼容报错 Could not load type 'System.Drawing.Imaging.ColorPalette' from assembly ... 解决方法:https://w...

2020-02-29 15:23:38 111 0

原创 (五)UGUI源码分析之Rebuild(布局重建、图形重绘)

草稿文章为针对CanvasUpdateRegistry、ICanvasElement、LayoutGroup等分析,ICanvasElement相关Rebuild操作内容,汇总添加布局元素、图形元素时机。 每一帧渲染前会进行触发Canvas.willRenderCanvases事件,Canvas...

2020-02-22 17:21:06 294 0

原创 【Unity】Sprite Atlas功能讲解

官方文档说明:https://docs.unity3d.com/2017.1/Documentation/ScriptReference/U2D.SpriteAtlas.html Type: Maskter母版 Variant变体 Include Build: 勾选时运行游戏时自动...

2020-02-20 18:12:23 138 0

原创 【Unity优化】UGUI优化大杂烩

一、纹理格式 关于首次打开UI界面时,会进行加载界面上的纹理资源,然后缓存在内存中,下次打开时就直接拿缓存上的资源,所以会比第一次打开快很多,当纹理资源越大第一次打开界面的时间就越长。 平台:压缩格式名词(像素占位个数 纹理尺寸要求 纹理颜色通道要求) Android平台:ETC1(4bit...

2020-02-19 19:28:59 123 0

原创 (四)UGUI源码分析之Raycaster

BaseRaycaster 派生出 GraphicRaycaster 和 Physics2DRaycaster、PhysicsRaycaster GraphicRaycaster 依赖Canvas ,会根据Canvas的sortingOrder和renderOrder以及 canvas.sor...

2020-02-18 17:06:28 68 0

原创 (三)UGUI源码分析之输入模块

更新时间:2020年2月17日22:03:10 着重说明部分流程,针对从EventSystem的OnUpdate方法执行的输入模块Process方法说明 目前来看,下面的总结可能只是属于一种草稿版,后期会修改为比较简单易懂的版本,不过你想看的话可以结合源码进行理解我到底在说什么。 P...

2020-02-17 22:03:20 46 0

原创 (二)UGUI源码分析之ExecuteEvents

更新时间:2020年2月17日11:02:54 静态类ExecuteEvents相关类群 内部定义委托: public delegate void EventFunction<T1>(T1 handler, BaseEventData eventData); 类成员: pu...

2020-02-17 12:13:57 70 0

原创 (一)UGUI源码分析之EventSystem

EventSystem相关类群 EventSystem 静态成员: static List<EventSystem> m_EventSystems; 事件系统列表(场景上所有激活的事件系统) static EventSystem current; 返回当前使用的事件系统(...

2020-02-15 20:27:26 165 0

原创 UGUI源码目录结构

2020-02-15 16:08:04 55 0

原创 Mac安装SVN

AppStore下载SnaliSVN精简版,免费。 新增2个路径如上图,/Users/milk/.ssh 和 /usr/local/bin 都是文件,milk是我的电脑用户名称,要改成你自己的,如果上面2个文件夹都不存在,直接使用mkdir 路径 创建文件夹即可。 打开Find...

2020-02-13 20:46:12 89 0

原创 Mac上安装Jenkins

一、下载Tomcat tomcat.apache.org 下载完成后,进行解压,接着打开终端操作:启动Tomcat。 关闭Tomcat操作为sudosh shutdown.sh 打开浏览器地址输入:localhost:8080会打开一个Tomcat界面,说明成功开启,若打不开则...

2020-02-13 20:28:56 92 0

提示
确定要删除当前文章?
取消 删除