[Unity3D] 和Unity3D的一些事

Before

一开始知道Unty3D引擎,貌似还是大一或者大二,那时Unity3D还是收费软件,不像现在Perfonal Version免费。

XNA|MonoGame

再后来,在Coursera上发现一门课Beginning Game Programming with C#,科罗拉多大学的课,总共12周,不过,最终却没拿到认证,因为中间有段时间公司安排出差。时间上错过了,不过,我还是完成了这门课,虽然时间已经晚了,Cousera和科罗拉多大学不会在颁发认证,但我还是看完了所有视频课程、完成了所有Assignments。

和别人不一样,我的开发环境是Linux+MonoDevelop+MonoGame,而不是Dr Tim用的Windows+VS2013+XNA,所以当时遇到了一些发生在Linux环境下的小问题,多数都解决了,不过也有一些问题仍然无解,比如MonoGame的声音。

课程完成之后,就准备做两款小游戏试试,其中,往坦克大战Clone上投入了不少时间,游戏的核心基本已经做出来了。

还记得当时遇到的一个非常有趣的Bug。坦克移动时,周围有障碍物时,很难转弯,屡思不得其解。后来突然搞懂了。

  1. XNA精灵移动都是按像素计算的,两个挨着的精灵,即使差一像素,也会被卡住
  2. 后来,就在移动时,做了些手脚,让坦克移动时,停止按键时,做一个5像素的取舍,避免出现就差一像素转弯的情况

最后,这个问题就解决了。

当时的Mind Map:

详细的介绍 Tank War

Unity3D

结果,Unity3D免费了。虚幻引擎4也免费了。我很快转到了Unity3D下,还获得了一份Michagen State University在Cousera上Introduction to Game Development的课程认证

还做了一个3D扫雷的Demo

现在,正在筹划着正式Release一款小游戏,详细介绍暂时保密。 原则上来讲,我也是一个Indie Game Developer & Designer了。 ^^

后记

像在Begining Game Programming With C#里Dr Tim里讲的,

年轻时候,学吉他是用的旧的破木吉他学的。后来,换了更好的吉他,我就不会弹了吗?不是的。

他是借此来阐述自己开设这门c#和xna课程的理由,毕竟微软自己都不在支持XNA了。也正如Dr Tim所说,确实,从他的课里学到了很多C#及游戏引擎的知识,在Unity3D里也是无缝对接。

另外,对比一下XNA和Unity3D

  1. XNA很简陋,完成同样的工作,所写代码量远远高于Unity3D
  2. Unity3D跨平台支持性超强,其他游戏引擎很难望其项背,现在Editor连Linux都支持了,这点XNA要差很多
  3. Unity3D更新更快,XNA微软自己都不更新了,不过MonoGame开源项目依旧在继续
  4. 另外,很多VR/AR sdk都支持Unity3D

PS

一些资源分享

时间: 2025-01-01 15:43:45

[Unity3D] 和Unity3D的一些事的相关文章

【和我一起学习Unity3D】Unity3D的坐标控制

坐标这个东西,在Unity3D里面是分为几个类的,分别是Vector2,Vector3,Vector4:含义分别是:二维坐标系,三维坐标系,四维坐标系,一般做游戏呢,用到的最多的就是Vector3了,这篇文章主要讲的也是这个. 一般一个场景中,有X轴,Y轴,Z轴三个轴,以默认的坐标来说 X轴控制左右,Y轴控制上下,Z轴控制前后. 在这里有一个函数值得特别说明一下,就是transform组件里面的LookAt,这个函数用以将一个GameObject的Z轴对准另外一个GameObject,这样的话,

启动unity3d 提示“unity3d EditorWindow could not be loaded because the script is not found in the projec”

转载请注明出处:http://blog.csdn.net/u010019717 更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/space-uid-18602.html 估计很少有人遇到这个问题,正常Mono中这个问题会直接提示出来. 主要是 脚本名和类名的不统一所致. 看一下正常启动的效果(EditorWindow): ?? 说一下错误出现的操作 脚本名为 DetectLeak .cs , 类名为:DetectLeaksWindow.默认让这个窗口打开着,

【Unity3D】Unity3D之 注册表动态存取游戏存档——PlayerPrefs类

1.Unity3D提供了一个用于本地持久化保存与读取的类--PlayerPrefs.工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值. 2.PlayerPrefs类支持3中数据类型的保存和读取,浮点型,整形,和字符串型.    分别对应的函数为:    SetInt();保存整型数据:    GetInt();读取整形数据: SetFloat();保存浮点型数据:    GetFlost();读取浮点型数据: SetString();保存字符串型数据

[Unity3D]Warensoft Unity3d Communication http通信中问题若干

如图所示错误 因为使用NGUI做界面,尽管UI ROOT Active 为false 不活动看不到仍然报错.将UI ROOT删除添加一个camera,错误解决. 原因:在scene中camera的tag问题,改为下图所示错误解决.

我不是九爷 带了解 Unity3D与VR虚拟现实

对于大多数人来说,可能不知道Unity3D是什么,但是却知道VR虚拟现实是什么,更不会把VR虚拟现实和Unity3D联系在一起,外行的人根本不知道这两者之间有什么关系.那么,今天来给你讲解一下Unity3D与VR虚拟现实之间的区别和联系分别是什么? 什么是Unity3D?Unity3D是一软专业3D游戏引攀,其具备跨平台发布.离效能优化.高性价比,AAA级游戏画面演染效果等特点.目前Unity3D应用范围广泛,从手机游戏到联网的大型游戏,从严肃游戏到电子商务,再到VR虚拟现实均可完美呈现. 什么

Unity3D 学习教程 1 入门

unity3d_4.0下载含安装教程 免费:可以随意下载或者观看 百度下载地址(提取码91x6) 视频教程下载 unity3d_4.0下载含安装教程 unity3d脚本下载含八百个实例教程打包 unity3d4.5下载含破解补丁 Unity5下载32位64位含破解补丁 unity3d视频教程 Unity3D游戏制作 Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专

Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同对应的动画就是clip,每个运动都是一段单独的动画,使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画. animation.Play("name"); animation.CrossFade("name"); 下面的是它的几个属性 Animation:默认的动画片段: Aniamtions:包含的动画片段: Play Automaticall

[游戏开发-学习笔记]菜鸟慢慢飞(11)- Unity3D中的Json

关键词:Json,C#,LitJson,Unity3D 内容:Unity3D中,Json的一些常规用法. 定义:(必应词典) Json(JavaScript Object Notation)是一种由道格拉斯·克罗克福特构想设计.轻量级的数据交换语言,以文字为基础,且易于让人阅读.尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯. Json可以分为两个部分: Json Object(A collection of name/val

Unity3d 引擎原理详细介绍

体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于创建交互式3D应用程序在多个平台.Unity3D由游戏引擎和编辑器.该引擎包含的软件组件,在游戏的研究与开发中最常见的和经常性的任务.发动机所涵盖的主题包括声音,图形,物理和网络功能.该引擎支持C#,Boo,和JavaScript脚本编程. 另一个部分是Unity编辑,作为脚本和其他组件,包含游戏场