今天遇到了一个Bug,因为调用Resources.FindObjectsOfTypeAll<T>()遍历整个场景,结果遍历出的对象不对.比较哈希一查果然是两个.原来prefab本身和prefab生成对象都在场景里. 那么如何区别是不是prefab,官方论坛没有比较好的解释LINK 我采用的方法是用放到某个层级下,而不是根目录…
resources rename文件 '.'不表示下级目录 只是作为一个字符 第一个com.uniubi.dao 是一层层创的.第二个是直接用idea 创的如下图. maven 打包后如下所示. ps: scr 目录下用idea rename创文件夹.表示下级目录.…
4月15到4月17我都在把毕设从eclipse重构到IDEA中,springboot最让我头疼的是它的版本问题,因为每一个版本对应的依赖包都有可能出错,这里分享一下如何成功移植用eclipse写的springboot到IDEA中,比较简单的步骤我这里不详细说了,说一下我遇到的一些很难找出问题的地方 ps:只是针对于我的项目和我个人水平,大神勿喷嘿嘿 springboot-mybatis整合坑 出现下方错误请查看启动类:XXXApplication 是否扫描到mapper映射文件,声明eclips…
调试相关 如果是想在触发粒子系统效果的时候播放声音(比如爆炸的特殊发生时也播放声音),则需要将爆炸效果的粒子系统保持为Prefab后,添加Audio Source组件,在组件中添加声音文件并且确保play on awake是开启的: LoadScene之后GI光影发生变化,并且没有重新烘焙.方法为在Lighting面板将最下方的Auto选项取消勾选,并且点一下旁边的build.该错误只在编辑器发生,发布后的产品不会有该问题 GameObject对象基本不会通过FindGameObjectWith…
Unity3D核心类型一览 本文记录了Unity3D的最基本的核心类型.包括Object.GameObject.Component.Transform.Behaviour.Renderer.Collider.Rigidbody.Camera.Light.MonoBehaviour等. 需要展开了public类型方法的类图请点这里(http://www.cnblogs.com/bitzhuwei/gallery/image/152116.html). 最核心的类型就这几个:Object.GameO…
The file 'MemoryStream' is corrupted! Remove it and launch unity again! [Position > ] 有时候我们会遇到这个报错,然后整个U3D就崩溃了,原因是在于某些Prefabs的脚本引用丢失了,这个时候,只要把项目的所有丢失引用的Prefabs问题都解决了就OK了. 那么问题来了,有几万个Prefab也手动去解决吗,不!这里有个方便你检查丢失引用的脚本,用这个就可以检查出所有的丢失Prefab了,需要注意的是有一些被列举出…
聊聊Unity3d动态加载场景物件那些事儿. 众所周知,在策划或美术设计完游戏场景地图后,一个场景中可能会存在成千上万个小的物件,比如石头,木箱子,油桶,栅栏等等等等,这些物件并不是游戏中的道具,仅仅只是为了点缀场景,让画面更丰富,当然也可以被打碎之类的.那么基于手机平台内存等限制,如果我们在场景加载时就把所有的物件都加载进去,就会导致几个问题:1.游戏场景进入过慢,因为要加载完所有物件,2.游戏手机可能内存不够,直接崩溃,没办法,你加载的物件实在是太多了.而且更重要的是我们没必要都加载进去这些…
测试的时候发现一个很诡异的bug,在prefab里面的物体的属性居然不断的在变化,最后一步步调试才发现,区别是查找物体的api,特此记录下 两种api Canvas[] canvasArray = (Canvas[])Object.FindObjectsOfType(typeof(Canvas)); 仅查找当前场景中的物体 网上流传的都是这个 Canvas[] canvasArray = (Canvas[])Resources.FindObjectsOfTypeAll(typeof(Canvas…
http://blog.csdn.net/candycat1992/article/details/52181814 写在前面 我竟然最近两天才知道Unity中ScriptableObject的存在…… 看了下ScriptableObject的一些介绍,最大的优点感觉有三点: 把数据真正存储在了资源文件中,可以像其他资源那样管理它,例如退出运行也一样会保持修改 可以在项目之间很好的复用,不用再制作Prefab那样导入导出 在概念上有很好的fit,强迫症患者的福音 看了下感觉有很多东西都可以用它.…
Object.Destroy static function Destroy(obj: Object, t: float = 0.0F): void;   Description Removes a gameobject, component or asset. The object obj will be destroyed now or if a time is specified t seconds from now. If obj is a Component it will remov…
孙广东   2015.7.30 问题:   在项目平时删除资源或者脚本资源时产生的prefab的脚本引用丢失,特别是在场景scene中丢了解决方式/// 1.又一次Clone项目/// 2.删除项目的 Library 目录(推荐.解决紧急问题)/// 3.使用这个脚本解决全部问题(这个当然推荐了) http://forum.unity3d.com/threads/editor-want-to-check-all-prefabs-in-a-project-for-an-attached-monob…
1)关于Addressable的疑问2)Addressable如何进行热更新3)如何设置SceneView相机的Shader变量4)Activity默认为SingleTask的原因5)关于Resources.UnloadUnusedAssets调用时间过长的问题 Addressable Q:最近几天在看Addressable,虽然未完全看懂,但感觉这相比AssetBundle好用得多,也考虑得很周全.主要是在参考官方文档Addressables 1.6.2时,有一些疑问: 1. 相对AssetB…
WeTest 导读   本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法.   在之前的文章<手游内存占用过高?如何快速定位手游内存问题>中提到,Mono内存和native内存是PSS内存主要的组成部分,mono内存更多的起到内存调用的功能,因此常常成为了开发人员优化内存的起点:而在游戏的其他的进程中,同样有很多因素影响着游戏的性能表现.本文将从UGUI的优化角度,介绍unity游戏性…
UI贴图在游戏中内存大小中占的分量非常非常大,尤其对于前期对UI没有规划的项目,无论是包量还是内存大小都是需要花费很多时间去优化.如果涉及到战斗场景和逻辑场景的情况下,常用的做法就是把两个场景使用的atlas严格的分离开,这样可以减少运行时内存,特别是在战斗中,内存增加的比较厉害.OK,如果项目前期这方面的事情考虑比较周全.规则比较详细.执行也比较到位,后期可能就做这个事情就比较简答.那如果出现战斗中引用不该有的atlas怎么办?UI太多的情况下,逐个排除太麻烦,尤其是不在UI中,只是静态引进的…
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决GameObject.Find()无法获取天生activie = false的问题.     private GameObject root ; 我觉得你最好不要保存GameObject ,而是去保存Transform ,因为Transform下的方法要比GameObject多,使用频率也要高很多.…
有时候需要通过代码来为对象指定一个资源.可以通过下面的函数来查找资源. /// <summary> /// 查找资源 /// </summary> /// <returns>返回资源对象</returns> /// <param name="name">资源名称</param> public static T findRes<T>(string name) where T : Object { T[]…
转自:http://www.jianshu.com/p/b37ee8cea04c 1.资源类型 GameObject, Transform, Mesh, Texture, Material, Shader, Script和各种其他Assets. 2.资源创建方式 静态引用,在脚本中加一个public GameObject变量,在Inspector面板中拖一个prefab到该变量上,然后在需要引用的地方Instantiate: Resource.Load,资源需要放在Assets/Resource…
GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点gameObject也能进行查找的方法 GameObject.Find().Transform.Find查找游戏对象 1.前置条件 Unity中常用到查找对象,非隐藏的.隐藏的,各种方法性能有高有低,使用又有各种条件限制. 在此对查找的性能和条件进行分析.开发时遇到的主要问题是查找隐藏对象. 没有完…
1创建单独编辑UI的unity场景 UIScene.unity 用来做UI面界 ,创建Resources文件存放UI界面的prefab,代码里动态load资源仅仅能从Resources目录载入 2创建2DUI NGUI->Create->2D UI ,改动camera名字 做成prefab,做为游戏UI全局摄像机 3在UIScene场景中创建单独界面 在之前创建的UIRoot->camera下创那panel做为根,做好详细界面后.从panel层做成prefab 4代码中 用static变…
在游戏中,还有一种比较常见的动画,这是进球后产生,分数将被显示在游戏,而快速移动,使其失去位置加入.就打算使用NGUI的Tween来制作这样的分数动画效果. 依据 Unity插件之NGUI学习(2),创建一个UI Root.然后使用NGUI创建一个Label和一个Button. 在Project窗体中,在Resources/Prefabs目录中创建一个Prefab.该Prefab就是一个NGUI的Label,然后在菜单中选择NGUI->Tween->Rotation和NGUI->Twee…
1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject"); 我觉得如果游戏对象没再最上层,那么最好使用路径的方法,因为有可能你的游戏对象会有重名的情况,路径用"/"符号隔开即可. GameObject root = GameObject.Find("GameObject/Cube"); GameObject.Find()…
一.简介 最近马三为公司开发了一款触发器编辑器,对于这个编辑器策划所要求的质量很高,是模仿暴雪的那个触发器编辑器来做的,而且之后这款编辑器要作为公司内部的一个通用工具链使用.其实,在这款触发器编辑器之前,已经有一款用WinForm开发的1.0版触发器编辑器了,不过由于界面不太友好.操作繁琐以及学习使用成本较高,所以也饱受策划们的吐槽.而新研发的这款编辑器是直接嵌入在Unity中,作为Unity的拓展编辑器来使用的.当然在开发中,马三也遇到了种种的问题,不过还好,在同事的帮助下都一一解决了.本篇博…
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 我们在cocos creator新建一个Hello TypeScript项目,都会有一个assets/Scene/helloworld.fire文件.使用cocos creator开发游戏时,项目可以只有一个.fire文件.一般地,我会把这个文件夹改名为assets/scene,下面只有main.fire文件:assets/scene/main.fire. 双击main.fire文件,在层级管理器可以…
using UnityEngine;using System.Collections; public class test : MonoBehaviour{ private GameObject root; private GameObject aa; private GameObject tt; private GameObject w; void Start() { //父物体root物体没有被隐藏 root = GameObject.Find("Canvas"); Debug.L…
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A: B: using System; using System.Runtime.CompilerServices; using UnityEngine.Scripting; namespace UnityEngine { /// <summary> /// <para>Behaviours are Components that can be enabled or disabl…
参考链接: https://blog.csdn.net/hjzyzr/article/details/53316919?utm_source=blogxgwz4 https://blog.csdn.net/weixin_39706943/article/details/80507276 0.场景如下: 1.获取场景中所有的Go,包括嵌套的,隐藏的.需要注意的是要进行go.scene.name != null,这句判断,否则会包含很多来自其他地方的go(不只是来自Project视图) using…
在对内存泄漏有一个基本印象之后,我们再来看一下在特定环境——Unity下的内存泄漏.大家都知道,游戏程序由代码和资源两部分组成,Unity下的内存泄漏也主要分为代码侧的泄漏和资源侧的泄漏,当然,资源侧的泄漏也是因为在代码中对资源的不合理引用引起的. 代码中的泄漏 – Mono内存泄漏 熟悉Unity的猿类们应该都知道,Unity是使用基于Mono的C#(当然还有其他脚本语言,不过使用的人似乎很少,在此不做讨论)作为脚本语言,它是基于Garbage Collection(以下简称GC)机制的内存托…
原文地址:http://www.xuanyusong.com/archives/2768 我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决GameObject.Find()无法获取天生activie = false的问题.     private GameObject root ; 我觉得你最好不要保存GameObject ,而是去保存Transf…
这篇博客是查找unity中缺失引用的一个简单简短的解决方案.你可以从GitHub上获取源码. 缺失引用 一个丢失引用与没有引用(在检视表显示“None”)是完全不同的概念.这些友各种原因造成,比如:把资源文件从Unity编辑器中移除,导致在.meta文件混乱,其中有个指向无效的连接. 主要问题是缺失引用在项目中会被隐藏在某处,只有等运行中找到时已经太晚了.幸运的是,我们编写了编辑器脚本来补救...   解决方案: 以防止你也遇到这种问题,下面是查找缺失引用的所有代码:   using Syste…
1.思路: (1)信息数据:需要展示属性信息 (2)信息的展示:负责显示UI属性信息 (3)UI的跟随:负责实现UI对人物的跟随 (4)UI的管理:负责对UI进行创建于回收,游戏中需要用到UI的地方都是与该脚本的交互. 2.将需要用到的UI资源打到一个图集中,以免出现大量人物的时候图集穿插造成不良的影响. 3.创建一个头顶UI预设,当道对应的目录下面: 为了测试的方便,在Resources下面也放一个做好的UI预设: 需要注意的是,做的这个预设是不带Panel的,因为希望可以把游戏展示的所有人物…