07 2013 档案
摘要:Unity3d 中的svn插件 插件下载地址:http://www.dehome.net/down/viewfile.php?file_id=53
阅读全文
摘要:win8模式下unity web player的报错信息在如下目录下:C:\Users\xxx\AppData\Local\Temp\UnityWebPlayer\log注:目录里的文件可能被隐藏了,记得设置一下下
阅读全文
摘要:http://www.doc88.com/p-468115858366.html
阅读全文
摘要:http://blog.csdn.net/pandawuwyj/article/details/7959335Unity3D的项目,这周吃亏在宏上了。大背景是项目需要在Unity中用Hudson自动生成不同平台的版本。程序设计语言的预处理的概念:在编译之前进行的处理。#if UNITY_WEBPLAYER BuildTarget target = BuildTarget.WebPlayer; #elif UNITY_STANDALONE_WIN && UNITY_EDITOR BuildTarget target = BuildTarget.StandaloneWind...
阅读全文
摘要:原文来自于:http://wiki.unity3d.com/index.php?title=AutoSave#C.23_-_AutoSave.cs (奋斗的菜鸟_1029633680)很多时候,在编写项目时,遇见unity 的Buge导致强制退出,这时根本来不及保存hierarchy视图中的东西,这是一件很糟糕的事情,所以在今天看资料时,有幸的看到了这篇自动保存项目场景的源码。很是不错。源码如下: 1 using UnityEngine; 2 using UnityEditor; 3 using System; 4 5 public class AutoSave : EditorWindow.
阅读全文
摘要:这个插件是我在国外网站逛论坛发现的,试用了一下非常好用,是一个轻量级的插件就一个类。开发中尤其是和美术合作的时候,可能你会发现Project视图中有很多没有用到的资源,但是你又不敢删除,因为你不知道那些资源是没用到的,那些资源是用到的。这时候ResourceChecker可以帮上大忙。gitHub地址:https://github.com/handcircus/Unity-Resource-Checker将ResourceChecker放在Project视图中的Editor文件夹中,如果没有该文件夹就创建一个。如下图所示,在Unity导航菜单栏中选择 Windows -> Resourc
阅读全文
摘要:异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务。在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel(“yourScene”); 这句代码执行完毕后程序会干什么呢??如下图所示,这是我随便找了一个游戏场景, 在Hierarchy视图中我们可以看到该场景中“天生”的所有游戏对象。天生的意思就是运行程序前该场景中就已经存在的所有游戏对象。然后这些对象就会在执行完Application.LoadLevel(“yourScene”);方法后加载至内存当中。如果该场景中的游戏对象过多那么瞬间将会出现卡一下的情况,因为LoadLe.
阅读全文
摘要:http://www.xuanyusong.com/archives/2378Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不同的游戏对象身上,他们各自都在执行自己的生命周期感觉像是多线程,并行执行脚本的,它是如何执行的呢?我们做一个小小的实验来验证它。如下图所示,在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,然后按照顺序将脚本绑定在对应的游戏对象身上。三条脚本的代码完全一样,只是做了一点名称上的区分,代码写的比较丑我们只是作为测试!!view source01using UnityEng
阅读全文
摘要:http://www.xuanyusong.com/archives/2373Assetbundle 是Unity Pro提供提供的功能,它可以把多个游戏对象或者资源二进制文件封装到Assetbundle中,提供了封装与解包的方法使用起来很便利。1.预设 Assetbundle可以将Prefab封装起来,这是多么方便啊! 而且我也强烈建议大家将Prefab封装成Assetbundle,因为Prefab可以将游戏对象身上带的游戏游戏组件、游戏脚本、材质都封装在一起。当从服务器上将Assetbundle下载以后直接Instantiate就可以放入游戏中。 试想一下,如果只能将原始的二进...
阅读全文
摘要:本文记录如何通过unity3d进行脚本资源打包加载1、创建TestDll.cs文件public class TestDll : MonoBehaviour { void Start () { print("Hi U_tansuo!"); }}2、生成dll文件 (1)使用vs打包 (2) 使用mono打包 (3) 命令行打包 mac下(亲测): /Applications/Unity/Unity.app/Contents/Frameworks/Mono/bin/gmcs -r:/Applications/Unity/Unity.app/Contents/Frameworks
阅读全文
摘要:unity web 缓存解决方案 官方发布 web版限制五十M缓存,根据自己的经验绕了过去,解决了缓存的问题。带工程,带源代码。由于本人的水平也有限,是用JS来解决的,如果你还是没有头绪,可以购买来试试。http://item.taobao.com/item.htm?id=14324470019
阅读全文
摘要:《蒸汽之城》游戏中,为什么会黑屏?或者无法正常进入游戏?我们在进行多项测试中发现少数用户会出现黑屏、无法进行游戏。经过问题收集与排查,发现大部分出现黑屏的用户,都是曾经正常访问过Unity3D类的游戏,后因不明原因出现异常,就无法再次正常访问游戏了,每次登陆都出现黑屏现象,清空浏览器缓存,或更换浏览器均无效果。 针对以上情况的黑屏现象,技术人员经过检查后,发现此问题是由于unity缓存中有破损文件导致,清空unity缓存后,即可正常访问。Unity缓存不同于浏览器缓存,无法直接通过清空浏览器缓存来进行清空,需要单独的工具或访问untiy官网来进行清空,现提供unity 官网清空方式,以解决此问
阅读全文
摘要:今天在Unity3D编辑器中进行功能测试的时候,编辑器突然崩溃了(就是整个窗口突然消失,进程直接结束)之后也没有任何错误报告信息提示。好吧,应该是偶现问题,我侥幸地想,我用的好歹也是正版啊,不应该总出这种莫名其妙的问题吧。 再次进行同样的功能测试,编辑器又崩溃了,依然没有任何错误报告,这让我想进行调试都无从调起。想想有什么线索吧,突然想起编辑器在硬盘上也是有log输出的,在崩溃的时候,如果已经进行了错误log输出,那么就可以找到崩溃的线索。在磁盘上翻了下,最后在以下目录找到了log文件: C:\Documents and Settings\xxxx(用户名)\Local Settin...
阅读全文
摘要:我们知道,Unity3D在WebPlayer的发布模式下是沙箱环境中运行的。根据Unity3D的官方文档所述,WebPlayer模式下不能使用非托管的DLL,也就是说,传统C++游戏客户端的生成MiniDump所使用的非托管dll——dbgHelp.dll,在.net中也可以使用P/Invoke方式来调用MiniDumpWriteDump,但在WebPlayer模式下却不能用了。 那么在WebPlyaer模式下的Unity3D客户端崩溃时,应该如何收集异常信息呢? 既然不能使用非托管的DLL,不能生成MiniDump,那我们退而求其次,能否得到异常的信息呢?比如发生异常时的调用栈信息,...
阅读全文
摘要:分享个我们项目常用的目录结构,微调过很多次,最终到了这个版本。个人认为这种管理资源方式是不错的。欢迎探讨各个细节~ 更新于2013.5.30Asserts--Editor 自写的灵活方便插件--Editor_NGUI 较大型三方的插件(前面加上Editor是为了让所有编辑器都集中在一块)--Editor_WaypointTool 较大型三方的插件--Gizmos 使用GIZMOS所需要的标志等临时文件--StreamingAssets (包括JsonData目录/Assetbundle目录/各种只读文件预储存目录,这个目录将自动打包到导出程序,用Application.streamingAss
阅读全文
摘要:http://blog.sina.com.cn/s/blog_5b6cb9500101aejs.html项目中管理计时器太混乱难看了,用好听点的话来说就是代码不优雅。想了下就随手简单写了个时间管理模块了。其实有好几种实现方式的,但是选用了U3D最为合适和简单的方式写。效率可能不高,但做小游戏是压根没问题的了。原理简单点来说就是统一管理计时器。每个计时器有自己的开始、暂停、结束、重新开始。当计时结束之后则调用相应的一个或者多个函数。Timer.cs算是基类,TimerManager.cs则是管理每一个计时器的管理程序。根据不同的项目改至适用即可。就那样,代码非常简单。就是一个委托回调。具体代码放
阅读全文
摘要:1 using System.Collections.Generic; 2 using System.IO; 3 using UnityEditor; 4 using UnityEngine; 5 6 class CreateAssetbundles 7 { 8 // This method creates an assetbundle of each SkinnedMeshRenderer 9 // found in any selected character fbx, and adds any materials that 10 // are...
阅读全文
摘要:CameraFacingBillboardCameraFacingBillboardFrom Unify Community WikiJump to: navigation, searchAuthor: Neil Carter (NCarter)Contents [hide] 1 Description2 Usage3 Technical Discussion4 C# - CameraFacingBillboard.cs5 Mods6 Alternative ModDescriptionThis script makes the object which it is attached to a
阅读全文
摘要:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是
阅读全文
摘要:http://www.haogongju.net/art/1931680首先要鄙视下unity3d的文档编写人员极度不负责任,到发帖为止依然没有更新正确的示例代码。view sourceprint?// C# Example// Builds an asset bundle from the selected objects in the project view.// Once compiled go to "Menu" -> "Assets" and select one of the choices// to build the Asset
阅读全文
摘要:原文:http://www.j2megame.com/html/xwzx/ty/3179.htmlUnity3D博客http://www.dapp.com.br/byDapphttp://www.m2h.nl/unity/byM2Hhttp://www.everyday3d.com/blog/byBartekdrozdzhttp://www.untoldentertainment.com/blog/category/blog/http://unity3dstore.com/byunity3dstorehttp://thecodebook.wordpress.com/bythecodebookh
阅读全文
摘要:http://www.cnblogs.com/jisi5789/archive/2013/04/22/3036589.htmlusing UnityEngine;namespaceLiulala.Project{ public classData { public System.Action OnDateChange; public int Date1 { get; private set; } public int Date2 { get; private set; } public voidSetData(intdate) { ...
阅读全文
摘要:这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难。这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友学会如何更好的写游戏脚本,当然本文这紧紧是我这么多年对游戏开发的认知,你也可以有你自己的看法。首先我们看看游戏主要是由哪几部分组成的,如下图所示,任何平台下的任何游戏核心都是由:数据、逻辑、渲染三大部分组成。当你写过》=2个平台下的游戏时你会发现其实游戏开发很“容易”,为什么“容易”呢?因为此时你会发现所有平台下开发游戏的模式,如下图中的“数据”与“逻辑”两部分真的是完全一样的,这两部分是
阅读全文
摘要:http://www.xuanyusong.com/archives/1427异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务。在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel(“yourScene”); 这句代码执行完毕后程序会干什么呢??如下图所示,这是我随便找了一个游戏场景, 在Hierarchy视图中我们可以看到该场景中“天生”的所有游戏对象。天生的意思就是运行程序前该场景中就已经存在的所有游戏对象。然后这些对象就会在执行完Application.LoadLevel(“yourScene”);方法后加载至内存当
阅读全文
摘要:原文:http://blog.teotigraphix.com/2011/05/17/unity3d-uml-gameobject-cheat-sheet/1. GameObject_Structure2. Component_Design3. Behaviour_Design4. Animation_Design
阅读全文
摘要:http://zijan.iteye.com/blog/871207翻译自: http://www.everyday3d.com/blog/index.php/2010/10/04/c-events-and-unity3d/ zijan译 (括号内是译者自己对文章和技术的理解) (Unity3D是现在越来越流行的3D游戏引擎,它支持JavaScript,c#和Boo语言。如果你是个Unity3D的爱好者,但只会JavaScript。这里有一篇文章关于处理事件和消息传递,也许更适合你。A Useful Messaging System) 你知道C#有一个内置的事件机制吗?这个东东在Unity3.
阅读全文
摘要:using UnityEngine;using UnityEditor;using System.IO;using System;using System.Text;using System.Collections.Generic;using LitJson;public class BuildAssetBundlesFromDirectory{ static List config=new List(); static Dictionary> assetList=new Dictionary>(); [@MenuItem("Asset/Build Asset...
阅读全文
摘要:1.unity的资源包一旦量很大的时候卸载不干净,你可以尝试反复切场景 ,内存诡异的 增加 一直到爆,assetsbundle.unload(true);有问题你想要卸载你必须先让你加载过的资源为null才能释放掉内存 直接assetsbundle.unload(true);是释放不掉的2.3.4.
阅读全文
摘要:将一个项目分为两个编辑环境,一个是editor,一个是target。editor只是策划人员拖拖拽拽编辑场景,打包时程序自动将每个场景资源打包生成一个XXX.unity3d文件,并最后生成一个场景配置文件(xml或json),最终这些文件都会放到server端(或某个local目录)。target环境只有程序代码,由程序员负责,没有场景资源。运行时入口程序通过读取场景配置文件,动态导入server端的XXX.unity3d,并且初始化场景。调试程序修改bug,最后生成手机或网页可运行的最终程序。以后只需要策划更新某个XXX.unity3d文件覆盖原来的即可,不需要程序员参与。
阅读全文
摘要:原文:http://zijan.iteye.com/blog/911102用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载。比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕。应该优先加载用户附近的场景资源,在游戏的过程中,不影响操作的情况下,后台加载剩余的资源,直到所有加载完毕。本文包含一些代码片段讲述实现这个技术的一种方法。本方法不一定是最好的,希望能抛砖引玉。代码是C#写的,用到了Json,还有C#的事件机制。在讲述代码之前,先想象这样一个网络游戏的开发流程。首先美工制作场景资源的3D建模,游戏设计人员把3D建模导进Unity
阅读全文
摘要:引言:在使用 Unity3d 开发微端、或者网页游戏的时候经常需要将资源打包成 AssetBundle ,然后通过 www 的方式动态的下载资源。今天要分享的是我再动态下载 Animation 骨骼动画的时候走的一些弯路和自己最后的解决方案。我们的项目中的动画资源有上百套之多,每一套动画大概在300KB 到 900KB 之前,所以有一个很重要的需求就是动态的下载需要的动画。错误的方法:我看到需求后想到的第一种方法是将 FBX 倒入的 Prefab 实例化,将其中的 Animation 通过 ScriptObject 保存成Asset文件,然后导出成 AssetBundle 文件。在游戏运行的时
阅读全文
摘要:在使用 Unity3d 倒入Fbx模型的时候,动画的动画片段需要自己手动添加模型多了以后会是一个不小的工作量。Unity3d支持 编辑器脚本来控制资源导入的过程。添加一个AssetPostprocessor 监听其中的OnPreprocessModel 方法,在其中使用ModelImporter 的clipAnimations 属性来为导入的动画添加动画片段。我的项目中美术给的模型中,按类型划分,每一个类型都有一套动画。我是采用的方法是 分别将不同类型的模型放置到不同的文件夹,通过路径来判断应该添加什么样的动画片段。这里如果你的项目中实现了Unity3d中读取策划填写的表格的话其实也是可以的。
阅读全文
摘要:一。什么是协同程序 协同程序,即在主程序运行时同时开启另一段逻辑处理,来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。二。协同程序的开启与终止 在Unity3D中,使用MonoBehaviour.StartCoroutine方法即可开启一个协同程序,也就是说该方法必须在MonoBehaviour或继承于MonoBehaviour的类中调用。 在Unity3D中,使用StartCoroutine(string methodName)和StartCoroutine(IEnumerator routine)都可以开启一个线程。区别在于使用字符串作为参数可以开启线程并在线程结束前终止线程
阅读全文
摘要:Update当MonoBehaviour启用时,其Update在每一帧被调用。仅调用一次(每帧)LateUpdate当Behaviour启用时, 每帧调用一次;FixedUpdate当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用。可以多次调用, 不能用于帧频很高的情况;Awake当一个脚本实例被载入时Awake被调用。StartStart仅在Update函数第一次被调用前调用。Reset重置为默认值。OnMouseEnter当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter。OnMouseOver当鼠标悬浮
阅读全文
摘要:AssetBundles are files which you can export from Unity to contain assets of your choice. These files use a proprietary compressed format and can be loaded on demand in your application. This allows you to stream content like models, textures, audio clips and even entire scenes separately from the sc
阅读全文