unity3D插件开发——前篇

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

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

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

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

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

开发插件的乐趣

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

开发插件的知识储备

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

为什么要写这个文章?

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

时间: 2024-10-12 09:19:40

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

Android中插件开发前篇之----类加载器

前言 关于插件,已经在各大平台上出现过很多,eclipse插件.chrome插件.3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载.在android如何实现插件也已经被广泛传播,实现的原理都是实现一套插件接口,把插件实现编成apk或者dex,然后在运行时使用DexClassLoader动态加载进来,不过在这个开发过程中会遇到很多的问题,所以这一片就先不介绍如何开发插件,而是先解决一下开发

【Linux】数据流重导向(前篇)

数据流重导向 (redirect) 由字面上的意思来看,好像就是将『数据给他传导到其他地方去』的样子? 没错-数据流重导向就是将某个命令运行后应该要出现在屏幕上的数据, 给他传输到其他的地方,例如文件或者是装置 (例如打印机之类的)!这玩意儿在 Linux 的文本模式底下可重要的! 尤其是如果我们想要将某些数据储存下来时,就更有用了! 1)什么是数据流重导向? 什么是数据流重导向啊?这得要由命令的运行结果谈起!一般来说,如果你要运行一个命令,通常他会是这样的: 我们运行一个命令的时候,这个命令可

医疗时鲜资讯:医疗行业未来的变革(续前篇)

背景: 上周参加完展会后,有感而发,将以往自己所阅读的或者了解的关于目前医疗行业的部分时鲜资讯进行了总结分析.尤其是文末猜测了未来可能会发生变革的几大方向,最近在健康界等医疗热门媒体中又发现了与自己想法类似的文章,此处就不强调谁资浅资厚,不争论谁先谁后,仅就未来医疗行业的发展趋势,继续啰嗦几句. 医疗变革: 全科医生培训: 深圳商报的吴江[1]在"'家庭医生'服务实至名归还差什么?"一文中提到了家庭医生服务的概念.文中也提到了,在国外"'全科医生'其实就是'家庭医生'&quo

《1024伐木累》-小白篇之开发网站,三天!(前篇)-总章节八

往期回顾: 空军k所,老王留下迷惘的耗仔独自与吴博士沟通需求,回到公司,老王又指定耗仔为新项目负责人,在退居"二线"月侠的热心帮助下,耗仔重新调整工作计划,新来的明儿也即将加入,一切似乎都在顺风顺水的发展着,下班时,一通电话打破了平静局面,光大人,月侠,耗仔要火速赶往空军某部,三天时间开发航空某部网站.   小序 人生! 若白驹过隙,匆匆而已, 光阴似锦,无法倒流, 青春宝贵,奋斗无休, 北漂! 有激情,有迷茫,有机遇,有挑战, 不拼搏又何必留恋? 年轻,真好! 引子 “走,走,快!吴

WCF研究-前篇

前篇 1.从SOA说起 2.什么是WCF 3.WCF通信模型 4.Endpoint与ABC以及元数据 1.SOA (Service Oriented  Architecture) Ø 一种组件架构模型 Ø 主要特点 每个服务具有明确的服务边界. 服务独立,低耦合. 采用标准的契约定义和通信协议. 服务是自解释的. 2.WCF (Windows Communication  Foundation) Ø 是微软为SOA(Service-Oriented  Architecture)而设计的一套完整的

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

http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!fastText完美解决你的需求(前篇) fastText是个啥?简单一点说,就是一种可以得到和深度学习结果准确率相同,但是速度快出几个世纪的文本分类算法.这个算法类似与CBOW,可爱的读着是不是要问CBOW又是个什么鬼?莫急,听小编给你慢慢到来,一篇文章,让你了解word2vec的原理,CBOW.Skip-

从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十六 ║ Vue前篇:ES6初体验 & 模块化

缘起 昨天说到了<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this>,通过总体来看,好像大家对这一块不是很感兴趣,嗯~~这一块确实挺枯燥的,不能直接拿来代码跑一下那种,不过还是得说下去,继续加油吧!如果大家对昨天的小demo练习的话,相信现在已经对JS的面向对象写法很熟悉了,如果嵌套字面量定义函数,如何使用this关键字指向.今天呢,主要说一下ES6中的一些特性技巧,然后简单说一下模块化的问题,好啦,开始今天的讲

Java从零开始(前篇)

前篇 自述 本人大三通信专业,咸鱼一枚,对专业所学傅里叶变换等实在提不起兴趣. 幸好略学过c系列语言,但也浅尝辄止,浑浑噩噩,深入之后被指针弄地晕头转向. 想在毕业后转行计算机,于是我下定决心从零开始学习Java语言. 系统地学习,务实地记录.不怕头秃,干就完事. 目标 书籍与视频结合,每天至少花两个小时学习Java知识. 对每天所得所想加以记录,希望每天都能获取知识,提升自己. 对知识的梳理尚且不全面的,我会在后续进行补充纠正. 写在最后 Java学习系列博客用来给自己复习知识,构建知识体系.

【整理】unity3d优化总结篇

对项目优化有很多,如:mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,现在继续补上,该内容为本人经验以及网上收集整理,希望大家有更好的优化方法,能够继续跟帖,一起探讨,共同进步. 优化: 1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩格式,但他们都兼容ETC格式, 2. 对于透明贴图,我们只能选择RGBA 16bit 或者RGBA 32bit. 3. 减少FPS,在ProjectSe