26. 如何实现战争迷雾

后续Unity实现后分享

27. Unity优化手段,Draw call ( cpu gpu)

概念:Draw call就是一个命令,它的发起方是CPU,接收方是GPU。这个命令仅仅会指向一个需要被渲染的图元列表,而不会再包含任何材质信息。当给定一个Draw Call时,GPU会根据渲染状态和所有输入的顶点数据开始进行计算。CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。

如果Draw Call的数量太多,CPU就会把大量时间花费在提交Draw Call 上,造成CPU的过载,会影响帧率。

哪些手段可以减少Draw call次数:

1)Solid Color模式能满足需求的时候使用用Solid Color模式

2)尽量减少使用多个Canvas

3)尽量把同类型组件放在一起(因为如果一个Text,一个Image这样混着来,每个Text和Image都会产生Drawcall)

4)尽量使用图集,把多个小图片合在一起(如果每个Image都显示不同图片,那么每个Image都会产生1个Draw call)

5)减少实时光照的使用,可以烘焙成光照贴图去代替实时光

28. Pbr最重要的参数,几个方程

反射率方程

Lo(p,wo)=∫Ω(kdcπ+ksDGF4(wo⋅n)(wi⋅n))Li(p,wi)(wi⋅n)dwi

具体内容太过复杂,具体转载见每日5题 06补充

29. 如何搭建一个pbr工作流

PBR的工作流程主要分为两种,一种是基于金属的工作流 (Metal-Roughness),一种是基于镜面反射的工作流 (Specular-Glossiness)。Unity支持两种工作流,而UE4则只支持metallic工作流。

流程大概:基础模型->高模制作->拓扑->展UV->烘焙贴图->SP贴图制作->导入引擎

笔者曾经使用过PBR工作流程,对应软件MAYA,Z-brush,Substance Painter,Unity(UE)

30. Topk问题以及变种,各种解法

topK问题是经典的算法问题,其大意是从一个序列中找出最小(大)的k个数,面对这个问题最简单的方法当然是先排序后取前k个数,但这样有些浪费时间,比较经典的方法是借助快排和堆排的思想。

参考题目:

215. 数组中的第K个最大元素

具体解法可以有暴力,快排,冒泡排序,归并排序深度优先搜索,分治等等

这里分享JAVA冒泡排序:

class Solution {public int findKthLargest(int[] nums, int k) {for(int i = 0;i < k;i++){int max = i;for(int j = i+1;j < nums.length;j++)if(nums[j] > nums[max])max = j;if(max!= i){int temp = nums[i];nums[i] = nums[max];nums[max] = temp;}}return nums[k-1];}
}

更多解法不妨去力扣题解看看

Unity面试题 每日5题 06相关推荐

  1. Java实习生常规技术面试题每日十题Java基础(七)

    目录 1. Java设计模式有哪些? 2.GC是什么?为什么要有GC? 3. Java中是如何支持正则表达式. 4.比较一下Java和JavaSciprt. 5.Math.round(11.5) 等于 ...

  2. Java实习生常规技术面试题每日十题Java基础(八)

    目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...

  3. Java实习生常规技术面试题每日十题Java基础(四)

    目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...

  4. Java实习生常规技术面试题每日十题Java基础(五)

    目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...

  5. Java实习生常规技术面试题每日十题Java基础(一)

    目录 1.Java 的 "一次编写,处处运行"如何实现? 2.描述JVM运行原理. 3.为什么Java没有全局变量? 4.说明一下public static void main(S ...

  6. Java实习生常规技术面试题每日十题Java基础(六)

    目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...

  7. Java实习生常规技术面试题每日十题Java基础(二)

    目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...

  8. Java实习生常规技术面试题每日十题Java基础(三)

    目录 1.是否可以从一个static方法内部发出对非static方法的调用? 2.Integer与int的区别? 3.Overload和Override的区别.参数列表相同,返回值不同的方法,是否是重 ...

  9. PMP模拟试题每日5题(5月7日)

    摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.产品开发团队采用敏捷开发 ...

最新文章

  1. lightgbm简易评分卡制作
  2. python分类预测降低准确率_python实现吴恩达机器学习练习3(多元分类器和神经网络)...
  3. kprobe原理解析
  4. jsp mysql论坛_使用SSM和ajax做一个简易的论坛-01(简介和建表)
  5. html如何让字体自动变色,CSS使文字部分变色
  6. if中有return理解
  7. struts2中处理get请求乱码
  8. 大转盘抽奖小程序源码
  9. Android10手机OTG按钮,我又来了-荣耀10青春版手机OTG功能你会用吗?
  10. 一文详解什么是代理模式
  11. Linux共享内存使用常见陷阱与分析
  12. Go: 内置net/http库解析
  13. 2021中国大数据企业50强
  14. python编程应用中级_如何利用Python辅助开发HSK中级课程-数据统计篇
  15. 为什么浏览器会限制ajax并行请求数量,有办法突破限制吗
  16. 网上下载的PPT模板总是会自动切换、自动播放动画,怎么取消自动播放
  17. wps通过vb宏来查看文档中使用的所有字体
  18. 射影几何----证明抛物线有一个焦点且只有一个焦点
  19. 计算机到未识别网络有个叹号,上网异常:出现黄色感叹号不能上网的两种解决方案...
  20. 温故而知新,不亦悦乎!

热门文章

  1. 关于Ubuntu中使用teamviewer
  2. 喜忧参半:光伏扶贫市场前景分析
  3. 世界杯赛场上,大数据在奔跑
  4. C# 子线程中访问主线程中的控件
  5. Excel VBA代码密码破解
  6. linux添加hello驱动,Linux驱动之建立一个hello模块
  7. 元宇宙游戏新体验,Aquqnee的“P2E”完美平衡
  8. matlab批量图片旋转处理
  9. python 人工智能培训班(python的诠释)
  10. 麦肯锡解决问题七步法