
UNITY
文章平均质量分 73
PersonFly_小逗
这个作者很懒,什么都没留下…
展开
-
unity3d meshBaker教程(三) 物体动起来
原文地址有童鞋可能已经发现了,如果照教程一或教程二进行合并,物体上若有位移的脚本或者是动画,他确是无法进行位移的下面来讲下解决方法。其实方法很简单,接着教程二场景1.首先我们在某个cube上挂一个位移的脚本,简单的pos位移就行。2.运行,发现那个cube并未移动,点击那个物体,发现只有碰撞器在移动,此时我们使用的是meshBaker合并后的网格,源对象的meshRender是禁用...转载 2019-06-18 21:07:56 · 738 阅读 · 0 评论 -
Unity3d 开发之 ulua 坑的总结
原文地址相同的 lua 代码在安卓上能正常运行,但在 IOS 上可能不会正常运行而导致报红,崩溃等,我在使用 lua 编程时遇到的一些坑总结如下:1. File.ReadAllText, 诸如以下代码在 ios 上会崩:local path="C:/1.txt";local file=luanet.import_type("System.IO.File");转载 2016-10-29 10:17:36 · 1559 阅读 · 0 评论 -
unity性能优化
原文地址1. CPU Usage A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间 B. Overhead: Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。 C.转载 2016-10-28 15:59:49 · 875 阅读 · 0 评论 -
Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
原文地址 我们的脚本代码里经常会需要访问gameObject引用或者某个组件的引用,最好的方式当然是在脚本Awake的时候就把这些可能访问的东西都缓存下来;如果需要访问临时gameObject实例的某属性或者临时某组件的gameObject实例,在能够确保组件一定存在(可以使用[RequireComponent( typeof(AudioSource ))] 如果没有自动添加移转载 2016-11-03 22:38:49 · 2109 阅读 · 0 评论 -
Unity3D~纹理格式
原文地址因为之前自己从来没有好好看过这部分,一直都是用的DXT压缩图片,结果发现原来ios是不支持DXT的,还不知道我项目那么卡是不是这部分引起的,但愿是~这样应该就可以解决游戏在ios上只有6.8帧的问题了~~[Desktop]RGB Compressed DXT1压缩的RGB纹理。这是最常见的漫反射纹理格式。4位/像素(32转载 2016-09-22 17:27:33 · 542 阅读 · 0 评论 -
Unity+NGUI性能优化方法总结
原文地址 一共9招。 1 资源分离打包与加载 游戏中会有很多地方使用同一份资源。比如,有些界面会共用同一份字体、同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等。可以在制作游戏安装包时将这些公用资源从其它资源中分离出来,单独打包。比如若资源A和B都引用了资源C,则将C分离出来单独转载 2016-09-01 13:48:16 · 501 阅读 · 0 评论 -
Unity3d之截图方法
原文地址下面是我总结的、在u3d中的,三种截屏方法:1、使用Application类下的CaptureScreenshot方法。[csharp] view plain copy void CaptureScreen() { Application.CaptureScreenshot("Scre转载 2016-09-13 10:30:35 · 557 阅读 · 0 评论 -
Unity3D项目程序加密2——对dll进行混淆
原文地址之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放回项目里面。这样似乎别人就不能直接修改你的代码了。事实真的是这样吗?这里假设我们在Unity3D里面写的代码抽象成这样一个Test类,里面包转载 2016-08-30 10:31:01 · 462 阅读 · 0 评论 -
Unity3D项目程序加密1——在Unity3D里使用自己的dll
原文地址如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来。由于.net本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密。接下来2篇博客,阿赵将会简单的讲一下我自己在Unity3D的程序加密做法。首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll转载 2016-08-30 10:30:08 · 509 阅读 · 0 评论 -
Unity 3D中的内存管理
原文地址最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle转载 2016-10-29 10:21:40 · 294 阅读 · 0 评论 -
NGUI Mesh 粒子 Spine 层级解决方案
原文地址render order Vs render queuengui 层级排序原理代码实现本质就是把 mesh 的渲染序列加入到uipanel里面,粒子也是一样RenderQueueModifier.csusing UnityEngine;using System.Collections;public c转载 2016-11-13 01:01:39 · 2363 阅读 · 0 评论 -
UNITY 用于打点统计的小工具
using System.Collections.Generic;using System;public static class PerformanceProfiler{ private struct PerformancePoint { public PerformancePoint(string msg) { t原创 2017-01-18 21:59:21 · 1727 阅读 · 0 评论 -
unity3d meshBaker教程(二) 自动合并
原文地址情景再现:大场景中,有很多细碎的小物体,如果一个个点的话很累,而且shader可能用的不一样,使用起来就比较麻烦了,还好MeshBaker提供了自动合并的功能,来试试吧。接着教程一中场景1.创建对象,GameObject->CreateOther->MeshBaker->Mesh And MaterialBaker2.点击Open Tools For ...转载 2019-06-18 20:51:06 · 758 阅读 · 0 评论 -
unity3d meshBaker教程(一) 基本的使用
原文地址meshBaker版本:3.31 ps:(原本使用的3.6,结果发现那个版本貌似有些问题)unity3d版本:4.61(5.6.2会有编译问题 改了就能运行)作用:本人项目中,从drawCall 60左右 降到了 十几个,优化利器。。最基本的使用一.搭建场景如上图场景,新建4个材质,分别附上这4个贴图,贴图是MeshBaker自带的。运行后...转载 2019-06-18 20:49:00 · 2411 阅读 · 0 评论 -
Unity3d导入模型尺寸问题
原文地址大家都知道,Unity3D系统单位是米,所以当我们用3dmax建模的时候也要一开始就把单位设置成公制单位米虽然这样做已经和unity3d里面的单位统一啦,但是,3dmax导出fbx到Unity3d中去的时候单位比例却会发生变化,具体如下表:解决方法一:在Unity3d中找到改模型,然后在讲属性面板里面的缩放改成转载 2017-09-01 11:55:02 · 12509 阅读 · 0 评论 -
在Unity3D中使用Visual Studio调试shader
原文地址在Unity3D中使用Visual Studio调试shader【翻译】原文地址 本文主要介绍在U3D中调试shader代码的主要技术:false-color images:通过设置片元颜色中的某个分量,使得该值可视。然后根据resulting image中的颜色分量的亮度(intensit转载 2017-08-09 20:55:40 · 2540 阅读 · 0 评论 -
减小ipa体积
原文地址我遇到了什么问题?Unity要支持IOS 64位,就要用到IL2CPP。而IL2CPP会将IL代码转换成C++代码。在我的项目中,这些C++代码达到5000万行。没错,5000万行C++代码!具体各个版本IL2CPP生成C++代码对比可参考之前的文章《Unity:IOS可执行程序超过80MB问题及各版本IL2CPP对比》。当向Xcode上转载 2017-06-10 11:51:55 · 817 阅读 · 0 评论 -
Unity 批量设置iOS本地插件编译标志
原文地址 [MenuItem("一键打包/设置 -fno-objc-arc")] static void 设置编译标志() { SetCompileFlags("-fno-objc-arc"); Debug.Log("完成设置编译标志"); } [MenuItem("一键打包/清除 -fno-objc-arc")]转载 2017-05-24 10:46:28 · 1238 阅读 · 0 评论 -
Unity3D 之 OnTriggerEnter和OnCollisionEnter的区别
原文地址一.刚体组件的属性介绍刚体能让你的游戏对象被物理引擎所控制,它能通过受到推力和扭力来实现真实的物理表现效果。所有游戏对象必须包含刚体组件来实现重力、通过脚本施加力、或者与其他对象进行交互,这一切都通过NVIDIA的PhysX物理引擎来实现。属性Mass 质量,单位为Kg,建议不要让对象之间的质量差达到100倍以上Drag 空气转载 2017-03-08 21:02:50 · 704 阅读 · 0 评论 -
编译unity-mono( 写给超级初学者的朋友)
原文地址前言:看文章切忌心浮气躁.为什么要编译mono?相比看到这篇文章的朋友应该都不需要再多问为什么,那么为了呼应标题,笔者还是想再简明扼要的阐述一下,以便不知道干啥的朋友还可以知道要干啥.unity生成的apk包,实际上就是一个压缩文件,我们可以直接解压出来,解压出来之后我们可以找到这样的一个目录:assets\bin\Data\Managed,在这个目录之转载 2017-02-20 17:54:58 · 2036 阅读 · 1 评论 -
ScriptableObject
原文Often times throughout the course of developing a game you end up building some components that need to take in some data through some sort of a configuration file. This could be some paramete翻译 2016-07-14 10:21:15 · 330 阅读 · 0 评论 -
Unity编辑器扩展-菜单项
原文地址[TOC] Unity编辑器允许你去添加像内置菜单一样外观和行为的自定义菜单。自定义菜单对于那些经常使用的功能提供一种能从编辑器直接访问的便捷方式。在这一课程中我将对每个描述的主题提供真实的使用示例,用于说明在unity中的菜单项是如何创建和使用的。添加菜单项为了要在顶层工具栏中创建一个新的菜单项,你必须去创建一个编辑器脚本(在项目Editor目转载 2016-04-12 17:25:55 · 389 阅读 · 0 评论 -
UNITY 5.2 Vector3 结构
Static变量:特殊向量的缩写,只读public static Vector3 back { get; }说明:Vector3(0, 0, -1) 缩写public static Vector3 down { get; }说明:Vector3(0, -1, 0) 缩写public static Vector3 forward { get; }说明:Vector3(原创 2015-10-24 14:31:31 · 3688 阅读 · 0 评论 -
UNITY 5.2 SystemInfo类
该类主要用于获取系统信息,主要死一些系统信息的只读属性,和 静态的方法查询渲染纹理格式和纹理格式静态变量:public static string deviceModel { get; }说明:设备型号public static string deviceName { get; }说明:用户自定义的设备名。Android设备上返回 unknownpublic s原创 2015-10-21 22:01:52 · 985 阅读 · 0 评论 -
UNITY 5.2 Resources类
描述:该类能查找和使用对象, Resources.FindObjectsOfTypeAll 能定位资源和场景对象所有包含在 Assets文件夹下中的 Resources 文件夹中的资源都能被 Resources.Load 访问,若存在多个 Resources 则会自动检查。在UNITY开发中,一般不用路径名来操作资源,而是通过声明一个成员变量在 inspector 赋值某个资源的引用。原创 2015-10-20 21:43:58 · 640 阅读 · 0 评论 -
UNITY 5.2 Time类
Static变量public static float deltaTime { get; }说明:只读属性,左后一帧的时间(S),独立于帧速度。OnGUI中不要使用,该函数在每一帧中会被多次调用public static float fixedDeltaTime { get; set; }说明:用于设定其他固定更新的帧率时间(S),获取帧间隔时间最好使用 deltaTimepu原创 2015-11-05 14:41:05 · 388 阅读 · 0 评论 -
UNITY 5.2 HideFlags
控制Object对象的销毁、保存、inspectors中的显示None:默认状态,表示普通、可见的对象HideInHierarchy;不会出现在 hierarchy 中,意思就是在编辑器中不能获取该对象HideInInspector:不会在 inspector 中查看该对象属性DontSaveInEditor:该对象在编辑器中不会被保存到场景中NotEditable:在原创 2015-10-19 20:46:34 · 1777 阅读 · 0 评论 -
UNITY 5.2 Object类
这个类是UNITY引擎的所有类的基类,在命名空间UnityEngine 中,其中提供了对象都具有的方法和属性。变量:public HideFlags hideFlags { get; set; }说明:标记该对象的操作方式 public string name { get; set; }说明:该对象的名字,在该类中只有一个默认的构造函数,并没有需要串门对象名的构造函数原创 2015-10-18 18:55:22 · 691 阅读 · 0 评论 -
UNITY 5.2 Component类
此类继承于命名空间 UnityEngine 中的Object类,所有能附加到GameObject对象上的基类。不要直接创建此类的对象,应该使用GameObject中组件添加函数。变量:public GameObject gameObject { get; }说明:只读属性,被附加上该组件的对象,所有的组件都有附加对象public string tag { get; set; }原创 2015-10-18 23:24:54 · 594 阅读 · 0 评论 -
UNITY 5.2 GameObject类
变量:public Transform transform { get; }说明:只读属性,每个对象都具有的 变换组件public bool activeInHierarchy { get; }说明:只读属性,若该GameObject是活动的,则该对象和他所有的父对象的 GameObject.activeSelf 是 TRUEpublic bool activeSe原创 2015-10-17 02:28:39 · 1744 阅读 · 0 评论 -
UNITY 5.2 Mathf 结构
此结构体只有静态变量和静态方法,不需要用对象Static变量:public const float Deg2Rad = 0.0174533f;说明:将角度转换为弧度, 弧度 = 角度 * PI / 180, Deg2Rad 相当于 2 * PI / 360public const float Rad2Deg = 57.2958f;说明:将弧度转换为角度, 角度 = 弧度 * 1原创 2015-10-24 21:34:53 · 1099 阅读 · 0 评论 -
Unity 坐标系笔记
1、世界坐标系:场景中使用的坐标系,在整个 Hierarchy 中的对象,都属于这个坐标系。对应有个局部坐标系,属于世界坐标系的子对象。主要用于 Hierarchy 中的对象坐标获取世界坐标系使用 position获取局部坐标系使用 localposition2、屏幕坐标系:以屏幕左下角为原点,像素为单位的坐标系,Z位置以相机世界单位定义的。主要用于 鼠标事件 和原创 2015-10-23 14:18:54 · 534 阅读 · 1 评论 -
UNITY 5.2 Application类
Static变量:public static string absoluteURL { get; }说明:指向网络播放器数据的绝对路径public static ThreadPriority backgroundLoadingPriority { get; set; }说明;限制异步加载资源时消耗的时间(所有包含 async 的加载函数都为异步加载)ThreadPriority原创 2015-10-28 21:36:52 · 925 阅读 · 0 评论 -
Unity3D的四种坐标系
原文地址Unity3D的四种坐标系【Unity3D的四种坐标系】1、World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的。transform.position可以获得该位置坐标。2、Screen Space(屏幕坐标):以像素来定义的,以屏幕的左下角为(0,0)点,右上角为转载 2016-04-08 12:35:02 · 257 阅读 · 0 评论 -
Unity3D导入MAX文件的一些问题。不断更新。。。
原文 http://blog.sina.com.cn/s/blog_6ae2a3f1010113nk.htmlUnity3D版本:3.5.4 新的版本若是有改变就谢天血地了。呵呵。1、轴向偏转MAX模型导入Unity3D后,X轴会自动偏转-90度。是因为Unity3D采用的是左手坐标系,而3DMax采用的是右手坐标系。无奈啊,这是很多游戏引擎跟Max结合转载 2015-12-22 11:40:05 · 1521 阅读 · 0 评论 -
UNITY 5.2 Camera类
Camera 是用于显示显示游戏中的世界的,显示范围为视锥体内。屏幕中的点用像素定义,左下角为(0, 0),右上角为(pixelWidth,pixelHeight)。Z坐标使用世界坐标系中的单位。视口中的点用相对于 Camera 单位化的向量。显示范围左下角为(0,0),右上角为(1,1)。Z坐标使用世界坐标系中的单位。世界中的点是一个全局的坐标系。委托:public原创 2015-12-02 15:21:28 · 2103 阅读 · 0 评论 -
UNITY 5.2 Quaternion 类
四元数其形式为 w + x i + y j + z k,其中i、j、k的關係如下:i2 = j2 = k2 = -1i * j = k = -j * ij * k = i = -k * jk * i = j = -i * k还可以表示为:q = [w, x, y, z] = [S, V]定义四元数q = w + x i + y j +z k 的norm为:N(q) =原创 2015-12-14 17:38:28 · 757 阅读 · 0 评论 -
【Unity技巧】四元数(Quaternion)和旋转
四元数介绍旋转,应该是三种坐标变换——缩放、旋转和平移,中最复杂的一种了。大家应该都听过,有一种旋转的表示方法叫四元数。按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法——矩阵旋转和欧拉旋转。矩阵旋转使用了一个4*4大小的矩阵来表示绕任意轴旋转的变换矩阵,而欧拉选择则是按照一定的坐标轴顺序(例如先x、再y、最后z)、每个轴旋转一定角度来变换坐标或向量,它实际上是一系列坐标转载 2015-12-13 22:40:49 · 612 阅读 · 0 评论 -
Unity3D中脚本的执行顺序和编译顺序(vs工程引用关系)
自:http://www.cnblogs.com/champ/p/execorder.html在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行。与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题。事件函数的执行顺序先说一下执行顺序吧。 官方给出的脚本中事件函数的执行顺序如下图:转载 2015-11-03 10:34:10 · 871 阅读 · 0 评论 -
UNITY 文件路径整理(偷的)
原文:http://www.manew.com/forum.php?mod=viewthread&tid=21404&extra=page%3D1%26filter%3Dtypeid%26typeid%3D143最近使用unity读取各个平台路径,特别对移动平台路径的处理简直是各种蛋疼 各种坑在此与大家分享下IOS:Application.dataPath : Appl转载 2015-10-28 17:30:22 · 390 阅读 · 0 评论