Unity3D(以下简称Unity)是今年来非常流行的游戏开发引擎。他不仅有足够和unreal(虚幻)引擎媲美的渲染效果,足够多的平台输出,更为突出的就是Unity本身的编辑器。unity本身除了使用mono脚本(c#,js等)来作为游戏脚本外,还可以用于扩展编辑器,也就是所谓的unity插件。所以unity除了有大量的游戏开发者、虚拟现实(虚拟现实增强)开发者外,还有大量的插件开发者。这从unity store(官方商城)就足以看得出来。有了大量的插件,使用得当将会大大提高开发效率,为开发团队节约成本。

在中大型游戏开发中,编辑器开发十分必要

除了使用第三方插件外,开发团队十分有必要使用自己定制的插件。当然,这不是说一定要写插件。我曾写过很多unity的小游戏、比如贪吃蛇、吃豆人、横版冒险岛类的游戏、当然还有经典的坦克大战,这些游戏是如此的简单,以至于可依在1-2天内完成,以至于写插件都觉得是个累赘。是的,插件也只是在必要时才写。我参与过中型的手机在线游戏开发,项目含有一个纸娃娃系统,做法是拿到模型后,程序将其拆分成各个部件的Prefab,然后在游戏中拼接起来。于是我就动手写了纸娃娃的插件,功能非常简单,通过菜单打开一个窗口,在窗口中进行各种设置,然后点一下拆分。或者我会更加偷懒地写一个右键菜单功能,选择要拆分的模型,右键拆分。ok,就是这么便利。当然,这个也仅仅的编辑器开发中较为简单的。

为什么是“我”来写插件?

这不是个问题,在团队中,谁都可以写插件,如果你开发的插件好用,那么你离开发团队的核心不远了。试想想,团队中大多数的人在使用你的插件,那你在团队中的价值就显而易见了。说白了,你就是比普通写游戏逻辑的牛(可能你的技术本不牛)。

开发插件的乐趣

作为游戏开发者,我很喜欢做游戏,我会非常享受做游戏的每一个瞬间。开发插件作为游戏开发的一环,也是我的乐趣所在。甚至有一段时间热衷于研究数值曲线,利用unity自带的animation窗口编辑器曲线,最终产生游戏数值,这种想法,我都佩服自己。游戏业普遍是高强度开发,悲观的情绪不仅影响开发,更重要的是会影响身体健康。所以,苦中作乐,甚至接受他,从中发现属于自己的乐趣,是保持开发热情的关键。有时候,看着代码,都会笑。

开发插件的知识储备

官方的api文档还是不错的,E文不行的话,unity圣典也是个好地方,里面有还不错的翻译。还有就是多看看别人写的插件,比如NGUI。

为什么要写这个文章?

一是记下游戏开发的一切,因为热爱游戏开发。二是为了看看自己的表达能力,程序员普遍表达能力不足,借此提高也是不错的事情。

unity3D插件开发——前篇的更多相关文章

  1. VS2010+MVC4+Spring.NET2+NHibernate4-传统三层架构-前篇

    VS2010+MVC4+Spring.NET2+NHibernate4 - 传统三层架构 - 前篇 一直追求使用开源项目,就因一个字:懒! 一直想整理一下的,却一直懒到现在!从当初用的MVC3到现在的 ...

  2. Unity3d《Shader篇》漫反射

    Unity3d<Shader篇>漫反射 Shader "Custom/Ambient" { Properties { _MainTex ("Base (RGB ...

  3. 【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)

    Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.ht ...

  4. ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

    原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇 第三章 为控件添加事件 好了,我们之前以前开发一个控件.而且也添加了属性,开发也很规范,但是那个控件还差最后一点:添加事件. 系列 ...

  5. 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施

    原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施 前言:本篇 ...

  6. [原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)

    原文:[原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) .NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) 前言:上一篇文章讲述了一些实现DAL的理论,本 ...

  7. webpack2 前篇

    webpack2 前篇 #webpack 前两天用了一天半时间琢磨了下webpack2,想起去年这时候,面对webpack1那样恶心的文档,前前后后搞了好几次才摸索清楚,那真是吐了. 划重点 其实we ...

  8. 文本分类需要CNN?No!fastText完美解决你的需求(前篇)

    http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...

  9. Android深入四大组件(四)Android8.0 根Activity启动过程(前篇)

    前言 在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Android深入四大组件(一)应用程序启动过程(后篇)这两篇文章,它们都是基于Android 7.0,当我开始阅读An ...

随机推荐

  1. RejectedExecutionException 分析

    当往一个固定队列ArrayBlockingQueue 不停的提交任务时,会发生什么? 请看如下代码 private static final int QUEUE_SIZE = 20; private ...

  2. PCB信号集

    每一个进程都有一个pcb进程控制块,用来控制进程的信息,同时信号在pcb中有两个队列去维护他,一个是未决信号集,每一位对应一个信号的状态,0,1,1表示未决态,另一个是信号屏蔽字(阻塞信号集),也就0 ...

  3. CentOS下WDCP下的MYSQL开启远程连接

    1.首先要在防火墙开启3306端口访问 2.然后做如下操作 如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Windows 主机中点击开始菜单,运行,输入"cm ...

  4. "ORA-01460: 转换请求无法实现或不合理"及C#操作Blob总结

    class BlobDemo { private static readonly string ConnectionString = "Data Source=Tcco;User ID=sc ...

  5. 安装msdn出现的问题及解决

    安装msdn出现的问题及解决 用xx.iso 镜象文件安装 运行第一个镜象文件的setup.exe安装到一部分提示:安装程序无法打开文件 C:\Documents and Settings\empty ...

  6. ROM与RAM知识

    “ROM”和“RAM”的意思: “ROM”:N年前代表一种只能写入和读取,而不能改写和擦除的设备,可以用光驱CD-ROM来说明这个道理.目前的“ROM”已经不是这个道理了,它的技术已经飞快的发展到现在 ...

  7. android学习1——LinearLayout

    用linearLayout,上面放4个按钮,不作任何设置.xml文件内容如下: <?xml version="1.0" encoding="utf-8"? ...

  8. [APUE]进程关系(上)

    一.终端登录 1. 4.3+BSD终端登录 系统管理员创建一个通常名为/etc/ttys的文件,其中,每个终端设备有一行,每一行说明设备名和传到getty程序的参数,这些参数说明了终端的波特率.当系统 ...

  9. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  10. 兜转数年,老跳成了卖过软件开过店写过APP的电脑老师

    老跳(因为性格太跳,被大家公认的外号),87年生,湖南人,上篇中老赵的大学下铺兄弟. 2008年大学毕业两人一同去的广州,住在求职公寓里找工作. 老赵找工作找了半个月,老跳却在到广州的第二天就开始上班 ...