Unity面试题整理 一:什么是协同程序? 在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足。 二:Unity3d中的碰撞器和触发器的区别? 碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性。当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnt 2017-10-28 游戏开发 C# Unity
C#快速排序 代码:namespace 快速排序 { class Program { static void Main(string[] args) { int[] nums = { 1, 9, 6, 4, 2, 5, 7, 10, 3, 8 }; 2017-10-22 编程语言 C#
C#冒泡排序 控制台运行以下代码int[] nums = { 0, 5, 8, 3, 4, 1, 6, 7, 2, 9 }; for (int i = 0; i < nums.Length - 1; i++) { for (int j = 0; j < nums.Length - 1 - i; j++) { if (nums[j 2017-10-22 编程语言 C#
Shader语义 概念 概念:顾名思义,就是语句的含义,通俗的说:就是告诉Shader从哪里得到这些参数,并且又把这些参数输出到哪里。 其实语义是HLSL中的语法,但是Unity中的ShaderLab并不支持全部语义 DirectX10之后,有了一种新的语义,叫做系统数值语义,这些语义是以SV开头的。 这些语义有特殊的含义,不能随便赋值,比如SV_POSITION,在系统中表示齐次空间下的坐标。 再比如SV_Tar 2017-10-22 游戏开发 Unity Shader
Shader光照公式 计算机图形学第一定律:如果看起来是对的,那么就是对的。计算机图形学中的基本光照模型:光照模型:用数学的方法模拟现实世界中的光照效果。漫反射光照(Diffuse):当我们的平行光照射到物体表面的时候,会出现散射,散射出两种方向:1:反射:经过顶点的法线,反射出去 : 高光反射2:折射:进入到物体内部,在物体内部也经过很多反射,最后再射出物体表面:漫反射 在标准光照模型下:只关心直接光照。把射入摄像机 2017-10-22 游戏开发 Unity Shader
UnityUI加载进度条 初学者的写法:System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class NewBehaviourScript : MonoBehaviour { public float UI_Wight; 2017-10-22 游戏开发 C# Unity
Shader渲染管线流程 渲染管线流程: 应用程序阶段:主要是计算机CPU和内存通信,将模型身上的顶点信息,包括顶点坐标、纹理坐标、法线等,组装成一个图元,将图元信息发送给GPU 几何阶段:用来处理几何上的事情,这些操作通常在GPU上执行,这一阶段最重要的任务就是将图元信息中的顶点坐标变换到屏幕坐标系中,交给光栅化阶段处理。 光栅化阶段:对上一阶段传入的参数进行顶点处理,将顶点数据进行插值运算,然后再进行逐像素操作,最后将 2017-10-22 游戏开发 Unity Shader
C#协同知识点 启动协同方法方法1:StartCouroutine(“Fun”); // 只能调用对象自身的协同方法 方法2:StartCouroutine(Fun()); // 可以调用其他对象的协同方法 定义协同方法: 协同方法中必须要有yield语句IEnumerator Fun() { yield return new WaitForFixedUpdate(); 2017-10-22 编程语言 C#