![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity3d
文章平均质量分 50
奋斗的老刘
打工仔
展开
-
【Unity3d】自动版本构建: 如何在Windows平台下自动打开资源管理器并且选中指定文件
static public void ShowAndSelectFileInExplorer(string path) { path = path.Replace('/', '\\'); string arg = string.Format(@"/select,{0}", path); System.Diagnostics.Process.S原创 2015-06-21 22:09:40 · 1000 阅读 · 0 评论 -
【Unity3d】资源依赖反查工具
虽然Unity提供了资源的正向依赖查询,也就是一个Prefab引用了哪些资源,是可以使用EditorUtility.CollectDependencies函数全部找出来的。但是,如果在项目中,我想知道一个Script,或者一个图片到底被哪些Pefab、material用了,如果没人用了,我就可以删掉了。可惜Unity没有提供这个工具。制作方案一:选定一组资源对象原创 2015-06-27 20:15:02 · 4164 阅读 · 0 评论 -
【Unity3d】调整NGUI的打包工具,让NGUI打包Atlas时,自动获得图片九宫信息。
Unity试图整合美术流程,但是像我们的UI美术终究不可能全部在Unity中制作,主要工具还是Photoshop在使用NGUI的过程中,不可避免地要使用NGU的Atlas,以及Sprite。对于含有九宫信息的Sprite,一开始我们是先在Photoshop中切好图丢到Unity中打包成Atlas,然后手工去设置九宫信息。美术再修改这张图,那么需要再修改Atlas,也就是说,原始图片是不原创 2015-06-27 15:26:59 · 988 阅读 · 0 评论 -
【Unity3d】在Unity3d中,使用C#中访问系统剪贴板
直接上代码public static class ClipboardHelper{ private static PropertyInfo m_systemCopyBufferProperty = null; private static PropertyInfo GetSystemCopyBufferProperty() { if (m_systemCopyBuffer原创 2015-06-27 14:51:30 · 2639 阅读 · 1 评论 -
【Unity3d】自动拼接地型板块
在手游中可以使用Unity的terrain系统,不过效率当前并不理想,还有一种方式是自己做地块。首先美术预制作一系列Prefab,然后在每个地块的衔接处打上衔接点。然后程序根据进入点和退出点自动拼接以下为实现:设有进入和退出2个块板1、挪动进入板块,将进入板块与退出板块的衔接点重合。 即:enter.pos += ( exit.pos - enter.pos)原创 2015-06-27 14:33:08 · 2956 阅读 · 0 评论 -
【Unity3d】在编辑器中实现位操作(Bit)的编辑
有些时候,想高效利用数据,把一个int(32位)掰成32个bool值。那么编辑器中有没有一个这样的插件支持呢?以下是代码using UnityEngine;using UnityEditor;using System;using System.Collections;using System.Reflection;public enum MyEnum{ Enum1 = 1,原创 2015-06-27 15:36:36 · 880 阅读 · 0 评论 -
【Unity3d】优化裁剪Unity骨骼动画,减少动画文件容量
我们做的android游戏项目对安装包有容量限制,原先是限制在100M之内分析了一下, Texture占用容量最多, 排名第二的竟然是 角色动画文件一个角色含有若干个动作,一个动作文件约1M+大小, 原来我们在PC上使用Gamebryo制作端游时,一般一个kf文件也只有20KB. 虽然Unity的动作数据是原始文本文件, 但也不至于这么大...与美术同学聊了一下, 想到了一个裁剪方原创 2015-06-21 21:57:13 · 5783 阅读 · 1 评论 -
Windows平台下使用Jenkins自动发布Unity之Android程序与补丁
一、安装Jenkins官方地址:jenkins-ci.org一步步安装完毕后,启动Jenkins二、安装Jenkins Unity插件插件下载地址:http://updates.jenkins-ci.org/download/plugins/选择Unity3d-plugin,下载新最的版本文件,然后在Jenkins中安装此插件三、配置Unity3D插件原创 2015-10-13 15:01:04 · 2458 阅读 · 0 评论 -
OSX平台下使用Jenkins自动发布Unity之iOS程序与补丁
由于Unity构建Android程序放在Windows机器上,Jenkins也安装于Windows平台上为了便于使用,那么OSX下面自动发布,就不安装Jenkins了,改为直接使用ssh命令远程连接到OSX上面直接执行shell脚本即可。一、在OSX上面新建 /User/liu/ios_build.sh, 内容如下/Applications/Unity/Unity.app/Co原创 2015-10-13 15:17:00 · 670 阅读 · 0 评论 -
【Unity3d】如何解决在开发中添加了新场景后,需要手工维护BuildSettings中场景列表的问题
Unity有一项设定,就是如果Secne不在BuildSettings中,运行过程中就无法加载此Scene当前,如果是在正式发布版本中,会使用Assetbundle来加载此Scene,但是如果在开发过程中用Assetbundle肯定是不方便的,我们希望每次添加一个新的Scene,系统会自动将此Scene文件添加到BuildSettings中那么,我们写一个RefreshScen原创 2015-06-27 15:04:38 · 7708 阅读 · 0 评论 -
【Unity3d】在Unity中播放视频
不解释,上代码 private void PlayMovie(string filename, bool cancel) { #if UNITY_IPHONE || UNITY_ANDROID FullScreenMovieControlMode mode = FullScreenMovieControlMode.Hidden; if (cancel) { mode =原创 2015-06-21 22:41:27 · 779 阅读 · 1 评论 -
【Unity3d】Animator和Animation组件使用注意事项
一、Animator一般用于人物动画控制,特点是动画是持续的,可能有动作切换 Animation一般用于连持续状态动画的控制,比如一个场景特效的播放,只播放一次就完了二、实测Animation速度比Animator快10%左右,内存占用没测过三、Animation组件不兼容Animator的动画、但Animator动画兼容Animation动作(有点记得不清了)原创 2015-06-22 17:44:00 · 4480 阅读 · 0 评论 -
【Unity3d】如何解决Unity3d在引用外部插件时报DLLNotFoundException的问题
我们在项目中使用了Lua插件, 一直用得很好, 最近安装了几台新的祼机, 用Unity在编辑器模式下运行项目时发现总是报DllNotFoundException: /Assets/Plugins/lua.dll解决方案是使用M$的depends.exe分析一下就行了原来依赖了MSVCR100.DLL, 那么安装一下Vcredist2010解决了问题原创 2015-06-20 16:10:53 · 9742 阅读 · 1 评论 -
【Unity3d】注意C#的字符串拼接效率问题
现在项目中用的Log输出机制, 都是使用StringBuilder进行字符串拼接的, 那么为什么要使用StringBuilder进行字符串拼接呢?一开始是这样的:private string content;public void log(string text){ content += text;}public void log2File(string fi原创 2015-06-21 22:33:37 · 5007 阅读 · 0 评论 -
【Unity3d】如何在Unity中动态载入Lightmapping
用Lightmapping的好处就不用多说了(渲染速度快又出效果), 下面是解决方案一. 首先, 美术将A.Prefab放到场景中打光, 渲出Lightmapping, 假设生成的的是A_Lightmapping.exr二.然后, 在运行时载入此A.Prefab, 这时是没有Lightmapping的, A模型是花的三. 载入对应的Lightmapping并且添加进来原创 2015-06-21 22:47:43 · 2807 阅读 · 2 评论 -
【Unity3d】在Unity3d中调用外部程序及批处理文件,写自动化编译脚本需要注意的地方
如果调用外部普通应用程序, 比如notepad.exe 这样调用static public bool ExecuteProgram(string exeFilename, string workDir, string args){ System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartIn原创 2015-06-18 19:09:27 · 3274 阅读 · 2 评论 -
【Unity3d】疑难杂症解决之系统报错:Supplied NxActorDesc is not valid. createActor returns NULL
最近用Unity3d开发的游戏项目忽然频频报错:Supplied NxActorDesc is not valid. createActor returns NULL.按照csdn的搜索结果:http://blog.csdn.net/zzxiang1985/article/details/43561833使用NGUI时偶尔会遇到以下两个报错:Supplied原创 2015-06-20 00:08:13 · 1614 阅读 · 0 评论 -
【Unity3d】如何解决错误:A script behaviour has a different serialization layout when loading
我们的项目是使用C#做为开发语言在实际开发中碰到一个问题,加载一个Prefab, Unity会报以下错误:A script behaviour has a different serialization layout when loading. (Read 24 bytes but expected 40 bytes), Did you #ifdef UNITY_EDITOR原创 2015-06-18 18:54:32 · 6580 阅读 · 0 评论 -
【Unity3d】热更新Assetbundle资源以及需要注意的地方
热更新技术,是当前网络游戏的一项必要功能, 在此只讨论Assetbundle资源的更新, 不讨论代码的更新。一、进行资源梳理切分,哪些资源是独立性较好的,依赖链清晰的,可以归纳到一个包的,把资源依赖的层级关键画好。二、将资源分为两大类,一类为内置Resources资源,一类为Assetbundle资源 内置Resources资源或者叫AssetsLibrary,由Unity自行管原创 2015-06-22 16:42:55 · 2157 阅读 · 0 评论 -
【Unity3d】如何开发Unity自动化补丁工具
当前手游需要具备热更新能力,那么如何拥有了热更新机制,如何把本次版本与上次版本的差异补丁打出来呢?这是当前我们项目的原理:一、在每次出全量二进制版本,或者出补丁前,先执行一个“生成版本数据库”的前置流程工具脚本它的作用是将当前所有的资源的MD5码,以及关联资源的MD5码全部生成到一份XML文件中那如何将关联资源也取出来呢? 使用EditorUtility.CollectDepend原创 2015-06-22 17:22:06 · 1523 阅读 · 0 评论 -
在OsX系统上使用Jenkins自动构建发布Unity3d的iOS版本到fir.im
一、在OsX系统上安装Jenkins二、打开终端,安装XCode的命令行工具xcode-select --install三、添加xcodeproj和fir-cli工具gem install xcodeprojgem install fir-cli四、在~目录中新建一个Unity.rb文件,内容是需要对导出的iOS工程进行修改的脚本,其中releaseTarget.f原创 2016-06-02 22:08:15 · 1651 阅读 · 0 评论