unity3D插件开发——前篇
Unity3D(以下简称Unity)是今年来非常流行的游戏开发引擎。他不仅有足够和unreal(虚幻)引擎媲美的渲染效果,足够多的平台输出,更为突出的就是Unity本身的编辑器。unity本身除了使用mono脚本(c#,js等)来作为游戏脚本外,还可以用于扩展编辑器,也就是所谓的unity插件。所以unity除了有大量的游戏开发者、虚拟现实(虚拟现实增强)开发者外,还有大量的插件开发者。这从unity store(官方商城)就足以看得出来。有了大量的插件,使用得当将会大大提高开发效率,为开发团队节约成本。
在中大型游戏开发中,编辑器开发十分必要
除了使用第三方插件外,开发团队十分有必要使用自己定制的插件。当然,这不是说一定要写插件。我曾写过很多unity的小游戏、比如贪吃蛇、吃豆人、横版冒险岛类的游戏、当然还有经典的坦克大战,这些游戏是如此的简单,以至于可依在1-2天内完成,以至于写插件都觉得是个累赘。是的,插件也只是在必要时才写。我参与过中型的手机在线游戏开发,项目含有一个纸娃娃系统,做法是拿到模型后,程序将其拆分成各个部件的Prefab,然后在游戏中拼接起来。于是我就动手写了纸娃娃的插件,功能非常简单,通过菜单打开一个窗口,在窗口中进行各种设置,然后点一下拆分。或者我会更加偷懒地写一个右键菜单功能,选择要拆分的模型,右键拆分。ok,就是这么便利。当然,这个也仅仅的编辑器开发中较为简单的。
为什么是“我”来写插件?
这不是个问题,在团队中,谁都可以写插件,如果你开发的插件好用,那么你离开发团队的核心不远了。试想想,团队中大多数的人在使用你的插件,那你在团队中的价值就显而易见了。说白了,你就是比普通写游戏逻辑的牛(可能你的技术本不牛)。
开发插件的乐趣
作为游戏开发者,我很喜欢做游戏,我会非常享受做游戏的每一个瞬间。开发插件作为游戏开发的一环,也是我的乐趣所在。甚至有一段时间热衷于研究数值曲线,利用unity自带的animation窗口编辑器曲线,最终产生游戏数值,这种想法,我都佩服自己。游戏业普遍是高强度开发,悲观的情绪不仅影响开发,更重要的是会影响身体健康。所以,苦中作乐,甚至接受他,从中发现属于自己的乐趣,是保持开发热情的关键。有时候,看着代码,都会笑。
开发插件的知识储备
官方的api文档还是不错的,E文不行的话,unity圣典也是个好地方,里面有还不错的翻译。还有就是多看看别人写的插件,比如NGUI。
为什么要写这个文章?
一是记下游戏开发的一切,因为热爱游戏开发。二是为了看看自己的表达能力,程序员普遍表达能力不足,借此提高也是不错的事情。
unity3D插件开发——前篇的更多相关文章
- VS2010+MVC4+Spring.NET2+NHibernate4-传统三层架构-前篇
VS2010+MVC4+Spring.NET2+NHibernate4 - 传统三层架构 - 前篇 一直追求使用开源项目,就因一个字:懒! 一直想整理一下的,却一直懒到现在!从当初用的MVC3到现在的 ...
- Unity3d《Shader篇》漫反射
Unity3d<Shader篇>漫反射 Shader "Custom/Ambient" { Properties { _MainTex ("Base (RGB ...
- 【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(2)
Lighting和Shading(2)镜面反射的控制和模拟次级表面散射技术 http://www.4gamer.net/games/216/G021678/20140703095/index_2.ht ...
- ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇
原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇 第三章 为控件添加事件 好了,我们之前以前开发一个控件.而且也添加了属性,开发也很规范,但是那个控件还差最后一点:添加事件. 系列 ...
- 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施
原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施 前言:本篇 ...
- [原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)
原文:[原创].NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) .NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇) 前言:上一篇文章讲述了一些实现DAL的理论,本 ...
- webpack2 前篇
webpack2 前篇 #webpack 前两天用了一天半时间琢磨了下webpack2,想起去年这时候,面对webpack1那样恶心的文档,前前后后搞了好几次才摸索清楚,那真是吐了. 划重点 其实we ...
- 文本分类需要CNN?No!fastText完美解决你的需求(前篇)
http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!f ...
- Android深入四大组件(四)Android8.0 根Activity启动过程(前篇)
前言 在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Android深入四大组件(一)应用程序启动过程(后篇)这两篇文章,它们都是基于Android 7.0,当我开始阅读An ...
随机推荐
- CSS sliod属性
CSS solid 属性 制作过网页的人都有为画线而烦恼的经历,先来认识一下“Border”(画边框),它是CSS的一个属性,用它可以给能确定范围的HTML标记(如TD.DIV等等)画边框,它可以定义 ...
- php in_array语法
bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假 var_dump(in_array( ...
- poj1611
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 35918 Accepted: 17458 De ...
- FastDFS+Nginx部署详细教程
本例使用到的所有tar和zip包地址:http://download.csdn.net/detail/corey_jk/9758664 本例中使用CentOS1.CentOS2两台机器实现. 1 GC ...
- jQuery ajax() 参数,回调函数,数据类型,发送数据到服务器,高级选项
$.ajax({ options:/*类型:Object; 可选.AJAX 请求设置.所有选项都是可选的.*/ async:/*类型:Boolean; 默认值: true.默认设置下,所有请求均为异 ...
- JAVA集合一之集合简介(Collection,List,Set)
在编写JAVA程序中,我们经常会遇到需要保存一组数据对象,此时,我们可以采用对象数组来进行多个对象的保存,但对象数组存在一个最大的问题即在于长度上的限制,如果说我们现在要保存一组对象,但是我们并知道数 ...
- 【转】对于HttpClient和HtmlUnit的理解
原文地址:http://www.haohaoblog.com/?p=1327&utm_source=tuicool 做Java编程的人其实,很多不懂SEO,也不知道如何让百度收录等等,当然,对 ...
- 用OC和Swift一起说说二叉树
前言: 一:在计算机科学中,二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"(left subtree)和"右子树"(right subt ...
- 关于CSS各种选择器,还有各种引入样式表的区别,import导入样式表,在介绍一些伪类选择器
(一)CSS选择器: 1.标签选择器:通过HTML的标签名直接选择该标签 2.类选择器:通过.选择器的名称{} 来对添加了class属性的标签进行选中 3.ID选择器:通过#选择器的名称{} 来对添加 ...
- C#语言基础——语句
1·语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为"控制流"或"执行流".根据程序对运行时所收到的输入的响应,在程序每次执行时控制流可能有所不 ...