Unity3D随笔
文章平均质量分 61
WSHBlog
这个作者很懒,什么都没留下…
展开
-
Unity中使用vsCode调试lua代码
由于项目中使用lua语言,所以不会lua调试会感觉开发效率很低,所以最近在网上查找了一些方法,使用比较多的比较简单的应该是VsCode来调试的,这样就大大的提高了我们的效率,下面就自己配置的过程以及总结的一些心得分享一下1、我们先下载vscode,第一次下载使用的是英文的,不习惯的可以在扩展程序搜索Chinese(Simplified) Language Pack for Visual Studio Code,搜索出来之后进行安装即可;2、同时需要安装我们所需要调试lua程序的扩展程序,搜索Emmy原创 2020-08-17 14:54:12 · 5442 阅读 · 0 评论 -
Assets\XLua\ ... "MeshRenderer" does not contain a definition for 'receiveGI' and no accessible ...
现在很多项目中都在使用Lua来进行自身需求的热更,lua的优点不再多说,大家都很清楚的使用的多了就会遇到关于lua的各种匪夷所思的问题,下面就和大家分享一下自身遇到的一个问题以及解决方案详细的错误下图这个问题是执行xlua ->Generator code之后打包APK的时候出现的解决:在Generator.cs 中GetGenConfig函数中的黑名单中添加相应的类...原创 2020-04-17 17:16:57 · 3874 阅读 · 0 评论 -
Unity 添加 AndroidManifest.xml节点内容
首先添加所需要的xml的命名空间;using System.Xml;通过代码,按照需求,进行相应的修改; void FixedManifestXml() { string path = Application.dataPath + "/Plugins/Android/AndroidManifest.xml"; XmlDocument xmlDo...原创 2020-01-07 16:03:03 · 1527 阅读 · 0 评论 -
Unity 激活或关闭选中物体快捷键
首先在Assets 目录下,创建文件夹Editor,接着创建一个脚本WSHGameObjectActive.csusing UnityEngine;//引入unity编辑器命名空间using UnityEditor;using System.Collections;public class WSHGameObjectActive : ScriptableObject { publ原创 2016-04-28 17:16:26 · 7943 阅读 · 2 评论 -
Unity调用Android原生的震动(简单)
要在unity中调用Android系统的震动,需要一个Vibrator类 ,通过AndroidManifest.xml文件设置权限了如下:在这里先给贴出英文文档及大概的翻译 :Class that operates the vibrator on the device.If your process exits, any vibration you started wi原创 2015-06-15 17:22:47 · 4303 阅读 · 0 评论 -
Unity3D–Texture图片空间和内存占用分析
Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直对于图集的大小和内存的占用情况都不了解。在此对于U3D的图片问题做一个实际数据的分析。此前的项目都会存在这样或者那样的打包后包大小与内存占用情况的问题,所以这次所以彻彻底底得分析下U3D对于Texture的处理方式。程序里的内存优化请参考《Unity3d优化之路》。减少U3D包大小请参考《unity3转载 2015-07-10 11:31:48 · 1268 阅读 · 0 评论 -
Unity3D之如何将包大小减少到极致
Unity3D之如何将包大小减少到极致,图片是游戏app里最最占空间的资源,所以请各位还没有理解u3d对图片文件存储方式理解的请看《unity3d-texture图片空间和内存占用分析》。因为u3d对资源的压缩并不阐述的十分详细,所以很多项目在遇到包大小瓶颈时非常头疼。我也不是神仙,也同样痛苦过,但经历几个项目的折腾,最终能梳理出一套能将u3d包大小减少到合理范围的方法。首先来展示下,官方如何转载 2015-07-10 11:40:29 · 4351 阅读 · 0 评论 -
Unity3d优化之路
Unity3d优化之路.U3D的架构部分已经讲了很多了,这里我想讲讲对于U3D优化的亲身体验。优化之路分三块:一.渲染级别。GUI部分:我使用的是NGUI,它对动态移动、旋转、缩放GUI支持的是比较差的,所以我尽量不要把过多的移动旋转缩放的部分写在GUI中,但很多情况下是避免不了的,比如:大量的伤害数字,物品掉落,图标的移动和旋转等,为了不让GUI去控制这些渲染物体,一小部分我使用3D转载 2015-07-10 11:36:20 · 1216 阅读 · 0 评论 -
Unity shader 官网文档全方位学习(一)
What?? Shader,看起来好高级的样子,是的,这是Unity中高级进阶的必备。因此,兄弟我就在此记下我学习官网的一些心得。此为一。主要介绍些Surface Shaders的知识。具体的大家也可去官网(如下)学习。http://docs.unity3d.com/Documentation/Components/SL-SurfaceShaders.html一、概念篇1.基准转载 2015-06-26 14:55:51 · 2336 阅读 · 0 评论 -
unity 读取xml 信息
1、首先在unity工程中Resources/XML目录下创建xml文件:xmls.xml;如: 123 apple 大 2、定义我们需要的变量:using System.Xml;private XmlDocument xmldoc;private XmlNode root;private string url;3、在Start()函数进行初始化:原创 2015-06-25 17:55:55 · 2129 阅读 · 1 评论 -
记一次基于Unity的Profiler性能分析
A. WaitForTargetFPS: Vsync(垂直同步)功能所,即显示当前帧的CPU等待时间B. Overhead: Profiler总体时间-所有单项的记录时间总和。用于记录尚不明确的时间消耗,以帮助进一步完善Profiler的统计。 C. Physics.Simulate: 当前帧物理模拟的CPU占用时间。转载 2015-06-25 15:04:07 · 489 阅读 · 0 评论 -
unity中Android环境的配置
1、首先下载并安装jdk和sdk下载地址:jdkhttp://www.oracle.com/technetwork/java/javase/downloads/index.htmlEclipsehttp://www.eclipse.org/downloads/Adt http://developer.android.com/sdk/installing/installi原创 2015-06-03 14:49:18 · 3778 阅读 · 0 评论 -
NGUI制作字体的三种方法
主要参考两篇博文: (1)、NGUI制作字体的三种方法 (2)、使用位图字体工具BMFont从图片生成自定义字体1.BMFont下载地址http://www.angelcode.com/products/bmfont/2.BMFont使用方法http://momowing.diandian.com/post/2013-01-24/4004623921转载 2016-02-16 16:09:47 · 659 阅读 · 0 评论 -
NGUI Localization的修改
打开Localization.cs首先将静态类变成非静态类,继承MonoBehaviour类;增加静态变量(单例模式)static Localization mInstance;static public Localization instance { get { if (mInstance == null) { mInstance = Object.Fi原创 2016-02-18 15:30:45 · 980 阅读 · 0 评论 -
Unity高帧率跑低帧效果
首先,定义几个变量来记录相关信息; public int customFrame;//自定义低帧数 private float mLastTime;//记录上一帧时间 private float mTimeResidue;//并通过private float deltaTime{ get{ return (float)1 / (fl...原创 2018-04-16 14:34:16 · 2700 阅读 · 0 评论 -
Unity 利用AndroidJavaClass 获取jar实例
在unity中,每个封装好的jar中的实例或者方法都是可以在C#中直接访问到,下面就做一个简单的例子首先获得UnityPlayer:var playerCls = new AndroidJavaClass("com.unity3d.player.UnityPlayer");由此可以获得当前activity:var activity = playerCls.GetStatic原创 2017-08-25 16:06:34 · 11776 阅读 · 0 评论 -
Unity 简单使用System.Reflection对ScriptableObject数据进行初始化赋值
1、ScriptableObject 数据打包Asset请看博文:http://blog.csdn.net/u014076894/article/details/399357872、建立ScriptableObject数据脚本(注意初始化方法反射的简单使用)using UnityEngine;using System;using System.Collections;using Sy原创 2016-08-22 15:37:41 · 2282 阅读 · 0 评论 -
cmd 查看Android设备指定tag日志
前提电脑上配置好Java环境首先连接Android设备到电脑上,win + r 运行cmd 打开命令行窗口;输入命令adb logcat -s tag,回车(其中tag就是要查看日志的tag,区分大小写)以Unity为例:原创 2016-08-18 10:43:13 · 2522 阅读 · 0 评论 -
Unity 保存Json数据到本地文件
一、先导入Json 解析库;下载地址:http://download.csdn.net/detail/u014076894/9606309二、开始代码的编写;//命名空间using System.IO;using System.Collections.Generic;using LitJson;//相关变量声明: private static string原创 2016-08-18 10:28:02 · 12179 阅读 · 4 评论 -
Unity3D清除控制台log信息
[MenuItem("Edit/ClearConsole %#c", false, 37)] public static void ClearConsole() { var logEntries = System.Type.GetType("UnityEditorInternal.LogEntries,UnityEditor.dll"); var c转载 2016-07-06 13:25:07 · 2913 阅读 · 1 评论 -
Unity 显示帧率的方法
方法一public class DeltaFPS { private float updateInterval = 0.5f;//更新周期 private float accum; private int frames; private float timeleft; private string fps; //帧率 public void Init() {原创 2016-05-18 16:29:23 · 6993 阅读 · 0 评论 -
Unity 为自己保存的Layout添加快捷键
首先在Assets 目录下,创建Editor,创建一个脚本WSHLayout.cs,using UnityEngine;using UnityEditor;public class WSHLayout : EditorWindow{ public const string LayoutPath = "Window/Layouts/"; public const string NG原创 2016-02-18 17:57:51 · 1075 阅读 · 0 评论 -
Unity3D面试题整合
第一部分1. 请简述值类型与引用类型的区别答:区别:1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。2.值类型存取快,引用类型存取慢。3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。5.值类型继承自System.ValueType,引用类型转载 2015-06-03 10:32:58 · 2369 阅读 · 0 评论 -
Unity3D之Editor扩展学习——四大名捕闹京东
Unity3D提供了强大的编辑器扩展机制,在项目开发中,如果可以将一些繁琐的工作放在编辑器扩展中进行,则会大大提高效率。本文对编辑器扩展进行了一些总结,希望对有兴趣编写编辑器扩展的开发人员有所帮助。当我们编写一个编辑器扩展时,一般可以从以下四个类继承:ScriptableObject最常见的小功能扩展,一般不用窗口的编辑扩展,可以从这个类中继承,如以下代码所示: using Un转载 2015-05-29 17:34:18 · 1076 阅读 · 0 评论 -
unity3d中的坑和解决方案
unity3d是一个很牛x的引擎,当然其也有一些东西是不太好或者说不习惯的,下面列举一些:1、制作特效时,使用animation记录的位置是相对位置,如果直接放到别的节点下会出问题; 解决方法:在特效根节点的上一层加上一个transform是(0,0,0) (0,0,0)(1,1,1)的父节点,之后再使用和处理父节点2、使用NGUI制作界面时,ui特效会有位置对不上的问题(美转载 2015-05-29 11:44:14 · 1617 阅读 · 0 评论 -
Unity中播放StreamingAssets文件夹下的视频文件(PlayFullScreenMovie)
在unity中播放一段视频的方法:原创 2014-09-29 15:39:34 · 9793 阅读 · 0 评论 -
Json读取与应用
1、首先引用json所需要的命名空间: using LitJson;原创 2014-10-21 17:00:36 · 510 阅读 · 0 评论 -
怎么使用VS对Unity进行调试 UnityVs的使用方法的探讨
对于程序员来说,开发工具原创 2014-08-13 12:49:11 · 7118 阅读 · 1 评论 -
Unity中PlayerPrefs.DeleteAll()无法清除数据的问题
我们的游戏中都需要保存自己是游戏数据,其中我们会用到原创 2014-08-22 20:19:04 · 10138 阅读 · 0 评论 -
Unity3D脚本18:可视化辅助设置类 Gizmos
Gizmos 类 Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见的。 OnDrawGizmosSelected尽在脚本所附加的物体被选中时调用。转载 2014-08-20 16:52:15 · 1070 阅读 · 0 评论 -
Unity3D研究院之打开Activity与调用JAVA代码传递参数
Unity for Android 比较特殊,Unity for IOS 打包是将XCODE工程直接交给开发者,开发者可以在工程的基础上继续添加新的视图,最后由开发者自行打包生成IPA包,发布程序。而Unity for Android打包直接生成APK包,等于说源代码开发者是看不到的,但是Unity的自身确实有些局限,针对Android平台我们需要学习如何在Unity中调用Android的JA转载 2014-07-28 10:07:12 · 852 阅读 · 0 评论 -
Unity 安卓 android程序报错:error:Error:String types not allowed
安卓报错是转载 2014-07-23 11:12:00 · 1940 阅读 · 0 评论 -
Unity Profiler连接Android真机调测分析
unity3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因。转载 2014-07-22 21:08:22 · 11150 阅读 · 0 评论 -
BuildReport 插件导入unity脚本报错(BRT_Util.cs:error CS1525: Unexpected symbol `;', expecting `)', or `,')
在unity中想必都用过很多种类的插件,在这里说一下原创 2014-07-23 10:39:23 · 11806 阅读 · 4 评论 -
Unity StreamingAssets Android路径问题
1、首先在unity原创 2014-09-05 16:23:37 · 13708 阅读 · 0 评论 -
Unity CustomEditor 自定义编辑脚本Inspector面板
1、首先定义一个类,在类的下面定义两个int原创 2014-09-04 18:35:05 · 12251 阅读 · 0 评论 -
unity GameObject.SendMessage调用的方法有多个参数的调用方法
首先,先定义原创 2014-11-13 18:17:48 · 6112 阅读 · 0 评论 -
Unity 编写类似神庙逃亡手势
1、首先我们先定义一个枚举,用来表示手势滑动的四个方向:public enum TouchDirection{ Unkown, Left, Right, Up, Down}2、定义类:TouchInputpublic class TouchInput : MonoBehaviour { public static TouchIn原创 2015-05-14 16:41:02 · 1541 阅读 · 0 评论 -
unity克隆抛物线型金币的方法
1、准备好我们要克隆的对象:金币public GameObject coin;2、计算出抛物线的函数并按照函数算出克隆的位置:/// /// 克隆抛物线型金币的方法 /// /// 克隆第一个金币的位置 /// 克隆金币数量 /// 两两金币间的距离 void LoadCoinMethod(Vector3 pos,int num,原创 2015-05-11 13:43:12 · 1848 阅读 · 0 评论 -
unity中判断渲染物体是否在摄像机内渲染
1、先声明我们的变量:/// /// isRender 为true则表示在摄像机内,为false则相反 /// private bool isRender; private float lastTime; private float currentTime; /// /// controlUpdate 控制update内isRend原创 2015-05-08 16:08:18 · 7519 阅读 · 0 评论