最近面试中遇到的一些题目,其中一些答的不满意的和不会答的,在此记录下来,包含Unity3D的、C#和Lua的,以及一些算法题。
《Effective C#》笔记 使用C#表达设计
阅读《Effective C#》一书的总结,第三部分,使用C#表达设计。
《Effective C#》笔记 .Net资源管理
阅读《Effective C#》一书的总结,第二部分,.Net资源管理。
《Effective C#》笔记 C#语言习惯
阅读《Effective C#》一书的总结,第一部分,C#语言习惯。
Unity3D 基于shader和Image的雷达图
最近在项目中有需求在UI中增加一个雷达图。首先考虑到使用BaseMeshEffect
通过OnPopulateMesh
中计算顶点位置实现,但由于项目已上线,增加cs脚本无法热更新支持,因此考虑在shader中实现,并将材质的一些属性暴露出来,供lua控制修改。
最终得到效果是这样的:
Unity Shader笔记(三) 在片段着色器中获取世界坐标
在片段着色器中获取像素对应的世界坐标,分为两种情况,第一种是在绘制物体时,第二种是在屏幕后处理阶段。前者比较简单,因此主要讨论后者,同时拿前者的绘制结果作为参照。
shell脚本笔记(一)
最近在完善Jenkins上的自动构建系统时,一边探索一边学习到了一些shell脚本的内容,记录如下,操作系统是OSX。
Unity Shader笔记(二)
在使用shader时,可能会遇到这样的情况:某个shader的绝大部分代码适用于所有的情况,但是有少部分内容需要根据具体的情况采用不同的代码。此时会需要保持shader的大部分代码固定不变,得到对少部分代码做轻微的改动的shader变体。multi_compile
用于产生多种不同的shader变体。multi_compile
会根据不同的情况,使用不同的预处理器指令,多次编译shader代码。
Unity Shader笔记(一)
最近Unity ShaderLab学习中的一些知识点记录。包括数据精度选择,切线空间到世界空间的转换,卷积和卷积核等内容。
Unity3d 坐标变换
本文记录一些Unity中可能用到的坐标变换的方法,包括在C#脚本中及在ShaderLab中: