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. java中关于转义字符的一个bug

    在java中,你可以定义 char c = '\u4f60'; char m = '\u0045'; char e = '\u554a'; 这样的字面量,例如: System.out.println( ...

  2. [solr] - solr5.2.1环境搭建 - 使用tomcat做为容器

    这里忽略solr其他依赖环境的搭建,这里搭建solr5.2.1.使用Java1.7.0_17,tomcat使用6.0.36版本的. 1.下载solr压缩文件 Solr是Apache基金组织在lucen ...

  3. nodejs爬虫——汽车之家所有车型数据

    应用介绍 项目Github地址:https://github.com/iNuanfeng/node-spider/ nodejs爬虫,爬取汽车之家(http://www.autohome.com.cn ...

  4. 【PHP系列】PHP组件详解

    缘起 枫爷之前做过几年的PHP的研发,大部分都是在开源框架的引导下,编写代码.现在依然,本能的会去让我使用某个PHP框架开发PHP应用,也是因为懒吧,没有好好的去研究研究除了框架之外的一些东西. 今天 ...

  5. 用JS获取地址栏中的参数的简易方法

    这个方法用起来超级简单,传入参数即可直接获取地址栏中的参数 代码如下 function GetQueryString(name) { var reg = new RegExp("(^|&am ...

  6. Vuex 学习总结

    好在之前接触过 flux,对于理解 vuex 还是很有帮助的.react 学到一半,后来因为太忙,就放弃了,现在也差不多都忘记了.不过感觉 vuex 还是跟 flux 还是有点区别的. 对于很多新手来 ...

  7. 使用Compute Shader加速Irradiance Environment Map的计算

    Irradiance Environment Map基本原理 Irradiance Environment Map(也叫Irradiance Map或Diffuse Environment Map), ...

  8. 用json传值时,最后一个不加逗号

    <javascript> $('.obj').css( 'position':'relative', 'top':'100px', 'left':'100px' ); </javas ...

  9. 2761: [JLOI2011]不重复数字(哈希表)

    2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1770  Solved: 675[Submit][Stat ...

  10. 获取手机 IP

    /** *  获取用户ip * *  @return 获取用户ip */ + (NSString *)getIPAddress { NSString *address = @"an erro ...