摘要:
protobuf是google的一个开源项目,可用于以下两种用途: (1)数据的存储(序列化和反序列化),类似于xml、json等; (2)制作网络通信协议。 源代码下载地址:https://github.com/mgravell/protobuf-net 开源项目地址如下:https://code 阅读全文
摘要:
Unity3D提供的代码级别的和屏幕相关的类主要是以下两个: (1)Screen.orientation 可以用于设置当前游戏的屏幕方向状态; (2)Input.deviceOrientation 可以获取设备的屏幕方向状态。 下面的代码根据设备的实际朝向设置App的屏幕方向: publ... 阅读全文
摘要:
C#处理json文件主要有两种方式: (1)使用JavaScriptSerializer类,需要引入System.Web.Extension库,并添加下面两个引用: using System.Web; using System.Web.Script.Serialization; 主要代码... 阅读全文
摘要:
Unity3D提供的NavMesh系统可以方便的解决游戏的寻路问题,但是该系统有一个比较让人不理解的问题: NavMesh导航时会忽略Physics系统本身的碰撞,也就是说NavMeshAgent在移动的过程中不会被Collider阻挡,而是会直接走过去(但是OnTriggerEnter等触发... 阅读全文
摘要:
在实际的项目开发中,一般需要程序抽象出一些在几何意义上有明确意义的参数,这样方便策划或美术在自己的机器上进行调试。 下面是一个可变参的地下城摄像机的简单实现:// 第三人称摄像机,平移和旋转会同时进行平滑public class ThirdPersonalCamera : MonoBehavi... 阅读全文
摘要:
根据游戏类型的不一样,会需要各种各样的摄像机,下面将分享三种典型的摄像机类型:(1)地下城摄像机;(2)第三人称跟随摄像机;(3)鼠标控制旋转摄像机。将这些控制脚本拖动到场景的MainCamera上即可。 为了辅助测试,使用了下面的角色移动/旋转控制脚本:using UnityEngine;u... 阅读全文
摘要:
有时候我们可能会有这样的需求,就是在编辑模式下,控制移动场景中的物体,这里面有两个点要解决: (1)怎么在编辑模式下运行一个脚本; (2)怎么有效地响应鼠标按键。 第一个问题可以使用编辑器属性ExecuteInEditMode让脚本在编辑模式也能实时地更新。下面的代码用来控制物体的移动,并... 阅读全文
摘要:
有时候需要在Scene视图中绘制一些辅助线,方便进行一些编辑的工作,可以通过如下类和函数完成: 绘制辅助线,相关类: Gizmos类:用于在Scene视图中绘制调试信息或辅助线,这些辅助线只有在Scene中能看到,Game视图中看不到。 Handles类:绘制各种东西,可以绘制一些3D g... 阅读全文
摘要:
自定义类型的显示: public class TestClass { public int value; public string name = ""; } public class TestEditor : EditorWindow { public static TestEditor wind 阅读全文
摘要:
Unity中的Inspector面板可以显示的属性包括以下两类:(1)C#以及Unity提供的基础类型;(2)自定义类型,并使用[System.Serializable]关键字序列化,比如:[System.Serializable]public class TestClass{ public ... 阅读全文