unity
文章平均质量分 72
九逍工作室
这个作者很懒,什么都没留下…
展开
-
Unity 资源加载卸载过程
什么时候才是UnusedAssets?看一个例子:Object obj = Resources.Load("MyPrefab");GameObject instance = Instantiate(obj) as GameObject;.........Destroy(instance);创建随后销毁了一个Prefab实例,这时候 MyPrefab已经没有被实际的物体引用了,但如果这时:Resources.UnloadUnusedAssets();内存并没有被释放,原因:MyPrefab还被原创 2020-08-29 02:48:35 · 3738 阅读 · 0 评论 -
Unity 3d脚本加密方案
1.1 加密方案Unity 3D项目游戏逻辑采用C#脚本,我们知道C#编译生成的DLL或EXE是IL程序集。IL程序集中有一个MetaData,记录了程序集中的一切信息,所以容易被反编译。传统的防破解方式是是对IL程序集进行混淆或者加壳。但是这种混淆基本上只是做一些名称混淆或流程混淆或者加一些打花指令。这种混淆或加壳的结果基本上还是保留了IL程序集的原貌,还是很容易被破解的。因转载 2016-09-15 16:45:53 · 1434 阅读 · 0 评论 -
UGUI研究院之判断鼠标或者手指是否点击在UI上
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。#if UNITY_ANDROID && !UNITY_EDITOR#define ANDROID#endif #if UNI转载 2016-09-25 19:42:18 · 819 阅读 · 0 评论 -
UGUI研究院之不添加摄像机解决UI与UI特效叠层问题
using UnityEngine;using System.Collections;using UnityEngine.UI; public class UIDepth : MonoBehaviour { public int order; public bool isUI = true; void Start () { if(isUI){ Canvas canvas转载 2016-09-25 22:05:43 · 1179 阅读 · 0 评论 -
UGUI研究院之设置全屏图
rectTransform.sizeDelta = new Vector2(Screen.width,Screen.height);在UGUI中想设置一张全屏的背景图,但是直接设置 screen.width和screen.height后发现在有些分辨率下还是不能全屏。把如下脚本挂在需要全屏的Image对象上即可。using UnityEngine;using System转载 2016-09-25 22:16:08 · 1786 阅读 · 0 评论 -
UGUI研究院之Text文本渐变
UGUI自带的outline和shadow一样,可以同时使用。代码在这里了。我加了个判断,它原来的有越界的隐患。using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI; [AddComponentMenu("UI/Effects/Gradi转载 2016-09-25 22:21:28 · 1333 阅读 · 0 评论 -
不规则图片的点击响应
参考链接:http://www.xuanyusong.com/archives/3492当点击一张不规则图片时,点击镂空区域时,还是会发生响应。对于Image来说,判断是否点击有效的就是IsRaycastLocationValid函数了,因此要重写它。另外要为不规则图片挂上PolygonCollider2D组件,圈出响应的范围。转载 2016-09-25 22:52:41 · 1875 阅读 · 0 评论 -
判断点是否在多边形内部
完全参考:http://www.cnblogs.com/luxiaoxun/p/3722358.html如何判断一个点是否在多边形内部?(1)面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。(2)夹角和判别法:判断目标点与所有边的夹角和是否为360度,为360度则在多边形内部。(3)引射线法:从目标点出发引一条射线转载 2016-09-25 22:57:13 · 775 阅读 · 0 评论 -
移动平台 Unity3D 应用性能优化
做了大概半年多应用,总是对应用流畅度感到不满,性能的优化势在必行,在项目的进展过程中,总结了一些关于移动平台上Unity3D的又能优化经验,供分享移动平台硬件架构移动平台无论是Android 还是 IOS 用的都是统一内存架构,GPU和CPU共享一个物理内存,通常我们有“显存”和“内存”两种叫法,可以认为是这块物理内存的所有者不同,但这段映射到cpu,就是通常意义上转载 2017-09-13 18:31:51 · 743 阅读 · 0 评论 -
Unity3d Attribute 总结
举两个例子,在变量上使用[SerializeFiled]属性,可以强制让变量进行序列化,可以在Unity的Editor上进行赋值。在Class上使用[RequireComponent]属性,就会在Class的GameObject上自动追加所需的Component。以下是Unity官网文档中找到的所有Attribute,下面将按照顺序,逐个对这些Attribute进行说明和小的测试。转载 2017-09-29 17:51:39 · 237 阅读 · 0 评论 -
Unity3D meta文件解读
meta文件简介什么是meta文件?meta文件是在你讲资源导入工程时,Unity自动生成的一个文件,他具有资源版本控制、数据描述、资源关联等信息。在Unity导入资源时,产生的meta文件,会对这个资源产生一个GUID。Unity通过他进行对资源的定位,所以你可以在工程内任意的拖动资源,不会导致引用丢失。资源之间的关联就靠他来维系。以及一些资源文件(如:Texture),Un原创 2017-11-05 22:27:09 · 2233 阅读 · 0 评论 -
Unity 图片翻转
//水平翻转图片 public static Texture2D horizontalFlipPic(Texture2D texture2d) { int width = texture2d.width;//得到图片的宽度. int height = texture2d.height;//得到图片的高度 Text原创 2016-09-09 14:15:55 · 6952 阅读 · 1 评论 -
Unity Android Plugin开发指南
本文将介绍如何在Unity工程中使用Android或者Java的库,包括:如何在Unity项目中使用Android PluginUnity-Android相互调用Unity接口设计的最佳实践如何构建Unity-Android混合项目如何调试Unity和Android代码附录:跨虚拟机调用的实现如何在Unity项目中使用Android Plugin原创 2016-09-08 23:24:56 · 6584 阅读 · 0 评论 -
四元数和旋转轴及旋转角度之间的转换理解实例
主观心得: 四元数与旋转轴是一一对应的关系。除了相差一个标量倍数外(标量倍数,是指这么一个意思:对于任何数或者向量a,a与k*a(k是一个实数)本质上是相等的。如a= [1 2 3],b= [2 4 6]或者b=[0.1 0.2 0.3])都是相等的。 四元数的定义:q = [w,x,y,z]其中w是实部,当然也有资料会把四元数写成q = [x,y,z,w]其中w是实部转载 2016-05-23 23:32:34 · 21242 阅读 · 2 评论 -
打包Assetbundle并加载
由于我们要将模型资源放在远程的服务器端,但如果直接放fbx模型是不可以加载的,所以我们可以将fbx做成预设或者是直接将其打包成assetbundle格式的,然后通过www来加载获取。说下使用方法:1、把附件脚本放到工程文件夹下的...\Assets\Editor文件夹下。2、在工程的Project视图里点击想要保存的资源,网络上推荐的是Prefab,右键转载 2015-11-05 09:36:55 · 1081 阅读 · 0 评论 -
Unity3D研究院之LZMA压缩文件与解压文件
前两天有朋友告诉我Unity的Assetbundle是LZMA压缩的,刚好今天有时间那么就研究研究LZMA。它是一个开源的类库,有C、 C++、C#、JAVA的类库,那么在我大Unity里面我们当然要使用C#的类库啦。下载地址:http://www.7-zip.org/sdk.html 或者在文章的最后下载我的测试工程、如下图所示,因为9.22是Beta版本,所以我们还是老老实实下载9.转载 2015-11-05 09:23:58 · 939 阅读 · 0 评论 -
Uniyt 异步加载关卡(Application.LoadLevelAsync)
在后台异步加载关卡,也就是说,在后台非同步加载新的场景。Unity将在后台线程完整加载场景所有资源和物体。这允许你加载一个新的关卡,同时当前的关卡仍在播运行,显示进度条或者创建一个完整的流世界,在那里你不断的加载和卸载基于程序位置不同的部分,在游戏中不会有任何的中断。isDone变量来自AsyncOperation异步操作的结果,可以用于如果关卡加载完成的查询。当编原创 2015-10-28 18:39:32 · 1942 阅读 · 0 评论 -
Unity3D研究院之DontDestroyOnLoad的坑
Unity中的一个方法DontDestroyOnLoad可以让某些游戏对象在切换场景的时候不是施放,听起来是一个非常好的方法,但是其实如果没用好那么可能就是有问题了。举个例子:在场景1中某一个脚本的Start方法中,DontDestroyOnLoad(A)接着切换到场景2中,理所当然A对象被保留了下来如果在从2场景再次回到1场景,那么又执行了一遍DontDestro转载 2015-10-29 11:50:07 · 465 阅读 · 0 评论 -
unity平台的预处理
在开发中,特别是unity的跨平台中,我们常常会在各个平台游走,如安卓版,苹果版,PC版......。在此不同的平台上,有可能我们须要做不同的操作。然而我们就能够用unity的自带的平台宏定义方式来做平台的推断。Unity帮我们定义了例如以下平台预处理: 名称 描写叙述UNITY_EDITORDefine for call转载 2015-10-28 17:37:49 · 432 阅读 · 0 评论 -
unity寻路——一劳永逸地解决寻路问题
一劳永逸地解决寻路问题作者:PaulT译者:trcj原文:http://www.ai-blog.net/archives/000152.html 通常我都会尽量避免对业内游戏产品或开发者们评头论足。 但这回我不得不破一次例。 我要讨论一些关于寻路的问题。为了证明这些问题至今仍然存在,我本着娱乐的精神制作了这个视频。转载 2015-10-30 14:02:23 · 35762 阅读 · 1 评论 -
Unity3D Editor 编辑器简易教程
Star自定义编辑器简易教程 an introduction to custom editors原文地址 http://catlikecoding.com/unity/tutorials/star/简介 Introduction这个教程将让你学会如何创建一个星型控件以及如何制作这个控件的自定义编辑器。你将学会:动态的建立Mesh。使用一个嵌套类。建立一个转载 2015-11-16 17:35:48 · 8275 阅读 · 0 评论 -
OGG文件的数据结构以及读取其注释信息的代码
OGG文件的数据结构以及读取其注释信息的代码 笔者的手机原配的铃声都是ogg文件,所以笔者研究了一下这种文件的数据结构。 Vorbis是一种有损音频压缩格式,通常以Ogg作为容器格式,所以常合称为Ogg Vorbis,所形成的文件后缀是Ogg。 一、OGG 文件的组织形式 ogg文件解码后,按应用要求的时序关系合成若干物理流,一个物理流由若干逻辑流组转载 2016-01-16 22:10:21 · 2440 阅读 · 0 评论 -
unity3d使用Mono.Xml读取xml
unity3d读取xml有好几种方式,最简单是直接利用c#读取xml,但是项目打包可能有点大。另外两个是利用其他轻量级xml库来实现,如Mono.Xml、XMLParser。Mono.Xml是c#写的,XMLParser是js写的。文章主要说明Mono.Xml的用法。首先,定义一个xml文件,如下:ROOT> table wave="1" level="1" name="Jo转载 2015-11-30 09:41:03 · 1191 阅读 · 0 评论 -
Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
获取当前键盘按键,代码如下:using UnityEngine; using System.Collections; public class GetCurrentKey : MonoBehaviour { KeyCode currentKey; void Start () { currentKey = KeyCode.Space; } void OnGUI() { if转载 2016-01-28 13:28:31 · 5895 阅读 · 0 评论 -
不同平台下StreamingAssets的文件路径预编译
01.//不同平台下StreamingAssets的路径是不同的,这里需要注意一下。02.public static readonly string PathURL =03.#if UNITY_ANDROID //安卓04. "jar:file://" + Application.dataPath + "!/assets/";05.#elif UNIT原创 2015-11-05 09:34:48 · 524 阅读 · 0 评论