做网站平台需要多少钱,惠州seo推广优化,修改wordpress 的权限,wordpress 插件 简码一.凹凸偏移和视差映射
1.偏移映射
这需要一个高度图并且它的分辨率很低#xff0c;只有256*256#xff0c;事实上#xff0c;如果高度图的分辨率比较低并且有点模糊#xff0c;效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中#xff0c; 之后利用得到…一.凹凸偏移和视差映射
1.偏移映射
这需要一个高度图并且它的分辨率很低只有256*256事实上如果高度图的分辨率比较低并且有点模糊效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中 之后利用得到的UV进行贴图采样。现在移动摄像机的时候有一些视差移动表面看起来不是平的纹理坐标正在根据我的视角在移动。
下面是分别使用两种方法效果的对比后者看起来更有起伏感 2.视差遮挡映射
这个方法更加消耗性能但是效果也更好。
这里的Texture Obkect这个节点是告诉它我想用什么纹理但是并没有采样而Texxture Sample节点是对这个纹理进行了采样。因为纹理采样实际上在ParallaxOcclusionMapping节点中发生了多次所以选择用Texture object。事实上它会在场景中进行光追并且测算光线会碰到物体的什么位置并且进行多个光线采样用于计算表面的最佳形状。HeighrMapChannel 表示用纹理的哪个通道因为这是灰度图所以哪个通道并不重要给的值是R通道HigRatio表示突起的高度离表面有多远另外minsteps和maxsteps分别决定了我竖直向下看和水平看的采样次数。HIghRatio越大应该给更多的采样次数来保证形状的完好。采样越多就会越消耗性能但总的来说这非常节省性能了。
、即使视角很低也可以看到明显的凹凸效果 二.纹理压缩设置
首先在引擎中查看一个纹理。右上角会出现一个细节面板。
第一个已导入表示导入纹理时的大小也就是原始纹理的大小。下面两项表示引擎或者游戏中显示的纹理的大小再下面一项表示纹理所使用的内存数量所以在当前的压缩设置下我的2k纹理占用2m多一些。然后一项表示纹理没有alpha通道。已动态载入表示当角色在游戏中移动时如果带有这种纹理的物体靠近角色。该纹理将被动态加载并流送进纹理流送池。如果该物体离屏幕足够远或者在屏幕之外那么纹理将从内存中流出或移除这是管理内存的最有效方式。下一项内容是正在使用的纹理压缩格式。当你将一个纹理导入虚幻引擎的时候它会创建一个Mipmap链例如导入一个2k的纹理还会自动创建1k512256等等的纹理副本然后每一个副本成为Mip使用哪一种Mip等级来采样它取决于看物体时相机的距离或者取决于你观看物体的视角 然后是下面的compression。
第一个表示是否要忽略Alpha通道如果纹理并没有Alpha通道那么应该勾选这个选项。
然后是compression settingsDXT1是你可以使用的最有效的压缩设置如果一个四个通道的纹理一个未压缩的图像在内存中的大小将是压缩后的大小的8倍因此DXT1的压缩比是81它通过将纹理分割成4*4的像素块来进行压缩然后存储其中的两个的完整的值就像16个像素块中最极端的两个然后所有其他像素都沿着一个像素和另一个像素之间的直线进行映射
如果是将法线贴图进行压缩最好是使用DXT5它的压缩比是41它将会应用一些特定的压缩设置来让法线贴图看起来尽量好 下面是我们之前使用的一个Mask贴图它的RGBA分别代表了ASMR。它的大小是5m左右大约是漫反射纹理的两倍这是因为它是四通道的纹理并且使用DXT5进行压缩所以一半的数据进入RGB一半的数据进入Alpha通道也就是说Alpha通道在所有数据中是压缩的最少的所以我们的重要数据更应该存储在Alpha通道中。
在使用DXT5格式进行压缩时纹理的存储方式会影响数据的分配和压缩效率。DXT5采用的是一种块压缩技术每个4x4的像素块被压缩成一个固定大小的字节。具体来说DXT5格式的压缩结构包括 RGB部分每个块首先存储了两个RGB颜色用来定义颜色渐变接着是一个颜色索引表用于存储每个像素的颜色索引这样可以有效地表示多达16种颜色。 Alpha通道DXT5格式的Alpha通道是单独处理的它允许每个像素有8位的透明度信息。这意味着在一个4x4的像素块中可以存储更精细的透明度变化。
由于DXT5的设计Alpha通道的存储空间相对较小8位而RGB部分的存储空间每个像素3个通道在整体数据中占据了更大的比重。所以在一些场景中为了优化压缩后的纹理效果重要的数据信息可能更适合放在Alpha通道中尤其是在需要精确控制透明度或使用遮罩效果时。 下面没有勾选SRGB这意味这该数据被视为线性的这里没有应用伽马校正事实上你唯一需要开启这个选项的就是基础颜色的漫反射纹理 下面是一张高度图 当我们将纹理放大以后就会发现很多地方都失真了 但是只要我们将压缩设置设置为GrayScaleR8就会发现所有的失真都不见了它存储了未压缩的单个通道而且纹理的大小只是变大了一倍但是这仍然很小。所以如果有一个单一通道的纹理并且纹理的尺寸不是很大那么可以考虑使用这种压缩方式 然后是Alpha这回忽略掉RGB通道的内容而只能使用Alpha通道的内容。
BC7是一种新的纹理格式只适用于DX11或者更高这是一种更高质量的纹理格式不过尺寸更大一些它可以同时支持3个或者4个通道并且总是41的压缩如果你不介意它的大小是DXT1的两倍又需要更高的质量那么BC7就是你想选的