Unity3d Serialize问题】的更多相关文章

备忘: 1. ScriptableOjbect中,由于Serialization的原因,不能使用基类引用来存储子类对象,这样都会导致数据丢失 2. 无法直接对Unity的数据如,vector3, quaternion等使用BinaryFormatter进行序列化,会报“SerializationException: Type UnityEngine.Vector3 is not marked as Serializable”.要绕过这个问题的姿势是,自己对Vector3进行包装.下面是其中一种方…
用 Sublime 已经有很长一段时间,很舒适,很贴心,根本停不下来.之前因为是开发页游,所以是用 AS3 开发,近段时间,新开了个手游项目,引擎方面选定了 Unity3D,老实说,之前没有太多的 3D 的概念,只是自己偶尔会下个 AS3 写的 3D 引擎玩一下,折腾折腾,并没有实际的工作中用到过相关的东西,如今项目需要用 Unity3D,有些兴奋,这可不是自己折腾的小打小闹了. Unity 支持的脚本有3种:C#, JS, Boo,我们这边是打算使用 C#,在使用语言的问题上并没有做太多的讨论…
转自http://www.unitymanual.com/thread-21597-1-1.html 此总结由自己经验及网上收集整理优化内容 包括:1.代码方面:2.函数使用方面:3.ngui注意方面:4.数学运算方面:5.内存方面:6.垃圾回收方面 等等...本着相互交流 共同进步的原则 好了,总结如下: 1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码 function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#…
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被特定的事件调用.最常用的列在下面:Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物理代码.FixedUpd 一. 脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函…
1 GUI汇总 function OnGUI() { GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1 GUI.Box(Rect(1,21,100,20),"I'm a Box"); //2 GUI.Button(Rect(1,41,100,20),"I'm a Button"); //3 GUI.RepeatButton(Rect(1,61,120,20),"I'm a RepeatButt…
在游戏开发中,游戏角色占了很大的篇幅,可以说游戏中所有的内容都是由主角所带动.这里就介绍一下角色类的设计和持久化. 一.角色类应用场景和设计思想 游戏中的角色类型不一而足,有不同的技能,有不同的属性等等.有些一个玩家只有一个角色,有些一个玩家可以有多个角色.这里就目前项目来描述一下角色类的构造,思路都是类似的. 早期我写角色类都是直接一个Class,然后想到什么属性就往里面添加,如果游戏过程中需要对属性的修改,逻辑判断也写在这个类中,这样必然导致类的庞大和臃肿,最后你自己也忘记了自己写在什么地方…
http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unity3D脚本中文系列教程(九) 类,继承自Behaviour. 用于light components的脚本接口.使用这个来控制Unity光源的所有方面.这个属性完全与现实在监视面板中的值相同.通常光源都是在编辑器中创建,但是有时候需要从脚本中创建.function Start () {    //制作一个游戏…
◆ static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵. 类方法 ◆ Static function DrawCube(center:Vector3,size:Vector3):void 描述:用center和size绘制一个立方体.function OnDrawGizmosSelected() {        //在变换位置处绘制一个变透明的蓝色立方体        Gizmos.color=Color(1,0,0,5);        Gi…
http://dong2008hong.blog.163.com/blog/static/4696882720140302848544/?suggestedreading&wumii Unity3D脚本中文系列教程(四) Array 类 数组允许你将多个对象存储在一个变量中. Array类只能用于JavaScript .更多关于C#或JavaScript中ArrayLists ,字典或哈希表的信息参考MSDN . 这是一个基本的例子,说明可以使用一个数组类做什么 function Start(…
原 文:http://cache.baiducontent.com /c?m=9d78d513d9841df41ea6837e7c01a6660e20f6743da7c76508c3e34f84152d563763f7fc677c1f5e95833e7000dc5441afb57365377471ebcb96d51f9cac925f7ed578292d42d01e418f04fc8b007e907ec71bf4af1fe5b1f73290b9d2a485120c94&p=9357d40586cc…
这里是全部Unity3d在网络中能用到相关的类及方法.纵观參数功能, Unity3d来写一个手游是不二的选择: RPC 能够传递的參数 int float string NetworkPlayer NetworkViewID Vector3 Quaternion BitStream能够传递的參数 void Serialize (bool value) void Serialize (char value) - only one byte [0, 255] void Serialize (shor…
由于项目不得不用到json来解析服务器端传来的数据,于是不得不选择一种在unity3d上面可用的json.开始根据网上推荐LitJson,于是下载下来源码,导入项目: 经过测试可以用:但是移植到ipad时,就各种问题了,上网查问题也没结果,就发现有人说JsonMapper is not compatible with IOS,太坑爹不兼容. 于是又根据网友推荐的MiniJson,功能虽然没有litjson强大,不能够解析嵌套数组,但是可以满足自己现在的需求.最终经过两天的挣扎,测试litjson…
Scut提供Unity3d Sdk包.便利的高速发展和Scut游戏server对接: 看Unity3d示为以下的比率: 启动Unity3d项目 打开Scutc.svn\SDK\Unity3d\Assets文件夹下的TestScene.unity项目文件,选中Main Camera.将TestGUI.cs文件拖动到Inspector窗体的Script,如图: 点击执行.例如以下:   文件夹层次说明 1)       Net层:封装Http与Socket请求操作,以及网络协议的数据解析和请求參数的…
protobuf-net优化效果图 protobuf-net是Unity3D游戏开发中被广泛使用的Google Protocol Buffer库的c#版本,之所以c#版本被广泛使用,是因为c++版本的源代码不支持Unity3D游戏在各个平台上的动态库构建.它是一个网络传输层协议,对应的lua版本有两个可用的库:一个是proto-gen-lua,由tolua作者开发,另外一个是protoc,由云风开发.protobuf-net在GC上有很大的问题,在一个高频率网络通讯的状态同步游戏中使用发现GC过…
1. 尽量避免每帧处理,可以每隔几帧处理一次 比如: [C#] 纯文本查看 复制代码     function Update() { DoSomeThing(); } 可改为每5帧处理一次: [C#] 纯文本查看 复制代码     function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } } 2. 定时重复处理用InvokeRepeating 函数实现 比如,启动0.5秒后每隔1秒执行一次 DoSomeThing 函数…
AssetBundle 类,继承自Object.AssetBundles让你通过WWW类流式加载额外的资源并在运行时实例化它们.AssetBundles通过BuildPipeline.BuildAssetBundle创建. 参见:WWW.assetBundle ,Loading Resources at Runtime ,BuildPipeline.BuildPlayer function Start () { var www = new WWW ("http://myserver/myBund…
优化内容 包括: 1.代码方面: 2.函数使用方面: 3.ngui注意方面: 4.数学运算方面: 5.内存方面: 6.垃圾回收方面 等等... 1. 尽量避免每帧处理,可以每隔几帧处理一次 比如:   function Update() { DoSomeThing(); } 可改为每5帧处理一次:   function Update() { if(Time.frameCount % 5 == 0) { DoSomeThing(); } } 2. 定时重复处理用InvokeRepeating 函数…
原文:http://my.oschina.net/faint/blog/296785 第一部分 dll 1 下面大多数内容,都是使用c#编译的dll来实现的. 2 编译为dll后,要拖放到unity3d的Assets里面,才能using到. 3 有以下类似错误,就是使用了非.net 2.0编译的dll.注意项目必须是在.net 2.0版本编译的才能正常在unity3d当中使用. Unhandled Exception: System.TypeLoadException: Could not lo…
[转载]Unity3d多人在线教程 (2013-02-25 16:02:49) 转载▼ 标签: 转载   原文地址:Unity3d多人在线教程作者:lsy0031 Unity 多个玩家开发教程 Unity多人在线教程 欢迎Unity用户,在这儿你将学习网络的使用. 希望你们过得愉快并且希望这个教程对你们有所帮助. 1.简介 这个教程的目的是展示Unity网络功能,我们将告诉你如何创建一个基本的以及用Master服务器/客户端,UDP服务器/客户端增强的网络应用程序来进行网络连接.在这个教程里我们…
Scut提供Unity3d Sdk包,方便开发人员快速与Scut游戏服务器对接: 先看Unity3d示例如下: 启动Unity3d项目 打开Scutc.svn\SDK\Unity3d\Assets目录下的TestScene.unity项目文件,选中Main Camera,将TestGUI.cs文件拖动到Inspector窗口的Script,如图: 点击运行,如下: 目录层次说明 1)       Net层:封装Http与Socket请求操作,以及网络协议的数据解析和请求参数的打包,其中NetWr…
Photon Server与Unity3D的交互分为3篇博文实现 (1)Photon Server的服务器端配置 (2)Photon Server的Unity3D客户端配置 (3)Photon Server与Unity3D客户端的交互 1.客户端向服务器端发送请求 PhotonEngine.Peer.OpCustom(byte customOpCode, Dictionary<byte, object> customOpParameters, bool sendReliable); 在客户端任…
1.首先从Github-Protobuf下载代码,本文下载的版本号是3.1.0. 2.仔细查看各个README,有相关的资源下载和编译说明. 3.在一个方便的地方创建一个Install类型的文件夹,放置Cmake生成的工程文件相关内容,使用CMake-gui配置,生成visual studio ide工程. CMAKE_CONFIGRATION_TYPES是工程配置类型,可以删除不感兴趣的配置. CMAKE_INSTALL_PREFIX是导出visual studio ide项目文件的位置 根据…
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体的作用: 可以重复的创建具有相同结构的游戏对象. .1下面来讲解一下如何制作一个简单的预设体(上下为流程和结果图): .2 创建多个prefabs_new(代码,结果图): using UnityEngine; using System.Collections; //[ExecuteInEditMo…
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功能. .3 根据书中的提示 做了一个 简易的机器人游戏(只实现了行走) 关于如何在mac(windows)下安装unity3d工具: http://jingyan.baidu.com/article/1e5468f9055a6b484961b737.html 关于unity工具界面分布及功能: 场景…
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使用U3D 5.3.X之后版本已经集成的单元测试模块Editor Test Runner. 0x01 你好,TDD TDD,测试驱动开发改变了我们常见的工作流程,不要求先写逻辑代码,反而要求先完成测试代码.待测试代码完成之后,我们再将目光转移到逻辑代码,根据测试的要求,完成逻辑代码,使之能够通过经过拆…
warensoft unity3d 组件的Alpha版本已经发布了将近一年,很多网友发送了改进的Email,感谢大家的支持. Warensoft Unity3D组件将继续更新,将改进的功能如下: 1.Warensoft Unity3D 通信组件将添加对SqlServer以及其他数据库的直接访问支持(即:使用SQL语句). 2.Warensoft Unity3D通信组件将加强HttpClient的功能. 2.新添加Warensoft Unity3D GUILIb,该LIB是一套基于UNITY3D…
1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它向开发者提供了一套基于Editor的可视化编辑工具,可以用来管理代码结构等.本文为uFrame1.6版本在项目中实践的记录,主要包括一些uFrame中的基本概念以及应用的流程. 2.新建uFrame工程 本小节主要内容包括: 在uFrame新建工程 在uFrame的可视化编辑器中打开工程仓库 在uF…
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要内容就是分析5.X版本的AssetBundle机制(包括创建资源包.压缩资源包.加载资源包和从资源包中加载/卸载资源等几个方面)及其关键的API使用方式并总结一些对项目的建议(例如根据不同的情景,选择不同的包体加载方案等等). 2.AssetBundle系统的新功能 本小节包括: AssetBund…
在CSDN上看到了<搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源>(http://www.csdn.net/article/2013-11-21/2817585-changyou-Genesis-3D-open-source)的新闻,就把这个引擎下载安装了. 用过Unity3d的朋友会发现,Genesis-3D的界面非常类似于Unity3d:主菜单都是“新建工程”.“新建场景”:在场景树中可以创建摄像头.立方体.粒子.灯光等:在左下角的“工程”中可以创建C#脚本.材质.精灵…
接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识. Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的Mono运行时还未升级. 新编译器仍针对C# 4,是旧的编译器也支持的版本. 新编译器目标框架为.Net 3.5,也是之前支持的框架. Mono是如何运行的? *.cs源文件通过编译器编译成IL(中间文件) IL 运行在Mono的 JIT(just in time) Mono虚拟机运行在物理机中 查看…