unity3d怎么导入图片 - CSDN
  • unity3d导入贴图和模型

    千次阅读 2013-05-23 09:07:39
    unity3d导入贴图和模型 Unity资源导入: 对于游戏中资源导入可以导入图片,网格等。Project面板右键—〉import new asset 图片: 导入图片后再Project面板选中,会在Inspector面板出现其属性设置。 说说几个...

    unity3d导入贴图和模型

    Unity资源导入:

    对于游戏中资源导入可以导入图片,网格等。Project面板右键—〉import new asset

    图片:

    导入图片后再Project面板选中,会在Inspector面板出现其属性设置。

    说说几个重要的:

    TextureType:贴图类型,这会影响选择类型贴图时候有限选择。

    AlphafromGrayscal:使用灰度创建Alpha,当需要unity为贴图创建一条alpha通道,使用它转换得到的灰度值来渲染透明度,可以开启它。

    WrapMode:所谓的包裹模式,决定贴图会无限次平铺还是只会一次。Repeat就是重复平铺。Clamp会让贴图的边缘拉升并在改变大小时候填满任何缝隙。

    FilterMode:所谓的图像过滤模式,在拉伸时候对贴图过滤,比如[Point]点过滤,在很近看贴图时候,可能感觉不均。Bilinear它会时近看贴图显得模糊。Trilinear它会在不同mipmap层次之间模糊。

    AnisoLevel:设置各项异性过滤器的级别,同属的可以理解为当你从一个比较陡的角度来看,贴图现实的可以有多细腻,渲染的等级越高,越占内存。

    想要确定贴图页面会占用多大内存,可以长X宽,再乘以他的位深度[bpp,每像素位数],如果贴图包含mipmap,还需要扩大1.33倍。Unity3D教程手册

    网格:

    网格就是那些Maya ,C4D,3DSMAX,C3D,LW等软件导出的文件。比如导入一个.fbx文件。选中后,在Inspector面板中。看到居多属性。慢慢解释吧。

    ScaleFactor:缩放系数,使用这个属性在导入资源后设置其大小,调整资源在场景现实过大,或者过小的问题。

    MeshCompression:网格压缩的比例[Off,Low,Medium,High]不可否认,压缩时可以节约内存的。

    OptimizeMesh:为提高GPU性能记录网格顶点和索引。

    GenerateColliders:是否在场景中让网格对象具有碰状体表现,通俗的说就是实心的,不可以穿体而过。

    SwapUVs:交换UV,当你导入一个网格对象时候,着色器可能会使用错误的UV通道,若果发现资源异常[比如带光照图时候],选中这个复选框。Unity3D教程手册

    Generate Lightmap UVs:为UV2生成光照贴图。

    Normals&Tangents:

    该项设置计算法线切线

    Normals:计算法线,import表示使用导入的网格法线,Calculate表示从新计算网格法线。

    Tangents:计算切线,import表示使用导入的网格切线,Calulate表示从新计算切线。

    Smoothing angle:法线平滑角度,告诉引擎在角度值为多少时候吧一个边缘视为硬边缘。

    Split Tangents:是否分离切线,如果模型在场景渲染后现实UV缝隙,要开启它。

    Materials:

    Import Materials:是否导入材质,默认选中。

    Material Naming:材质名字生成模式。请自便。

    Material Search:材质搜索方案。请自便。

    大量对象选择分组和控制:

    往往有一群对象需要整体移动。常见方法有2种。

    1.创建一个空的游戏对象,放在[0,0,0]处,再把所有对象作为该对象子对象。随后选择该对象进行位移,就可以控制整体群组的位移。

    2.使用选择分组。选中场景中几个物体,进入EditàSaveSelection1.此时取消场景中被选中的后,再次进入EditàLoadSelection1 此时刚才被选中保持的对象这时候又被全部选中了。

    展开全文
  • unity添加背景图片

    万次阅读 热门讨论 2018-01-16 16:54:19
    步骤 1.新建一个scene,命名为任意。 2.在Hierarchy中创建一个新的camera,命名为Background Camera。 3.Create Empty,然后在Inspector,...4.在Hierachy面板中选择Background Image,并将你准备的背景图片添加

    步骤

    1.新建一个scene,命名为任意。


    2.在Hierarchy中创建一个新的camera,命名为Background Camera。


    3.Create Empty,然后在Inspector,点击Add Component--Rendering--GUI-Texture。


    4.在Hierachy面板中选择Background Image,并将你准备的背景图片添加给它(先将背景图片拖放到Assets中,再从Assets中拖到Texture中),在Pixel Inset面板中设定X,Y,Width与Height值,使其可以适当的填充界面。

                                                           


    5.将应放到背景图片之上的gameObject的layer值设置成之前添加的Background Image.


    6.现在在Hierarchy面板中选择Background Camera,并在Inspector面板中做如下的调整。

    A. 取消选择除GUILayer以外的 Flare Layer与Audio Listener
    B.      将Clear Flags设置为Solid Color
    C.      设置Depth的值为-1 
    D.      设置Culling Mask,第一步选Nothing然后选择Background Image,最终设置好的情况如下:


    7. 现在选择另外一个Camera(默认是Main Camera),在Inspector面板中进行如下设置:
    A. 将Clear Flags设置为“Depth Only”
    B. 设置Culling Mask,取消选择“Background Image”。


    最后,背景图片就添加好了!



    展开全文
  • 根据需求,将导入的资源转换为需要的类型。

    【需求】

      这几天做项目时,意识到要用到大量的UI素材,图片资源导入Unity时,其Texture Type属性默认为Texture,而UGUI系统需要的图片素材是Sprite类型,显然当有新的图片资源导入工程时要不断地修改类型再点个Apply按钮,相对来说还是比较麻烦的,怎样才能导入图片后直接设置图片类型为Sprite类型呢?

    【方案】

    方案一:

      Edit->Project Settings->Editor,将Default Behavior Mode设置成2D模式,这样拖入工程的图片会自动变换为Sprite类型。
    这里写图片描述


      方案一是不是跑题了哈哈哈哈。这的确是个可行的办法,尤其是只需要用到UGUI系统或者做2D产品的时候,直接将工程设置2D模式是最简单的办法。but。。。那么多类型呢,怎么可能只用到Sprite类型呢?显然上述的设置方法不够通用,甚至在做非纯2D项目时,来回切换编辑器模式显然很烦。那咋整?是时候写个编辑器脚本了!


    方案二:

      查了下相关API,发现了AssetPostprocessor类,官方API给出的解释由于亦泽英文太渣也没能太好的翻译,不过从大致意思和实际使用来看,这个类用于在资源导入之前与导入之后处理资源,(这里理解的可能不到位,也是第一次使用该类,如果偏差过大请留言或私信批评指正)该类有很多Message方法,关于图片资源处理里有如下两个方法:

    AssetPostprocessor.OnPostprocessTexture(Texture2D);
    AssetPostprocessor.OnPreprocessTexture();

      针对于本案例来说,不管用哪个方法都能实现同样的效果,但为了区分两个方法,亦泽还是尝试去理解API给出的说明和案例。大致区分是这样的:
      OnPostprocessTexture方法有Texture参数,其用来获取导入图片资源,可对图片属性进行处理,例如像素,色彩之类的处理,它执行在导入过程中(如果没理解错的话哈哈哈);
      OnPreprocessTexture方法没有参数,它用来处理图片在Unity被管理的属性,比如图片要在Unity当中要应用的Texture类型、Sprite类型,改变这样的类型其实没对图片本身属性做任何修改,只是底层用一些我们看不到的代码对资源进行了包装和处理,使其在Unity中显示为正确的样式(png图片只有改成Sprite类型才能正确的应用透明通道)它执行在资源导入之前,即它没法获取到资源,只是先把资源属性设置好,等图片来了直接给图片套上就好。

    实现代码如下:

    using UnityEngine;
    using UnityEditor;
    using UnityEngine.UI;
    using System.Collections;
    
    public class TranserToSprite : AssetPostprocessor {
    
        void OnPreprocessTexture()
        {
            //为需要转换为Sprite类型的图片名称中加如@sprite,用作匹配
            //当匹配到含有@sprite串时才转换图片类型
            if (assetImporter.assetPath.Contains("@sprite"))
            {
                //texImpoter是图片的Import Settings对象
                //AssetImporter是TextureImporter的基类
                TextureImporter texImpoter = assetImporter as TextureImporter;
                //TextureImporterType是结构体,包含所有Texture Type
                texImpoter.textureType = TextureImporterType.Sprite;
            }
        }
    }

    【猜想】

      对没找到名称属性和可以直接应用路径属性做如下猜想:
      1、没找到图片属性正好契合了对OnPreprocessTexture方法执行在导入资源之前的解读;
      2、那是如何获取资源路径的呢?猜想是当有资源要导入时,根据用户拖拽和资源名称,预先生成一个唯一路径,如果存在相同路径编辑器会为资源更改名称(这个倒是真的),这应该是导入资源时最先触发的事件,然后是OnPreprocessTexture方法,然后是OnPostprocessTexture方法。
      都是猜想,也不知道对不对,等之后有时间会好好研究一下。

    【参考资料】

    Unity-Script AssetPostprocessor

    展开全文
  • Unity导入图片失真-小结

    千次阅读 2014-01-24 14:27:11
    今天在做项目的时候发现导入图片居然失真了,无论如何修改图片的size都不管用,而且在unity图片的size被调整成了2*n次方幂。 (1)修改图片的size为图片实际尺寸的话将下图中的红色区域的值改过来就行了,当然...

    今天在做项目的时候发现导入的图片居然失真了,无论如何修改图片的size都不管用,而且在unity中图片的size被调整成了2*n次方。

    (1)修改图片的size为图片实际尺寸的话将下图中的红色区域的值改过来就行了,当然最后要Apply一下才有效:


    (2)要使图片不失真,可以选择修改图片的属性,修改如下图,最后同样要Apply一下:



    经过上述的修改图片size和图片失真解决后经过测试的确可以解决问题,图片恢复到1024*768了,看上去也没那么模糊了!O(∩_∩)O哈哈~

    展开全文
  • 前段时间做东西,需要可以在文件夹下面更改图片,达到运行后图片更改的效果,并且需要将读取到的图片转换成Sprite精灵使用.因为我要用到图片的填充效果.经过网上的学习,这里总结一下实现的方法和思路.以及实现代码1....
  • Unity3D导入图片资源

    千次阅读 2017-12-16 23:08:59
    随便上网找一张图片,找个Unity3d支持的格式,例如:.jpg格式 然后直接把图片拖动到Unity3d里面,可用一个文件保存这些图片资源,修改Texture Types为Sprite(2D and UI),下面Wrap Mode为Clamp即可。 可是,一般是...
  • 每次从电脑中导入图片Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI) 及设置 Packing Tag。对于需要打包为一个图集的图片,我们一般把它们放到一个文件夹中。 基于以上,我们可以让图片的 Packing ...
  • Unity3d 导入图片 自动修改Texture Type为Sprite 2D and UI 及设置 Packing
  • 在上一篇文章里 Unity3D - 你导入的资源,并不是Unity使用的资源 介绍过,Unity使用的资源是你无法直接操作的,那么对于图片资源,我们应该如何去处理和优化工作流程呢?图片资源的分类在Unity中,图片一般可以分为...
  • 每次从电脑中导入图片Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI) 及设置 Packing Tag。对于需要打包为一个图集的图片,我们一般把它们放到一个文件夹中。 基于以上,我们可以让图片的 Packing ...
  • Unity3d插入图片

    千次阅读 2014-09-28 15:22:56
    using UnityEngine;...using UnityEditor; public class Script1_1 : MonoBehaviour { //贴图 Texture2D texture; // Use this for initialization void Start () { //从project视图中记载资
  • 作者:shimmery 图片 Unity3D支持使用大部分位图格式作为图片素材,甚至包括带图层和...这是因为对于任何格式的图片素材,Unity3D导入时都会自动执行一个转换过程,如果面对的是非通用格式,则会调用相应的第...
  • Unity3D导入图片大小被改变

    千次阅读 2016-02-29 17:13:26
    图片导入unity时,texture type被设为Texture,图片大小会被自动压缩成2的n次方,导致图片变形。 解决方法:texture type改为Advanced,Non Power of 2 选择None 参考:...
  • Unity3D-自动裁剪图片

    千次阅读 2017-11-06 20:51:27
    使用Unity3D自带的图片裁剪功能,实现逐帧图片的裁剪。1.导入图片资源2.点击选中一张图片,右侧属性面板,SpriteMode选择Multiple这样就认为这张图片是由多张小图片组合而成的。3.点击SpriteEditor按钮,在弹出的...
  • Unity3D 批量图片资源导入设置

    千次阅读 2012-12-25 15:01:43
    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅  QQ群:【119706192】 本文链接地址: Unity3D 批量图片资源导入设置 using UnityEngine; using System.Collections; using UnityEditor; /// //...
  • 选择图片,把图片类型修改为sprite 创建一个空的GameObject,然后给他添加Sprite Renderer组件,或者直接添加一个2D Sprite对象 Sprite Renderer组件下的sprite属性选择第一步中的图片 2. Mesh方法 选择图片,吧图片...
  • 博主本来想自己写,有大大写的异常详细...在Unity3D中使用三维模型,主要依靠Mesh Filter组件载入多边形表面物体(polygon mesh),然后依靠Mesh Renderer组件将Mesh正确渲染出来。 内置基本3D模型 Unity3D内置有...
  • Unity3D中加载外部图片的两种方法

    万次阅读 多人点赞 2015-10-09 15:36:37
    喜欢我的博客请记住我的名字:秦元培,我的博客地址是:...  各位朋友大家好,我是秦元培,欢迎大家关注我的博客。最近在做项目的过程中遇到这样的一个需求:玩家可以在游戏过程中进行实时存档,在存档过程中
  • unity3d图片导入尺寸改变的原因

    千次阅读 2015-10-20 12:34:48
    unity3d图片资源在导入的时候会出现尺寸改变的原因,上图说话: 之前的Max Size设置成了1024,明显比1280小,所以u3d会自动的把超过的图片资源按照原先的尺寸成比例缩小,这就造成了图片资源跟原先的不一样。 ...
  • Unity3D中如何调用序列帧图片为动画

    万次阅读 2015-09-15 22:36:09
    环境:Unity4.6.2 Win7 64bit我这里一张图片就是一帧,不需要去把一张图片裁剪成几段。然后把这些png图片按顺序渲染。其实这样也可以用视频来代替,也可以有同样的效果。 实际操作其实是很简单的,先将图片导入...
1 2 3 4 5 ... 20
收藏数 5,565
精华内容 2,226
热门标签
关键字:

unity3d怎么导入图片