随笔分类 -  Unity项目开发日志

Unity做过的项目开发日志
摘要:Reflection Reflection是C#程序员的一个最有力工具 最常用的例子来说明反射的用处是一个插件系统。假设你正在创建一个 接受用户创建 的扩展程序,有没有办法预先知道哪些方法这个扩展他们有或有扩展的名字将是什么,除非你可以检查编译的程序集,并在运行时提取信息,这正是反射呢,等等 功能需求 目前,我正在使用Unity开发一个游戏,用户界面是在游戏中(3D UI)。这意味着... 阅读全文
posted @ 2014-07-16 11:48 赵青青 阅读(2007) 评论(0) 推荐(0) 编辑
摘要:App热更新需求 我正在使用Unity 3D开发一个Android的应用,它会下载AssetBundles并加载它们的内容,但由于AssetBundles不能包含脚本,我将使用预编译的C#脚本,并使用Mono反射来加载它(我不知道我会怎样,但看着办吧) 。但现在我不知道该如何预编译.cs文件,所以有 阅读全文
posted @ 2014-07-16 10:00 赵青青 阅读(689) 评论(0) 推荐(0) 编辑
摘要:一. 什么是Doxygen?Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打捞铁达尼号同样的辛苦。大部分有用的批注都是属于针对函式,类别等等的说明。所以,如果能依据程序本身的结构... 阅读全文
posted @ 2014-07-14 10:47 赵青青 阅读(6968) 评论(2) 推荐(3) 编辑
摘要:Unity的Layer Unity是用 int32来表示32个Layer层,int32用二进制来表示一共有32位。 0000 0000 0000 0000 0000 0000 0000 0000 31 0 看几个例子 开启layer 2 其中 <<左边的 1表示有[开启],0表示没有该layer[忽 阅读全文
posted @ 2014-07-02 15:42 赵青青 阅读(4377) 评论(0) 推荐(0) 编辑
摘要:需求 方便策划一步一步的创建Actor 思路分析 Unity的Editor中提供创建向导的功能,ScriptableWizard 代码实现 创建一个WizardCreateActor继承自ScriptableWizard,放在Editor/下 文档 ScriptableWizard API:http 阅读全文
posted @ 2014-06-27 17:19 赵青青 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:关卡编辑器 关卡编辑器插件开发日记 1. Apply to Prefab [替换Prefab] 2. 获取Scene的中间坐标 比如每次 New Actor时,都出现在Scene视图的中间 3. Scene Context Menu[场景视图添加右键菜单] 可以参考NGUI的 UIWidgetCon 阅读全文
posted @ 2014-06-27 17:09 赵青青 阅读(5298) 评论(0) 推荐(0) 编辑
摘要:目地 这篇博客教大家如何扩展Hierarchy 默认的Hierarchy 在Unity的Edior编辑器中,默认的Hierarchy如下 扩展的Hierarchy 扩展示例 MyInitOnLoad脚本 创建MyInitOnLoad.cs,放在Editor目录下 自定义菜单 扩展Hierarchy后 阅读全文
posted @ 2014-06-23 14:37 赵青青 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:扩展需求 在Scene视图中获取鼠标的位置 Demo 在Scene视图中,当鼠标点击时实例化一个Cube 重点部分 实现代码using UnityEngine; using UnityEditor; [CustomEditor(typeof(MyGrid))] public class MyGridInspector : Editor { MyGrid grid; pu... 阅读全文
posted @ 2014-06-21 19:44 赵青青 阅读(2027) 评论(0) 推荐(0) 编辑
摘要:需求 为Unity的Editor窗口添加右键菜单 实现代码 阅读全文
posted @ 2014-06-20 14:33 赵青青 阅读(5962) 评论(0) 推荐(0) 编辑
摘要:一、简介Unity的Assetbundle是Unity Pro提供的功能。理解:Asset 资源,资产;Bundle :包,一批,捆;字面上的意思,就是把资源打包。在项目中怎么使用Assetbunlde呢?答:我们的项目分为两个工程:Art和Client。其中Art工程,把Prefab打包成Asse... 阅读全文
posted @ 2014-06-07 18:01 赵青青 阅读(1204) 评论(0) 推荐(0) 编辑
摘要:ScriptableObject ScriptableObject是一个类,它允许你存储大量用于共享的数据独立脚本实例,不要迷惑这个类同样可以叫做 SerializableObject,可以理解成是一个Unity串行化工具。这是一个编辑器类并且你可以在Inspector面板中编辑数据。例如:如果你有 阅读全文
posted @ 2014-06-07 17:59 赵青青 阅读(3111) 评论(0) 推荐(1) 编辑
摘要:协程是不同步的 协程 不是 线程,协同程序是 不同步 的 一个线程在程序中和其他线程是异步运行的,在多处理器机器中一个线程可以同时与所有其他线程的实时运行其代码,这使得线程编程能够解决很复杂的事情,因为可能在相同的时间里一个线程在改变它而另一个线程正在读取它,这意味着另一个线程实际上可以改变的东西在游戏中处理的中间似乎是你的源代码一行。这是因为你写的代码是由机器变成汇编语言,更是更复杂... 阅读全文
posted @ 2014-05-24 22:03 赵青青 阅读(9691) 评论(0) 推荐(1) 编辑
摘要:在mac上开发ios游戏,版本管理软件必不可少,这里记录一下我在mac上使用过的svn app. SnailSVN 官网:https://langui.net/snailsvn/ 免费版本:SnailSVN Lite: SVN for Finde‪r‬ (只支持一个svn仓库) 能与Finder结合 阅读全文
posted @ 2014-05-08 13:01 赵青青 阅读(789) 评论(0) 推荐(0) 编辑
摘要:DataManager管理游戏中数据,当然这个类中大部分的属性和方法都是Public 函数列表 阅读全文
posted @ 2014-01-20 17:55 赵青青 阅读(378) 评论(0) 推荐(0) 编辑
摘要:GameManager在游戏中很重要,处理整个游戏的流程,但是在这个类中尽量也只是写一些重要的方法,调用其它类中的方法。 枚举项 函数列表 方法解释 //当玩家碰到障碍(障碍Type,碰撞Position) public void obstacleCollision(ObstacleObject obstacle, Vector3 position) //当玩家收集到金币 ... 阅读全文
posted @ 2014-01-20 16:44 赵青青 阅读(649) 评论(0) 推荐(0) 编辑
摘要:前言 许久没有更新日志了,之前写了GUIManager,GUIClickEventReceiver还有AudioManager,这次写MissionManager 引用关系 首先看下MissionManager在项目中的引用关系 解释一下引用关系: MissionManager是一个单例类,类中定义了和任务相关的属性的方法,其它类中通过单例引用MissionManager中的方法 Ga... 阅读全文
posted @ 2014-01-13 17:45 赵青青 阅读(402) 评论(0) 推荐(0) 编辑
摘要:前言 项目名称:3D跑酷项目 写作目地:使用Asset Server进行多人协作开发过程中,记录遇到的问题 问题1:UIAtlas无法自动更新 描述:NGUI的Atlas图集(图片)无法自动更新 后果:sprite丢失,切图不对应,到另一个同事那儿UI变乱了 解决办法 方法一:把NGUI的Atlas 阅读全文
posted @ 2013-11-29 19:34 赵青青 阅读(631) 评论(0) 推荐(0) 编辑
摘要:UI元素更新及界面跳转 继上篇日志《Unity开发之 GUIClickEventReceiver》,再谈一下我们如何管理游戏中的UI元素更新及界面跳转 UI绑定 图一:Inspector面板 Public GameObjectName与GameObject一一对应 UI结构及命名规范 图二:Hier 阅读全文
posted @ 2013-10-31 11:49 赵青青 阅读(877) 评论(0) 推荐(0) 编辑
摘要:在我们的Unity游戏项目中,GUI的表现采用NGUI。记录一下我们的处理方式: 需要解决的问题 1、需要处理大量按钮的点击事件 2、需要处理界面跳转事件 3、需要处理界面元素更新事件 解决方案 GUIClickEventReceiver 解决按钮点击事件 GUIManager 管理GUI的跳转与更 阅读全文
posted @ 2013-10-31 11:07 赵青青 阅读(702) 评论(0) 推荐(0) 编辑
摘要:Unity音频管理 游戏中的声音管理最常用的组件莫过于AudioSource和AudioClip,我的做法是建立是一个AudioManager类(单例类)管理各个音频,谈一下我的经验: 函数列表 Start函数:设置音频整体参数; 编辑器面板 拖拽文件赋值 AudioSource文档 逻辑实现代码 public void playSoundEffect(Soun... 阅读全文
posted @ 2013-10-31 10:55 赵青青 阅读(884) 评论(2) 推荐(0) 编辑