精华内容
下载资源
问答
  • mipmap of unity

    2019-09-28 22:33:05
    mipmap generation 0级不压缩 1级 4个合1个 在unity里面 明显开了 mipmapgenerate之后 level0变糊了 ================ 我查了资料 回忆了之前的项目,也找朋友确认过 level0就是不压缩的 应该是original 那么...

    遇到个奇怪的事情

    mipmap generation 0级不压缩 1级 4个合1个 

    在unity里面 明显开了 mipmapgenerate之后 level0变糊了

    ================

    我查了资料 回忆了之前的项目,也找朋友确认过 level0就是不压缩的 应该是original

    那么问题来了

    我开了个新项目 测了下没这个问题

    那就是。。配置

    在项目配置里 这里应用了half resolution。。。。。full就可以了

    这都是些什么tasks。。。

     

    ===========================================

    http://www.cnblogs.com/minggoddess/p/8857368.html

    =================================

    这个问题是因为 糊那次 的resolution缩小了很多 用了更高级别的 mipmap而不是0

     

    转载于:https://www.cnblogs.com/minggoddess/p/7842982.html

    展开全文
  • unitymipmap

    2018-07-21 18:22:14
    unitymipmap Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源 使用Mipmap后,贴图会根据摄像机距离的远近,选择使用不同精度的贴图。 缺点:会占用内存,因为...

    转:https://www.cnblogs.com/MrZivChu/p/mipmap.html

    unity之mipmap

    Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源

    使用Mipmap后,贴图会根据摄像机距离的远近,选择使用不同精度的贴图。

    缺点:会占用内存,因为mipmap会根据摄像机远近不同而生成对应的八个贴图,所以必然占内存!

    优点:会优化显存带宽,用来减少渲染,因为可以根据实际情况,会选择适合的贴图来渲染,距离摄像机越远,显示的贴图像素越低,反之,像素越高!

     

    MipMap可以用于跑酷类游戏,当角色靠近时,贴图清晰显示,否则模糊显示

    如果我们使用的贴图不需要这样效果的话,就一定要把Generate Mip Maps选项和Read/Write Enabled选项取消勾选!因为Mipmap会十分占内存!

    mipMap会让你的包占更大的容量!

     

    下面来看下怎么设置贴图的mipmap:

    设置贴图的Texture Type为Advanced类型 → 勾选Generate Mip Maps → Apply应用

    来看看贴图的变化,可以看出生成了对应的8个Mip

    那么贴图就会根据摄像机的远近,显示相应的贴图了!

    展开全文
  • Unity Custom Mipmap

    2020-02-03 18:26:21
    基于Github上Unity Custom Mipmap 工程 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; using System.Text.RegularExpressions; public ...

    基于Github上Unity Custom Mipmap 工程

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEditor;
    using System.IO;
    using System.Text.RegularExpressions;
    
    public class TestTextureIporter : AssetPostprocessor {
    	bool m_isReadable;
    	bool m_importing;
    
    	bool ShouldImportAsset(string path)
    	{
    		string pattern = GetMipmapFilenamePattern(path);
    		string mip1Path = string.Format(pattern, 1);
    		return File.Exists(mip1Path);
    	}
    	
    	string GetMipmapFilenamePattern(string path)
    	{
    		var filename = Path.GetFileName(path);
    		var filenameWithoutExtention = Path.GetFileNameWithoutExtension(path);
    		var extension = Path.GetExtension(path);
    		var directoryName = Path.GetDirectoryName(path);
    
    		return Path.Combine(directoryName, filenameWithoutExtention + ".mip{0}" + extension);
    	}
    
    	void OnPreprocessTexture()
    	{
    		string extension = Path.GetExtension(assetPath);
    		string filenameWithoutExtention = Path.GetFileNameWithoutExtension(assetPath);
    		var match = Regex.Match(filenameWithoutExtention, @".mip(\d)+$");
    
    		if(match.Success)
    		{
    			string filenameWithoutMip = filenameWithoutExtention.Substring(0, match.Index);
    			string directoryName = Path.GetDirectoryName(assetPath);
    			string mip0Path = Path.Combine(directoryName, filenameWithoutMip + extension);
    
    			TextureImporter importer = (TextureImporter)TextureImporter.GetAtPath(mip0Path);
    			if(importer != null)
    				importer.SaveAndReimport();
    		}
    
    		if (ShouldImportAsset(assetPath))
    		{
    			m_importing = true;
    
    			string pattern = GetMipmapFilenamePattern(assetPath);
    			int m = 1;
    
    			bool reimport = false;
    
    			while(true)
    			{
    				string mipPath = string.Format(pattern, m);
    				m++;
    
    				TextureImporter importer = (TextureImporter)TextureImporter.GetAtPath(mipPath);
    				if(importer != null)
    				{
    
    					if(!importer.mipmapEnabled || !importer.isReadable)
    					{
    						importer.mipmapEnabled = true;
    						importer.isReadable = true;
    						importer.SaveAndReimport();
    
    						reimport = true;
    					}
    					continue;
    				}
    				else
    				{
    					break;
    				}
    			}
    
    			if(reimport)
    			{
    				m_importing = false;
    				return;
    			}
    			TextureImporter textureImporter  = (TextureImporter)assetImporter;
    			m_isReadable = textureImporter.isReadable;
    			textureImporter.isReadable = true;
    		}
    	}
    
    	void OnPostprocessTexture(Texture2D texture)
    	{
    		if (m_importing)
    		{
    			string pattern = GetMipmapFilenamePattern(assetPath);
    
    			for (int m = 0; m < texture.mipmapCount; m++)
    			{
    				var mipmapTexture = AssetDatabase.LoadAssetAtPath<Texture2D>(string.Format(pattern, m));
    
    				if(mipmapTexture != null)
    				{
    					Color[] c = mipmapTexture.GetPixels(0);
    					texture.SetPixels(c, m);
    				}
    			}
    			
    			texture.Apply(false, !m_isReadable);
    			TextureImporter textureImporter  = (TextureImporter)assetImporter;
    			textureImporter.isReadable = m_isReadable;
    		}
    	}
    }
    

    Mipmap

    mipmap是为了处理在不同距离情况下,节约gpu计算资源的一种方法。在真实世界中,较远的物体反射到人眼睛中的光线占比越少,所需要的细节越少。因此在游戏中,我们不仅仅需要将远处的模型进行lod简化处理,还需要对贴图进行简化。这种处理方式就是mipmap
    mipmap是预处理阶段处理,因此只计算一次,但是同时会占用一定的内存。是用空间换时间的一种方法。
    如下图,
    在这里插入图片描述
    处理效果

    Custom Mipmap

    上图中是mipmap自定义的效果。由近到远为0,1,2,3。

    核心代码如下

    void OnPostprocessTexture(Texture2D texture)
    	{
            // 设置mipmap
    		if (m_importing)
    		{
    			string pattern = GetMipmapFilenamePattern(assetPath);
    
    			for (int m = 0; m < texture.mipmapCount; m++)
    			{
    				var mipmapTexture = AssetDatabase.LoadAssetAtPath<Texture2D>(string.Format(pattern, m));
    
    				if(mipmapTexture != null)
    				{
    					Color[] c = mipmapTexture.GetPixels(0);
                        // 通过setpixel来设置mipmap
    					texture.SetPixels(c, m);
    				}
    			}
    			
    			texture.Apply(false, !m_isReadable);
    			TextureImporter textureImporter  = (TextureImporter)assetImporter;
    			textureImporter.isReadable = m_isReadable;
    		}
    	}
    

    在unity的回调函数OnPostprocessTexture中,通过setpixel来设置了贴图所对应的mipmap像素。由此设置完毕。

    在窗口中,右上角为mipmap调节窗口,可以通过调整查看。

    展开全文
  • unity mipmap

    2019-09-28 22:33:32
    unity 开miapmap会糊很多 尤其在editor里面 我估计和editor的 tempRT resolution 957x380有关 -----确实是这样 手机上糊的程度低很多 中间rt我用的1920x1080 http://www.ceeger.com/forum/read.php?tid=13151 ...

    unity 开miapmap会糊很多

    尤其在editor里面 我估计和editor的 tempRT resolution 957x380有关 -----确实是这样

    手机上糊的程度低很多 中间rt我用的1920x1080

     

    http://www.ceeger.com/forum/read.php?tid=13151

    就是这个人反映的状况  

    在pc上测试下来 开mipmap糊很多就是因为中间 rt太小(960x480) 导致minification 导致mipmap 用了更高level 

    free aspect会导致rt很小用 frame debugger能抓到这个数据

     

    unity 的mipmap没毛病 你可以把rt改成3040x2160试试

    转载于:https://www.cnblogs.com/minggoddess/p/8857368.html

    展开全文
  • Unity中关于 Mipmap

    万次阅读 多人点赞 2019-06-09 15:21:04
    关于什么是Mipmap, 百科都有~ ...为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为 MIP map 或者 mipmap。这个技术在三维游戏中被非常广泛...
  • Unity3D mipmap

    2020-11-04 10:59:44
    5.1 Mipmap和过滤 当纹理的像素(texels)与投影到的像素不完全匹配的时候,会发生什么?这会造成一定的不匹配,这必须以某种方式解决。 这就是通过过滤模式索要控制的内容。 最直接的过滤模式是点模式(无...
  • unity 显示mipmaplevel

    2019-09-28 22:34:10
    显示mipmaplevel 需要贴图可读写不压缩 using UnityEngine; using System.Collections;public class ExampleClass : MonoBehaviour { void...
  • 首先,没弄懂 这个东西是否带来了性能上的提升... 通常Unity会加载存储在磁盘上的所有mipmap级别,但是使用此系统,您可以直接控制加载哪些mipmap级别。 通常,这样的系统通过仅加载渲染场景中当前相机位置所需的...
  • Unity 3D - MipMap

    千次阅读 2016-07-20 09:17:43
    Unity 3D - MipMap : 类似LOD的渲染优化技术 . 作用 : 优化渲染 , 提高游戏流畅度 , 根据摄像机距离模型的远近而调整不同的不同质量的贴图显示 . 优点 : 减少渲染消耗 , 提高帧数. 缺点 : 占用内存...
  • Unity中的MipMap与LOD

    2020-02-19 16:43:28
        mipmap针对的是纹理贴图,大白话就是,一个模型身上会有贴图,当我们对这个贴图使用了MipMap技术之后,那么在游戏运行中这个模型的贴图会根据摄像机距离模型的远近而调整不同的不同质量的贴图显示。...
  • Unity学习-优化_MipMap

    2019-04-17 20:55:00
    上次看了下LOD,后来发现下面还有一篇介绍mipMap的文章,也跟着看了下 在概念上mipMap和LOD的优化出发点一样,都是基于摄像机距离物体的远近来优化的 不过MipMap上面没有LOD的3个层级设置了,而是在Texture里面...
  • Unity优化技术--UI优化之Mipmap

    千次阅读 2018-06-01 10:31:21
    Mipmap技术有点类似于LOD技术,但是不同的是,LOD针对的是模型资源,而Mipmap针对的纹理贴图资源 使用Mipmap后,贴图会根据摄像机距离的远近,选择使用不同精度的贴图。 缺点:会占用内存,因为mipmap会根据摄像机...
  • 今天给大家提供一个自动去掉图片mipmap勾选的小工具。对于UI贴图来说,我们不必应用mipmap,因为一般的UI都是“平铺”在正交摄像机视口的,和摄像机木有距离这一概念,所以我们大可以把UI贴图的mipmap选项去掉,以...
  • public class TestEditor : MonoBehaviour { ... [MenuItem("LTEditor/图片去除mipmap")] static void TestMenu() { List<string> filePaths = new List<string>(); if (Selection.
  • 在游戏开发的后期, 最头疼的时候莫过于优化游戏性能, 这其中对于加载资源时消耗的优化,用的最多的莫过于MipMap以及LOD。今天我们就来详细介绍下MipMap 原理 MipMap(mipmapping)多级渐远纹理技术,又被称为...
  • 图片尺寸及mipmap使用的检查 详细功能: 在Assets文件夹下查找出所有的...1. 在Unity中,所支持的图片后缀大体有4种(.BMP|.JPG|.GIF|.PNG),以这4种后缀为准。 2. 在Assets文件夹下寻找所有带有这4中后缀的资...
  • GPU发热的元凶之一“带宽” 所以通常我们都会打开mipmap,如下图所示,在unity中可以拖动右上角的条来查看贴图每个等级的mipmap贴图。那么它的等级一共分成0级-9级, 0级表示最清楚,9级表示最模糊。 贴图分辨率是...
  • Unity知识点》 ##《Unity知识点》发布说明: ++++这是立钻哥哥对Unity知识点的一个梳理和拓展,打造最权威的参考。 ++++这里我们碰到了一个问题,那就是从什么地方入手比较合适,作为这个问题,通常立钻哥哥就...
  • 今天给大家提供一个自动去掉图片mipmap勾选的小工具的制作方法。 大家对Lod应该都有所了解,其原理是根据摄像机和模型之间不同距离(准确地讲,应该是模型所占摄像机视口的比例,距离越远比例越小,反之越大)而...
  • 光源类型有point Light,spot Light,direction Light,area Light,但是经常会看到一种光叫 indirection Light (间接光),在我理解看到,间接光其实就是光遇到物体后能发生反射效果,在unity中的光默认都不为间接光。...
  • Unity中的Miamap

    2020-01-08 19:26:30
    这里有一篇大佬介绍mipmap以及unity中一些mipmap使用技巧的博文Unity中关于 Mipmap但是介绍不够详细, 关于unity中内置的一些mipmap面板上的功能并没有介绍,虽然这些可以通过看unity官方文档学习,但是我在这还是要...
  • MipMap与LOD是何物?

    万次阅读 2017-01-09 23:54:07
    Unity知识—Mipmap是何物?
  • shader-纹理处理-mipmap

    2020-03-31 14:25:20
    unity中大概多占33%的内存)。每一个层级的小图都是主图按一定比列缩小细节的复制图。当图片被缩小或远离摄像机时,会切换早适合的mipmap层级。mipmap图片是经过缩小后的图片,读取的像素值远小于原图片,同时已.....
  • Unity 2018.2之粒子

    2019-01-27 23:31:23
    Unity 2018.2中,我们根据需要向内存添加了纹理Mipmap流支持,启用此功能可以减少Unity应用的纹理内存要求。 1 如何运行 启用此系统后,Unity将仅在网格靠近已激活的摄像机时,加载更高分辨率的纹Mipmap。高分辨率...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 141
精华内容 56
关键字:

mipmapunity