在 《Real Time Rendering third edition》 一书中 轮廓选被分为了五种: 基于观察角度和表面发现的轮廓线渲染: 方案:这种方法是基于视角方向和表面法线的点成结果得到的. 优点:一个 Pass 就可以 缺点:局限性大 过程式几何轮廓线渲染 方案:使用两个 Pass, 第一个 Pass 渲染背面的面片。第二个 Pass 渲染正面的面片 优点:快速有效 缺点:适合大部分表面平滑的模型,不适合立方体这种平整的模型 基于图像处理的轮廓线渲染

https://www.cnblogs.com/davidsheh/p/7410464.html https://www.zhihu.com/question/56416062 # GVoice 集成到 Unity 中 GVoice 官网 可以在上方找到对应 SDK 的接口文档. 这个插件如果要导出到安卓层,则需要从安卓层来接。接下来介绍如何从安卓层接 GVoice 插件.(顺带学习如何在 Android 层接 SDK) # 下载 GVoice SDK 在这个页面可以选择对应平台的接口,比如 UE,Unity http://sdk.gcloud.tencent.com/ 这里我们选择...

我怀疑网易云偷窥了我的手机 来源:某被吐槽的创 4 里外国友人 米卡 清唱的这首歌 祝每个人 除了某可能永远的单身狗 找到自己的归宿. 12345678910111213141516171819202122232425262728293031323334353637383940414243歌曲名称:永不失联的爱周兴哲 -...

[toc] # 概要 对于 Unity 中的热更新而言,Assetbundle 是必不可少的。从而对于 Assetbundle 的控制也是必不可少的. GameFramework 独立实现了一套 ResourceManager, 这套控制器可以实现 AB 打包的彻底配置化。本文将分几个阶段进行 * 介绍如何实现 GF 框架内 ResourceManager 的配置信息自定义 * 介绍其实现逻辑 # 配置 ResourceManager 官方文档:...

# 一、什么样的代码支持热更新 # 模式一:加载所有代码指令到内存 将所有的代码指令先加载到内存 – 代码段,然后执行. C++ 开发的程序 -> 代码指令 -> 内存 Unity C# 开发程序 -> 一跑起来所有的 C# 都加在到内存里,所以没有动态的改变,不支持热更新,重新安装替换所有的代码,才可以更新 # 模式二:将所有的核心代码先加载到内存 核心代码加载到了内存里,程序可以跑起来了,然后运行代码先加载代码到内存里,然后再执行,动态加载执行,即热更新 跑起来以后,可以去最新的位置 (比如服务器) 下载代码,然后装载代码。不用重新安装 App...

C# 扩展方法用于非继承的扩展类的内置方法 比如给 String 扩展一个方法: 1234567891011namespace ExtensionMethods{ public static class MyExtensions { public static int WordCount(this String str) { return str.Split(new char[] { ' ', '.', '?'...

[toc] # 问题提出 当一个滚动列表可能出现数十个 item 时,就会出现卡顿,这种前提下就需要实现 不能一次性生成所有的列表元素,只能一次性加载固定的元素,然后修改这些元素的属性值 通过数据驱动的方式进行 即无限滚动列表 # 方案解析 配置一开始的时候使用 Grid Layout Group 组件将每个元素的位置确定下来. 然后关掉 Grid Layout Group 组件来使得可以通过代码来操控子元素的位置。基本思路: * 先得到最终会生成的元素数量 * 根据每个元素的长宽预设置 UI 组件的大小 (比如将要得到 100 个元素,则宽就是 100_w, 高就是 100_h) *...

[toc] # 内置包含文件 类似于 C++ 中的头文件,在 Unity 中,文件后缀是 .cginc , 形如下 12345CGPROGRAM//...#include "UnityCG.cginc"//...ENDCG 它们放在 Unity安装路径/Data/CGIncludes 路径下 # Unity 常用包含文件 # UnityCG.cginc 包含了最常使用的帮助函数、宏和结构体等 # UnityShaderVariables.cginc 在编译 Unity Shader 时,会被自动包含进来。包含了许多内置的全局变量,如...