引言最近在读 Unity 4.3 的源码,研究到 Unity 集成的物理引擎 PhysX 和 Box2D 部分,接下来还要研究渲染引擎方面的东西,想着直接倒腾一下,自己集成一遍写个小 demo 。当然这都依赖于 OpenGL 这个东西来渲染(因为物理引擎本身都是一些计算,没有可视化的东西,需要借助渲染层将其可视化),这里先搭一个可以在 Windows 下编写 OpenGL 程序的架子,然后再往里面
之前文章中我们已经完成一套基于PC主机等高端平台的地形系统基本的渲染,加载和资源结构。但是很显然光有这些是远远不够的,因为即使基本功能齐全,这套系统终究是要给人用的,而我们作为技术美术,除了实现所有的引擎底层必需的功能以外,也要把生产流程全部打通,先挂一下上一篇的地址,防止有新来的看官接不上: 题图来自 @Lute Li 使用World Creator制作的测试场
纹理的基础知识        看了一部分unityshader入门精要的第七章纹理部分的开头,觉得理解起来相对前面的知识有难度,遂看了其他的教程(百人计划)来补充纹理的基础知识。纹理的出现即一张贴图贴在模型表面,减轻建模的工作量,纹理即包含了一些信息。纹理管线     
转载 2024-02-28 20:38:25
72阅读
Bloom泛光在游戏中使用非常广泛,这个也是衡量引擎渲染能力的一个指标,Bloom泛光渲染是一个后处理算法,在这里先介绍关于Bloom泛光的现象,对于明亮的光源和区域经常很难向观察者表达出来,因为监视器的亮度范围是有限的。一种区分明亮光源的方式是使它们在监视器上发出光芒,光源的的光芒向四周发散。这样观察者就会产生光源或亮区的确是强光区。(译注:这个问题的提出简单来说是为了解决这样的问题:例如有一张
LOD是Level Of Detais 的简称,多细节层次。在游戏场景中,根据摄像机与模型的距离,来决定显示哪一个模型,一般距离近的时候显示高精度多细节模型,距离远的时候显示低精度低细节模型。Note:LOD至少需要一份高精度模型、一份低精度模型,这会增大安装包大小。下面开始吧。1、创建一个Cube,作为高模,注意高模以 _LOD0 结尾创建一个 Capsule 作为低模,注意低模以 _LOD1
转载 2024-05-07 18:55:16
696阅读
1点赞
1评论
二分查找是一种查询效率非常高的查找算法。又称折半查找。起初在数据结构中学习递归时实现二分查找,实际上不用递归也可以实现,毕竟递归是需要开辟额外的空间的来辅助查询。本文就介绍两种方法 二分查找算法思想有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。一个情景:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用
Windows下安装tensorflow花费了我很长的时间,刚开始不知道很晕,一直不清楚该怎么弄,安装完anaconda之后,就在pycharm中选择virtual environment的python环境,然后安装tensorflow,安装完之后发现运行时错误很多,也没有解决,然后才发现可以使用conda environment,这个就和前面做的工作联系在了一起,这样就可以成功的使用tensor
转载 2024-08-20 10:29:40
59阅读
        Unity为渲染目标纹理定义了一种专门的纹理类型——渲染纹理(Render Texture)。在Unity中使用渲染纹理通常有两种方式:一种方式是Project目录下创建一个渲染纹理,然后把某个摄像机的渲染目标设置成该渲染纹理,这样一来该摄像机的渲染结果就会实时更新到渲染纹理中,而不会显示在屏幕上。使用这种方法,我们还可以选择渲染纹理的分辨率
转载 2024-04-28 22:35:40
73阅读
分类:Unity、C#、VS2015创建日期:2016-05-19一、简介在Unity 5中,Lighting是—种增强场景光照和阴影效果的技术,它可以通过较少的性能消耗使静态场景看上去更真实、丰富,以及更具有立体感,又可以对动态对象进行处理。早期版本的Unity 4只能对“静态”对象和“动态”对象分别进行处理,称为Lightmapping(光照贴图),但是,Lightmapping不能被用来实时
转载 2024-04-30 19:40:09
59阅读
unity学习日记:创建天空盒1,首先创建一个材质球 2,在Shader选项中选择Skybox里面的6 Sided 选择好后显示的界面是 然后图片就从资源商店里面搜索Skybox,就可以下载天空盒素材了 我个人下了这个天空盒,因为是免费的(笑) 导入后它里面有很多天空盒素材 打开其中一个文件夹发现除了6张图还有其他的 甚至你都不用自己创建天空盒人家都给你弄好了。然后往场景一丢就可以了 好了,不闹了
转载 2024-05-07 16:21:18
529阅读
 一、需要提前了解的纹理可以理解为就是一张图片,对于一张平面图,如何“铺”在一个不规则的物体上,是第一个要考虑的问题纹理基础属性及纹理坐标:纹理与光照:只需要了解里面的理论部分就好了 二、给物体铺上外皮再复杂的物体都是由一个个三角形面片拼接而成的,仅考虑其中一个三角形面片,若要将纹理“铺”在这个三角形面上,那么只需要在纹理中确定三个点(纹理坐标)对应三角形面片的三个顶点“贴”上
[url]http://orientalocean.blog.51cto.com/5612/23028[/url]     [url]http://59099.blog.51cto.com/49099/33337[/url]     [url]http://cisco.blog.51cto.com/blog.php?uid=26151&m
转载 2007-08-22 19:29:20
700阅读
### 什么是 JavaClose JavaClose 是一个基于 Java 的开源项目,主要用于简化 Java 应用的关闭过程。在许多 Java 应用中,特别是服务器应用,关闭操作显得尤为重要。它不仅应确保正常地释放资源,还需要优雅地处理异步操作和用户的输入。因此,如何正确管理 Java 的关闭操作,成为了每个开发者需要面对的挑战。 ### 流程说明 在进行 JavaClose 的实现时,
原创 8月前
25阅读
 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数。   my.ini分为两块:Client Section和Server Section。   Client Section用来配置MySQL客户端参数。   要查看配置参数可以用下面的命令: show v
要实现“mysql三目录表”,我们首先需要理解这一数据结构的意义与应用。在许多项目中,尤其是内容管理系统(CMS)或文件系统中,需要以层级结构管理数据,三目录只是其中的一种表现。 ### 问题背景 在实际开发中,如何实现一个支持三目录的MySQL表结构,能够有效存储多层次的目录信息,以便进行更高效的数据查询和管理成为一个提前定义清晰结构的必要条件。 - **现象描述** - 需求提
原创 7月前
6阅读
实现方法如何实现从一个“源纹理”创建出想要的某大小某个格式的新的Texture呢?实现的方法有以下几个方法:方法1:Texture2D.GetPixels + Texture2D .SetPixels = 新纹理先创建一个目标大小和格式的纹理;首先使用Texture2D .GetPixels方法获取到源纹理的像素颜色副本的数组;然后对新建的纹理使用Texture2D .SetPixels方法进行赋
转载 2024-03-22 21:10:22
90阅读
在上一节中已经提到了预览,预览可以通过data: URL格式或URL对象。 var file = upload.files[0]; //URL对象 var url = URL.createObjectURL(file); var img = new Image(); img.style.width = '100%'; img.src = url; img.onload = function(e)
在我们工作中,Word是我们经常使用的工具,有时候会写一些重要的文件,可是又担心别人乱改,那么该如何保护文档呢?毕竟文档保护是职场中的一项常规操作,今天就来教大家如何将Word文件,变为只可以给别人看,但不可以编辑的方法。 一、限制编辑1.首先将Word文档给打开,点击【开发工具】-【限制编辑】,然后在右侧勾选【格式化限制】和【限制编辑】,选择【不允许任何更改(只读)】。
1.LOD的概念LOD的全称是Level Of Detail,多层次细节。其工作原理很简单,其实就是同一个模型按照不同精度多做几份,然后根据摄像机的远近来选择渲染哪一个模型;摄像机距离近时用精度高的模型,距离远时用精度低的模型,距离更远时直接不渲染这个模型了。和贴图的Mip Map类似,仍然是用空间换时间。2.Unity中如何使用LOD2.1 项目准备温馨提示:本文的素材和项目文末有链接哟。 在3
转载 2024-03-06 10:43:12
383阅读
这边文章会按照阴影实现的原理一步一步去解释每一步的代码和实现这篇文章使用的是常规的阴影贴图的原理实现,原理很简单,就是在光源的位置假设一个摄像机我们叫做L,然后用L摄像机把照射物体A的深度值存储到一个深度贴图里面,我们正常渲染场景的摄像机叫做E,我们把E照射的物体P点,转换光源空间,然后对比两个点的深度值,就知道p点是否有阴影。 1 如图我们先建立一个简单的场景然后在光源下面建立一个摄
  • 1
  • 2
  • 3
  • 4
  • 5