Unity Sprite转Prefab】的更多相关文章

新项目使用Unity5.X,遇到了一些问题,其中就有Sprite的管理更新问题,查了一些资料,Mono推荐的是转为Prefab处理. 看了一些国外同行的处理方法,分析了一个编辑器插件脚本.学到了一些技巧,使用的话依然放在Editor目录下.总结在这里吧: using UnityEngine; using UnityEditor; using System.Collections; using System.Linq; public class SpriteToPrefab { /// <summ…
这次需要将美术提供的Sprite图集切割导出,整体思路依然和上次的Sprite转prefab一致,只是在转prefab的逻辑修改为了创建Texture的逻辑. 过程很简单,直接看最终代码结果: using System.IO; using UnityEngine; using UnityEditor; using System.Linq; public class SpriteToSplit { /// <summary> /// 切割Sprite导出单个对象 /// </summary…
学习了一段时间的unity,对里面的组件有一个大致的了解,但是具体操作来说还不是很熟悉,今天看了一片关于unity sprite怎么获取切割后的图的文章,感觉还不错. 假设有一张png/tga图集,导入到Unity,放置目录"Assets/Resources/UI"(UI文件夹可替换成其他的,重要的是要在"Assets/Resources/"路径下),默认为如下设置: 为了可以使用Unity自带的精灵切割,要将纹理类型改成"Sprite",&qu…
一, Sprite Packer 可以直接在unity里放碎图,只要将Texture Type选为Sprite(2D and UI),Sprite Mode选为Single,再把想打在一张大图里的碎图指定为相同的Packing Tag,将来就会自动合并了. 如果想预览,可以打开菜单->Window->Sprite Packer,在View atlas里选择相应的packing tag,然后点Pack,查看pack效果. 为了解决使用Sprite Packer后图片质量变低的问题,可以将Gene…
介绍 今天突发奇想用了下sprite packer 这个功能,基本用法网上教程一堆一堆的,这里就不赘述了. 在使用sprite packer过程中遇到一些问题,然后各种百度不到答案,最后和谐上网找到了答案,考虑到最近墙的严重,share一下找到的答案 sprite packer按钮灰显 这是因为unity editor木有开启sprite packer 这个功能. 这个只有老版本的unity才会有这个问题,现在新版本的unity(譬如我用的5.0)都是默认打开的 具体设置方法是: Edit->P…
在父Prefab中嵌套子Prefab,那么如果对这个嵌套Prefab进行修改,改变将不会应用到子Prefab中:同理,对子Prefab的修改,也不会应用到这个嵌套Prefab中.因此,就会出现一些问题,例如子Prefab已经是最新的了,但是嵌套Prefab却是旧的.在unity2018.3中,已经有新功能来处理嵌套Prefab的问题了,但是之前的版本还是得要处理这个问题. 1.替换Prefab 如图,Button是父Prefab,RawImage是子Prefab,Button下的RawImage…
在项目中有时会遇到批量生成Prefab的需求.于是写了一个编辑器,用来实现此功能. 在Hierarchy面板中选中多个GameObject,点击生成Prefab即可. 如果所选物体中包含自定义Mesh,需要先在指定目录生成Obj,再将Obj包含的网格赋值给新生成的Prefab. 编辑器脚本如下: using UnityEngine; using UnityEditor; using System.Collections; using System.IO; /// <summary> /// C…
http://forum.unity3d.com/threads/2d-sprite-packer-and-pvrtc.218633/ http://docs.unity3d.com/Manual/SpritePacker.html http://docs.unity3d.com/Manual/class-TextureImporter.html http://docs.unity3d.com/ScriptReference/Sprites.AtlasSettings-compressionQu…
在之前的程序编写过程中,虽然对相关的方法进行了实例化,但是在运行的时候总是会出现“未将对象引用设置到对象的实例”,出现该种问题的原因是由于在实例化后,没有对实例化进行引用赋值,所以导致相关变量无法在其他方法中进行读取,以后需对此谨记. 同时之前浏览过一片大神写过的关于unity相关技巧的文章,笔者觉得受益匪浅,现将链接与原文转载于下,希望可以帮助大家. 使用Unity3D的50个技巧:Unity3D最佳实践 作者:房燕良 关于这些技巧 这些技巧不可能适用于每个项目. 这些是基于我的一些项目经验,…
Unity5.3更新了assetbundle的打包和加载api,下面简单介绍使用方法及示例代码. 在Unity中选中一个prefab查看Inspector窗口,有两个位置可以进行assetbundle的标记. 第一个为assetBundleName,如果这里不是None,则这个资源会记录到AssetDatabase里,使用BuildAssetBundles打包时,会自动将AssetBundleName一致的资源打到一个包中. 第二个为Variant,可用于区分不同分辨率的资源.如果在abName…
刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址: http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ 关于这些技巧 这些技巧不可能适用于每个项目. 这些是基于我的一些项目经验,项目团队的规模从3人到20人不等: 框架结构的可重用性.清晰程度是有代价的——团队的规模和项目的规模决…
最近在做UI部分中遇到了这样的问题,就是Prefab里面预制了Prefab.可是在Unity里面一旦Prefab预制了Prefab那么内部的Prefab就失去关联.导致与如果要改内部的Prefab需要把所有引用的地方全部改一遍.今天在逛国外网站看到了一个老外的思路,原文在这里 http://framebunker.com/blog/poor-mans-nested-prefabs/下面直接上代码   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19…
本文将从Unity编辑器和运行时两个角度出发,主要探讨以下两方面内容:Unity序列化系统内部细节以及Unity如何维护不同对象之间的强引用.另外还会讨论对象与资源的技术实现差别. 译注:除非特别说明,下文中所有的"资源"均指代"Asset". 本文内容是理解在Unity中如何高效加载和卸载资源的基础.正确的资源管理对缩短加载时间并减少内存占用来说至关重要.之前已经介绍了 上半部分,今天继续为大家分享下半部分内容. 1.5. 序列化和实例 实例ID 尽管文件GUID…
转自http://www.xuanyusong.com/archives/3042 最近在做UI部分中遇到了这样的问题,就是Prefab里面预制了Prefab.可是在Unity里面一旦Prefab预制了Prefab那么内部的Prefab就失去关联.导致与如果要改内部的Prefab需要把所有引用的地方全部改一遍.今天在逛国外网站看到了一个老外的思路,原文在这里 http://framebunker.com/blog/poor-mans-nested-prefabs/下面直接上代码   1 2 3…
Unity研究院之Prefab和GameObject的正向和逆向查找引用 我发现很多美工兄弟都爱问程序Unity3d为什么总丢材质? 我不排除U3d有BUG的情况下会丢材质?但是其实很多时候是人为操作而引起的. 1.不保存就在上传 这个操作太恐怖了,切记!!在 U3D里面你无论操作了什么,当你要上传svn的时候一定要先保存场景,Ctrl+S 切记切记!!如果不保存就上传很有可能就会丢材质. 2.我的电脑明明没事,怎么你哪里就丢材质? 我发现一个很有意思的现象,每次走到美术电脑前看它的svn工程时…
  AS3 UNITY Sprite a = new Sprite(); trace(a.paent); 此时a.parent为null,还未AddChild到屏幕上, 一般用这个来判断在不在屏幕上 GameObject a = new GameObject(); print(a.transform.parent); 此时为null,证明和屏幕的Root元素平级, 此时已在屏幕上(在不在摄像机视野内另算) UNITY只要new出来就在屏幕上了 super 调用父类的方法  base Functi…
说明:这是一系列循序渐进的教程,今天先介绍最简单的AssetBundle打包方式. 这是一个由在Unity中需要加载模型而引发出来的一系列坑,为了填坑花了不少时间,如果有需要在Unity中自定义菜单,或者创建窗口,扩展编辑器,特别是有需要打包AssetBundle包的筒子们,请看过来←_← 在Unity中载入模型最简单的方式是直接将模型文件放到工程目录下,然后拖进场景中.但是如果我们需要在程序运行时将网络或任意目录下的模型加载到场景中,那么我们只能自己编写解析模型文件的脚本.因为Unity并没有…
最近造了个轮子可以批量替换prefab里的prefab,欢迎大家测试-  https://bitbucket.org/xuanyusong/prefab-replace 最近在做UI部分中遇到了这样的问题,就是Prefab里面预制了Prefab.可是在Unity里面一旦Prefab预制了Prefab那么内部的Prefab就失去关联.导致与如果要改内部的Prefab需要把所有引用的地方全部改一遍.今天在逛国外网站看到了一个老外的思路,原文在这里 http://framebunker.com/blo…
大家知道在Unity里做UI,利用Prefab是少不了的,但是在UE4里如何做呢? 这是实际工作中遇到的问题,我Google关键词“UMG Prefab","UMG resuable”,没发现相关的话题,就自己研究了一下,发现其实UMG里是可以把一部分UI做成"Prefab"的. 大家都知道UMG里可以插入其他Widget的,基本上每个讲到UMG的教程都会提到,但是讲的用法都很鸡肋,没人讲过UMG嵌入其他Widget的应用场景本来就应该是当作类似Unity里的Pre…
使用Unity3D的50个技巧 刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/,下面是译文. 转载自:燕良@游戏开发:http://blog.csdn.net/neil3d/article/details/38534809.…
翻译故事 原文:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ 这篇技巧,我自己也在翻译,不过翻译到一半在CSDN上已看到有小伙伴翻译完了. 所以就直接转载啦,转载自:http://blog.csdn.net/neil3d/article/details/38534809 关于这些技巧 这些技巧不可能适用于每个项目. 这些是基于我的一些项目经验,项目团队的规模从3人到20人不等: 框架结…
基本情况:熟悉NGUI  没接触过UGUI 目标:熟练掌握UGUI,并用在实际项目中 一 在网上寻找视频教程,快速了解UGUI http://www.taikr.com/course/89 不错的视频,用来做入门不错 二 在宣雨松的UGUI栏目中各种文章,在实际项目中会有相当大的参考性 http://www.xuanyusong.com/archives/category/unity/%E3%80%90ugui%E7%A0%94%E7%A9%B6%E9%99%A2%E3%80%91 ------…
转自:http://www.tuicool.com/articles/buMz63I  刚开始学习unity3d时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址:  http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/  ,下面是译文.(作者:燕良@游戏开发.) 关于这些技巧 这些技巧不可能适用于每个项目…
关于这些技巧这些技巧不可能适用于每一个项目. 这些是基于我的一些项目经验.项目团队的规模从3人到20人不等. 框架结构的可重用性.清晰程度是有代价的--团队的规模和项目的规模决定你要在这个上面付出多少: 非常多技巧是品味的问题(这里所列的全部技巧.可能有相同好的技术替代方案): 一些技巧可能是对传统的Unity开发的一个冲击.比如,使用prefab替代对象实例并非一个传统的Unity风格,而且这样做的代价还挺高的(须要非常多的preffab).或许这些看起来有些疯狂,可是在我看来是值得的. [流…
首先 下载一个DLL文件,名字:System.Windows.Forms. 然后把这个文件放在资源目录,位置随便. 接着上代码 : using System.IO; using UnityEditor; using UnityEngine; using System.Windows.Forms; public class SpriteToPrefabs : MonoBehaviour { static private string OpenPath()//选择路径 { string path =…
<Inside UE4>-1-基础概念   InsideUE4   创建测试项目 接上文的准备工作,双击生成的UE4Editor.exe,选择创建测试C++空项目Hello(以后的源码分析都会基于该最简单的项目)   项目文件结构 VS项目和文件目录: 可以看到,Config目录里带着3个最主要的配置,Editor,Engine,Game.代码方面自动生成了用于编译系统的3个.cs文件,C++代码方面生成了一个Hello "Game Module",和HelloGameMo…
最近在开发一款功夫猫游戏,本来使用Unity Sprite制作,但是发现Sprite对各种分辨率不支持. 看着游戏很简单就使用UGUI制作,在中途发现有很多帧动画播放,使用了Animation调整使用多了的确很不方便. 于是改成脚本来控制Sprite帧动画切换,慢慢开始形成了写一个插件来调整. 写了两个通宵终于搞定了. O(∩_∩)O~ 效果图: 代码: 组件类: using UnityEngine; using System.Collections; using System.Collecti…
聊聊Unity3d动态加载场景物件那些事儿. 众所周知,在策划或美术设计完游戏场景地图后,一个场景中可能会存在成千上万个小的物件,比如石头,木箱子,油桶,栅栏等等等等,这些物件并不是游戏中的道具,仅仅只是为了点缀场景,让画面更丰富,当然也可以被打碎之类的.那么基于手机平台内存等限制,如果我们在场景加载时就把所有的物件都加载进去,就会导致几个问题:1.游戏场景进入过慢,因为要加载完所有物件,2.游戏手机可能内存不够,直接崩溃,没办法,你加载的物件实在是太多了.而且更重要的是我们没必要都加载进去这些…
使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Networking做一个简单的多人游戏例子-3/3 上一篇中血条还没有同步到所有客户端,下面添加血条同步.主要用到[SyncVar]同步变量. 13. 网络同步血条 打开Health脚本 添加命名空间UnityEngine.Networking using UnityEngine.Networking;…
1.       [C#语言基础]请简述拆箱和装箱. 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程. 1.在堆中开辟内存空间. 2.将值类型的数据复制到堆中. 3.返回堆中新分配对象的地址. 拆箱操作: object类型显示转换为值类型或从接口类型到实现该接口值类型的过程. 1.判断给定类型是否是装箱时的类型. 2.返回已装箱实例中属于原值类型字段的地址. 2.        [.NET(C#)] attribute,property,markup,ta…