• 介绍用C#和VS2015开发基于Unity架构的2D、3D游戏的技术


    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-19 一、简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中其他因素的干扰。一旦你熟悉了这些基本用法,在实际场景中依然是这样用。 本例子最终实现的效果如下: 二阅读全文
    posted @ 2016-05-19 06:21 rainmj 阅读(319) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-19 一、简介 Unity 5.3.4的Lighting Window有3个选项卡:Object、Scene、Lightmaps。 二、Object(对象选项卡) 利用该选项卡,可以在场景中选择对象的子集并更改其设置,即选择哪些对象应该阅读全文
    posted @ 2016-05-19 06:17 rainmj 阅读(1440) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-19 一、简介 在场景视图中设计不同的场景内容时,可以根据需要勾选相关的渲染选项,以便让场景仅显示其中的一部分或者全部渲染效果。 在这些模式中,其中有一套模式能看到全局光照在干什么事。默认情况下,纹理模式是根据 GI 设置来完全照亮场景阅读全文
    posted @ 2016-05-19 06:13 rainmj 阅读(360) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-19 一、简介 在Unity 5中,Lighting是—种增强场景光照和阴影效果的技术,它可以通过较少的性能消耗使静态场景看上去更真实、丰富,以及更具有立体感,又可以对动态对象进行处理。 早期版本的Unity 4只能对“静态”对象和“动阅读全文
    posted @ 2016-05-19 06:07 rainmj 阅读(2331) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 在大多数游戏情景中,可行进的区域往往不是完全不变的。比如被破坏的路、桥等将不再允许通过。那么,如何控制行进物体呢?有两种解决办法。 第一种解决办法是分层控制,然后动态更改可行进层,比如对于不同的桥,分别用不同的层来控制。但是这种处理有一个局限性,比如一个游戏场景中包含很多桥的情形,每个桥都有自...阅读全文
    posted @ 2016-05-09 06:16 rainmj 阅读(393) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 在具体的游戏情景中,通过分层可以控制物体的行进路线,比如哪些物体只能住水面上行进,哪些物体只能在陆地上行进,哪些物体既能在陆地上行进也能在水面上行进。 二、示例 1、创建场景 (1)在ch1201_Navmesh_Sample工程中,新建一个名为Demo3的场景,在场景中添加下面的对象: ...阅读全文
    posted @ 2016-05-09 06:14 rainmj 阅读(251) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 Off Mesh Link组件用于手动指定路线来生成分离的网格连接。例如,游戏中让行进对象上下爬梯子到达另一块网格的情景就是利用生成分离的网格连接来实现的。 1、基本操作 在场景中选中某个导航网格几何体后,在检视器视图中右击Static右侧的下拉框勾选【Off Mesh Link Genera...阅读全文
    posted @ 2016-05-09 06:11 rainmj 阅读(344) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 本节通过一个简单例子,演示如何利用静态对象实现导航网格,并让某个动态物体利用导航网格自动寻路,最终找到目标。 二、设计步骤 1、添加3个Cube 启动Unity应用程序打开ch1201_Navmesh_Sample工程,新建一个名为Demo1-1.unity的场景,然后在场景中创建3个Cube...阅读全文
    posted @ 2016-05-09 06:06 rainmj 阅读(496) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 导航网格(Navmesh)是世界坐标系中几何体的简化表示,被游戏代理用来进行全局导航。通常,代理有一个目标或一个目的地,它试图找到通往该目标或目的地的路径,然后沿着该路径导航到该目标,这个过程称为寻路(Path Finding)。 注意,导航网格生成(或烘培)通常由游戏开发者在编辑器内完成,而...阅读全文
    posted @ 2016-05-09 05:58 rainmj 阅读(338) | 评论 (0) 编辑
     
    摘要: 开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介 NavMesh(导航网格)是3D游戏世界中用于实现“动态”物体自动寻路的一种技术,它将游戏场景中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上,再通过一系列相应的计算,实现自动寻路最终找到目标。 Unity可以根据编辑的场景,自动生成用于导航的网格。导航时,只需要给被导航的物体...阅读全文
    posted @ 2016-05-09 05:55 rainmj 阅读(314) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Unity提供了下面的关节组件:铰链关节(Hinge Joint)、固定关节(Fixed Joint)、弹簧关节(Spring Joint)、角色关节(Character Joint)、可配置关节(Configuration Joint)。 本节简单介绍这些组件的含义。 二、铰链关节(Hinge Joint) 铰链关节...阅读全文
    posted @ 2016-05-02 22:06 rainmj 阅读(1083) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Unity提供了两种布料组件:交互布料(Interactive Cloth)、蒙皮布料(Skinned Cloth)。为人形动画添加布料组件后,就可以利用布料渲染器将其渲染出来。 二、交互布料(Interactive Cloth) 交互布料组件(Interactive Cloth)可在一个网格上模拟类似布料的行为状态,...阅读全文
    posted @ 2016-05-02 22:05 rainmj 阅读(826) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 恒定力 (Constant Force) 是用于向刚体 (Rigidbody) 添加恒定力的快速实用工具,适用于类似火箭等发射出来的对象,这些对象在起初并没有很大的速度但却是在不断加速。 如果您不希望单次发射对象(如火箭)以较大速率启动而是希望缓慢地进行加速,则这十分适用于这类对象。 下图是由恒定力 (Constant...阅读全文
    posted @ 2016-05-02 22:04 rainmj 阅读(352) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果。 二、创建物理材质 要创建物理材质 (Physics Material),请从菜单栏选择【资源 (Assets)】 -> 【创建 (Create)】 -> 【物理材质 (Physics Material)】。然后将物理材质 (Physi...阅读全文
    posted @ 2016-05-02 22:02 rainmj 阅读(374) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 车轮碰撞体 (Wheel Collider)专门用于创建汽车或其他移动交通工具。 车轮碰撞体是一种针对地面车辆的特殊碰撞体。它有内置的碰撞检测、车轮物理系统及有滑胎摩擦的参考体。除了车轮,该碰撞体也可用于其他的游戏对象。 二、相关属性 1、Mass 质量。该项用于设置车轮碰撞体的质量。 2、Radus 半径。该项用于设...阅读全文
    posted @ 2016-05-02 22:01 rainmj 阅读(2572) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 碰撞组件(Collider) 是另一种必须随刚体 (Rigidbody) 添加的组件,以便允许它和其他组件发生碰撞。或者说,如果仅仅是两个刚体 (Rigidbody) 相互碰撞,则物理引擎不会计算碰撞,除非这两个对象又都附加了碰撞组件 (Collider)。 无碰撞组件 (Collider) 的刚体 (Rigidbod...阅读全文
    posted @ 2016-05-02 21:59 rainmj 阅读(686) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力,使游戏对象像在真实世界中那样进行运动。 任何游戏对象,只有对其添加了刚体组件,该对象才能受重力的影响。 通过脚本为游戏对象添加的作用力,以及通过NVIDlA物理引擎与其他的游戏对象发生互动的运算,都需要为游戏对象添加刚体...阅读全文
    posted @ 2016-05-02 21:56 rainmj 阅读(1134) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 角色控制器(Character Controller)主要用于对第三人称或第一人称游戏主角的控制。如果要创建类人角色,可使用角色控制器 (Character Controller)。这可以是第三人称游戏 (Third Person Platformer) 中的主角色、FPS 射击者或任何敌人角色。 二、基本概念 第三人...阅读全文
    posted @ 2016-05-02 20:44 rainmj 阅读(4576) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 第三人称视角控制器涉及的相关概念有: 1、刚体(Rigidbody)。 2、碰撞体(Collider)。包括球体碰撞体(Sphere Collider)、箱体碰撞体(Box Collider)、网格碰撞体(Mesh Collider)、物理材质(Physics Material)、铰链关节(Hinge Joint)、弹...阅读全文
    posted @ 2016-05-02 20:43 rainmj 阅读(1161) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了。以下部分涵盖 Mecanim 提供的、用于控制及排序动画的主要功能。 二、循环动画片段 使用动画的一个常见操作是确保动画正确循环。例如,表示走路循环的动画片段以类似的姿势开始、结束非常重要(如开始时左脚在地面上,结束时右脚在地面上),这样才...阅读全文
    posted @ 2016-05-02 07:14 rainmj 阅读(737) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Mecanim 动画系统 (Mecanim Animation System) 特别适合使用类人骨架动画。由于类人骨架非常普遍并在游戏中广泛应用,因此Unity 针对类人动画专门提供了专业的工作流程和扩展工具集。 本节主要介绍为模型创建 Avatar 的基本步骤。包括: (1)创建Avatar。 (2)配置Avatar...阅读全文
    posted @ 2016-05-02 07:03 rainmj 阅读(1600) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 使用类人动画时,Mecanim 的强大之处最明显。但是,尽管没有 Avatar 系统和其他功能,非类人动画也仍然受Mecanim的支持。 在 Mecanim 术语中,将非类人动画称为通用动画 (Generic Animations)。 二、添加通用动画的基本步骤 要使用通用动画,转到 FBX 导入器装置 (Rig) 选...阅读全文
    posted @ 2016-05-02 06:52 rainmj 阅读(486) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、制作或购买类人模型 为了充分使用 Mecanim 类人动画系统和类人动画的动画重定位功能,需要先使用其他3D建模软件(例如3ds Max 2015),制作一个搭好了骨架和蒙皮的类人网格模型。 1、什么是类人模型 类人模型也叫类人网格模型,它通常由一组多边形或者三角形网格来组成。 创建类人模型的过程称为建模。 在上面这个图...阅读全文
    posted @ 2016-05-02 06:50 rainmj 阅读(2700) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Unity提供了两种动画系统:一种是早期版本提供的旧版(Legacy)动画系统,旧版本(Legacy)以后将逐步被淘汰掉并在新版中不再支持。另一种是Mecanim动画系统,这是建议使用的新版动画系统。 如果你是初学者,就不要去学旧版(Legacy)动画了,直接学习Mecanim动画系统即可。 二、什么是Mecanim动...阅读全文
    posted @ 2016-05-02 06:45 rainmj 阅读(356) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 上一节已经介绍过了在Unity 5.x中两种创建粒子效果的方式(方式1、方式2)。 这一节我们主要学习第2种方式的基本概念和用法。 Unity 5.x提供的新版粒子系统生成器(Particle System)也叫Shuriken粒子系统,该生成器采用模块化管理,个性化的粒子模块,配台粒子曲线编辑器,使用户很容易就能创作...阅读全文
    posted @ 2016-05-02 06:34 rainmj 阅读(5637) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 粒子系统是作为组件附加到游戏对象上的,有两种添加办法。 二、方式1--添加已制作好的预制体 第1种方式是直接添加已经制作好的预制体。办法是: 1、添加游戏对象 单击菜单栏中的【GameObject】-->【Creat Empty】选项,创建一个空对象,然后将该对象换名为一个有意义的名称,比如:Particles。 2、...阅读全文
    posted @ 2016-05-02 06:22 rainmj 阅读(441) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 Unity 5.x已经自带了粒子系统组件,新建工程后只需要直接导入它就可以使用了。 二、导入Unity自带的粒子系统组件 新建一个工程名为ch09Demos的Unity工程,鼠标右击工程视图下的Assets,选择【Import Package】->【ParticleSystems】: 在弹出的窗口中,默认已经全部选...阅读全文
    posted @ 2016-05-02 06:20 rainmj 阅读(506) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-05-02 一、简介 粒子是在三维空间中渲染出来的二维图像,主要用于在场景中表现如烟、火、水滴、落叶、……等各种效果。 Unity粒子系统 (Particle System) 的一个重要特征是,独立的粒子系统可以通过父子化到相同的根来分组,其中的所有粒子都具有自己的粒子效果 (Particle Effect),但粒子系统中的这些粒子可以一起...阅读全文
    posted @ 2016-05-02 06:15 rainmj 阅读(1129) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、简介 可以通过编辑器窗口 (Editor Windows) 创建自己在 Unity 中的自定义设计工具。来自EditorWindow (而非 MonoBehaviour )的脚本可以影响 GUI/GUILayout 和 EditorGUI/EditorGUILayout 控件。或者,你可以使用自定义检视器 (Custom I...阅读全文
    posted @ 2016-04-27 06:30 rainmj 阅读(380) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、简介 有很多种方法可以补充和扩展 UnityGUI 以满足您的需求。你可以混合和创建控件,并且可以有多种方法来规定用户 GUI 输入的处理方法。 二、复合控件 GUI 中可能会出现各种情况,但总是同时出现两种类型的控件。例如,你可能会使用水平滑块创建通过角色控制的屏幕(Character Creation)。此时,所有这些滑...阅读全文
    posted @ 2016-04-27 06:27 rainmj 阅读(203) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、简介 在Unity 5.x中,GUI控件的布局方式有两种。 一种为固定布局,即在绘制控件的时候将位置参数传入,指定控件的精确位置。另一种是自动布局,适用于控件数量动态改变的情况。或者说,当你已经有了一个预先设计好的界面可以用来阅读全文
    posted @ 2016-04-27 06:24 rainmj 阅读(2620) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、自定义GUI Control 功能控件 (Functional Control) 是游戏必要的,而这些控件的外观对游戏的美感非常重要。在 UnityGUI 中,可以微调控件 (Control) 外观的很多细节。 默认情况下,当你在未定义 GUIStyle 时创建一个控件 (Control),将应用 Unity 的默认 GUI...阅读全文
    posted @ 2016-04-27 06:19 rainmj 阅读(920) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、简介 Unity 5.x内置了—套完整的GUI系统,提供了从布局、控件到皮肤的—整套GUI解决方案,因此可直接利用它做出各种风格和样式的GUI界面,并且扩展性很强(程序员可以基于已有的控件创建出适合自己需求的控件)。 有两种使用GUI的办法,一种是直接将UI添加到层次视图或者场景视图中,然后通过GUI脚本去控制它;另一种是直...阅读全文
    posted @ 2016-04-27 06:15 rainmj 阅读(1068) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-27 一、简介 前面的章节中实际上已经多次使用了GUI,只不过用法都比较简单,这一章系统地介绍Unity 5.x自带的GUI(称为UnityGUI)开发相关的知识。 二、本章要点 对于Unity的早期版本来说,由于其自身提供的GUI设计功能较弱,所以一般还需要借助其他GUI插件(例如:NGUI)来实现。但是,对于Unity 5.x来说...阅读全文
    posted @ 2016-04-27 05:59 rainmj 阅读(505) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 在Unity中可以创建自定义的虚拟按键,然后将设备的输入映射到自定义的按键上。使用虚拟按键的好处是可以让游戏玩家自己定义按键,满足个性化的操作习惯。 创建虚拟按键的方法是依次打开菜单栏中的【Edit】->【Project Setting】->【Input】项,在Inspector视图中会显示当前的虚拟按键列表和参数。 ...阅读全文
    posted @ 2016-04-21 05:49 rainmj 阅读(1079) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 在iOS和Android系统中,操作都是通过触摸来完成的。Input类中对触摸操作的方法或变量如下图所示: 通过GetTouch或者touches可以访问移动没备的触摸数据,数据保存在Touch的结构体中。下图是Touch的结构体变量: 二、基本用法示例 1、示例1(遍历所有Touch并输出Touch的信息) ...阅读全文
    posted @ 2016-04-21 05:47 rainmj 阅读(441) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 Unity可以处理摇杆、游戏手柄、方向盘等标准游戏外设的输入,使用的方法如下图所示: 虚拟按键需要在输入管理器中配置,把外设的输入消息映射给虚拟按键或输入轴以后,就可以在脚本中使用了。 Unity默认为用户创建了若干已经映射了摇杆按钮的虚拟按键,包括Fire1、Fire2、Fire3、Jump以及虚拟轴Horizo...阅读全文
    posted @ 2016-04-21 05:43 rainmj 阅读(477) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 键盘事件也是桌面系统中的基本输入事件。和键盘有关的输入事件有按键按下、按键释放、按键长按,Input类中可以通过下图所示的方法来处理: 上面的方法通过传入按键名称字符串或者按键编码KeyCode指定要判断的按键。 下图所示是常用按键的按键名与KeyCode编码,供读者参考,完整的按键编码请查阅Unity用户手册。 ...阅读全文
    posted @ 2016-04-21 05:41 rainmj 阅读(1012) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 在桌面系统的游戏中,鼠标输入是最基本的输入方式之一。游戏很多操作都需要鼠标来完成,例如武器的瞄准和开火、菜单的单击、物体的拾取等。 鼠标输入的相关事件包括鼠标移动、按键的单击等。 Input类中和鼠标输入有关的方法和变量如下图所示: 在Unity中,鼠标位置用屏幕的像素坐标表示,屏幕左下角为坐标原点(0,0),右上...阅读全文
    posted @ 2016-04-21 05:39 rainmj 阅读(337) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 在Input类中,Key与物理按键对应,例如键盘、鼠标、摇杆上的按键,其映射关系无法改变,程序员可以通过按键名称或者按键编码KeyCode来获得其输入状态。例如,CetKeyDown(KeyCode.A)会在按A键时返回true。 下面是Input类的成员变量: 下面是Input类的成员函数: 二、输入轴(Ax...阅读全文
    posted @ 2016-04-21 05:37 rainmj 阅读(645) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-21 一、简介 Unity提供了—个非常易用和强大的用于处理输入信息的类:Input,利用该类可以处理鼠标、键盘、摇杆/方向盘/手柄等游戏外设,也可以处理iOS/Androd等移动设备的触摸输入信息。 程序员通过编写脚本接收输入信息,完成与用户的交互。 编写处理输入的脚本时,需要注意Unity所有输入信息的更新是在Update方法中完...阅读全文
    posted @ 2016-04-21 05:34 rainmj 阅读(361) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 Unity中的天空盒实际上是一种使用了特殊类型Shader的材质,这种类型的材质可以笼罩在整个游戏场景之外,并根据材质中指定的纹理模拟出类似远景、天空等效果,使游戏场景看起来更完整。 二、搜集天空盒并打包 由于不同的场景使用的天空盒可能不同,因此,作为游戏开发人员,平时你可以注意搜集一些常见的天空盒并将其导出到一个sk...阅读全文
    posted @ 2016-04-20 19:58 rainmj 阅读(484) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面。学习或者回想一下基础的3D有关的数学知识,可以帮助开发者对游戏引擎产生更深刻的了解。 二、坐标系 在游戏开发中,经常会用到不同的坐标系来描述空间中的位置,常用的坐标系有: 1、世界坐标系(World) 用于描述游戏场景...阅读全文
    posted @ 2016-04-20 19:56 rainmj 阅读(585) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 这一张主要介绍3D坐标系的基础知识以及各种形状的天空盒。 二、示例 本章的示例都在ch05Demos工程下。阅读全文
    posted @ 2016-04-20 19:55 rainmj 阅读(192) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、四元数的概念 四元数包含一个标量分量和—个三维向量分量,四元数Q可以记作: Q=[w,(x,y,z)] 在3D数学中使用单位四元数来表示旋转,对于三维空间中旋转轴为n,旋转角度为a的旋转,如果用四元数表示,四个分量分别为: w=cos(a/2) x=sin(a/2)cos(bx) y=sin(a/2)cos(by) z=si...阅读全文
    posted @ 2016-04-20 19:53 rainmj 阅读(746) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 在虚拟的游戏世界中,与3D有关的数学知识决定了游戏引擎如何计算和模拟出开发者以及玩家看到的每一帧画面。学习或者回想一下基础的3D有关的数学知识,可以帮助开发者对游戏引擎产生更深刻的了解。 二、向量 在数学中向量的定义是:既有大小又有方向的量叫作向量。在空间中,向量可以用一段有方向的线段来表示。 向量在游戏开发过程中的应...阅读全文
    posted @ 2016-04-20 19:50 rainmj 阅读(6158) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 Unity引擎提供的Random类可以用来生成随机数、随机点或旋转角度。 1、成员变量 seed:设置用于随机数生成器的种子。 value:返回一个随机数,在0.0(包括)~1.0(包括)之间。(只读) insideUnitSphere:返回半径为1的球体内的一个随机点。(只读) insideUnitCircle:返回...阅读全文
    posted @ 2016-04-20 19:45 rainmj 阅读(708) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、Time类 Unity引擎提供的Time类可获取和时间有关的信息、计算帧速率、调整时间流逝速度等。 1、成员变量 2、示例 (1)在Assets下创建一个“6.5”子文件夹。 (2)在6.5子文件夹下创建一个文件名为Scene5.unity的场景。 (3)在6.5子文件夹下创建一个文件名为Demo5.cs的脚本。 (...阅读全文
    posted @ 2016-04-20 19:42 rainmj 阅读(316) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-20 一、简介 Unity引擎提供了丰富的组件和类库,为游戏开发提供了非常大的便利,熟练掌握和使用这些API,对于游戏开发的效率提高很重要。 这一节我们主要学习Transform的基本用法。本节例子的运行效果如下: 二、Transform组件 场景中的每一个物体都有一个Transform。 Transform组件决定了游戏对象的位...阅读全文
    posted @ 2016-04-20 19:39 rainmj 阅读(3409) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-16 一、简介 在游戏开发过程中,脚本不但需要访问脚本所在的游戏对象的组件,还经常需要访问和控制真他游戏对象。另外,根据项目需求,还可能需要通过脚本创建对象。 本节示例的最终运行效果如下: 二、查找场景中的游戏对象 在Unity脚本中,开发人员可以通过下面量的方式来访问游戏对象。 1、通过名称字符串来查找 使用函数GameObje...阅读全文
    posted @ 2016-04-16 12:06 rainmj 阅读(1797) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-16 一、简介 这一节先利用GUI显示一个简单的界面(以后还会专门介绍GUI),并解释如何在VS2015中调试C#脚本。 本节例子的运行效果如下: 二、调试C#脚本的方式 有以下方式: (1)利用断点调试。断点设置和取消的办法与在控制台应用程序中利用断点调试C#代码的办法相同。 (2)通过Debug类提供的方法在后台输出调试信息。...阅读全文
    posted @ 2016-04-16 11:58 rainmj 阅读(2080) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-16 一、简介 1、常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型。 (1)基本类型 int、float、string、bool (2)数组 public string[ ] familyMembers = new string[ ]{"Greg", "Kate", "Adam", "Mia"} ; pu...阅读全文
    posted @ 2016-04-16 11:52 rainmj 阅读(886) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-16 一、简介 游戏吸引人的地方在于它的可交互性。如果游戏没有交互,场景做得再美观和精致,也难以称其为游戏。 在Unity中,游戏交互通过脚本编程来实现。脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码。通过脚本,开发者可以控制每一个游戏对象的创建、销毁以及对象在各种情况下的行为,进而实现预期的交互效果。 在Unity中...阅读全文
    posted @ 2016-04-16 11:48 rainmj 阅读(568) | 评论 (1) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-11 一、简介 摄像机(Camera)是为玩家捕捉并展示世界的一种设备。场景中至少需要有一台摄像机,也可以在一个场景中使用多台摄像机。这些摄像机可以设置为在屏幕的任何位置或只在某些部分按任何顺序进行渲染。 要将游戏呈现给玩家,相机是必不可少的。可以对相机进行自定义、脚本化或父子化,从而实现可以想到的任何效果。在拼图游戏中,可以让相机 ...阅读全文
    posted @ 2016-04-11 00:30 rainmj 阅读(636) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-11 一、简介 灯光(Light,也叫光源)是每一个场景的重要组成部分,用于照亮场景和对象,从而让游戏具有自己的个性和风格,比如利用灯光可模拟太阳、燃烧的火柴光、手电筒、炮火或爆炸等。 网格模型和材质纹理决定了场景的形状和质感。灯光则决定了场景环境的明暗、色彩和氛围。每个场景中可以使用—个以上的灯光,合理地使用灯光可以创造完美的视觉效...阅读全文
    posted @ 2016-04-11 00:27 rainmj 阅读(465) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-11 一、简介 在地形编辑器一节中,已经告诉了你如何使用已经创建好的树来形成大片树林。这一节告诉你在 Unity 5.3.4中如何利用【树木创建器】一步一步地创建一棵树: 当你学会了创建树的基本操作后,你就可以根据自己的需要创建任意形状的树了: 二、导入Unity自带的Environment组件 如果你原来没有导入Unity自...阅读全文
    posted @ 2016-04-11 00:17 rainmj 阅读(1351) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-10 一、简介 设计完毕基本的场景后,一般都需要先运行看看效果如何,即先让场景“动起来”,以方便观察不同的位置,而不是仅仅观察固定摄像机位置的死板板的场景。 这就是角色控制器的功能(实际上还不仅仅是只有这些功能)。 Unity已经帮你设计好了角色控制器组件(Characters),你只需要导入它,然后就可以直接使用了。 二、...阅读全文
    posted @ 2016-04-10 07:47 rainmj 阅读(1204) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-10 一、简介 Unity拥有功能完善的地形编辑器,支持以笔刷绘制的方式实时雕刻出山脉、峡谷、平原、高地等地形。Unity地形编辑器同时提供了实时绘制地表材质纹理、树木种植、大面枳草地布置等功能。值得—提的是,Unity中的地形编辑器支持LOD(Level of Detail)功能,能够根据摄像机与地形的距离以及地形起伏程度调整地形块...阅读全文
    posted @ 2016-04-10 07:44 rainmj 阅读(4523) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-06 一、简介 Unity自带的资源包也称为标准资源包。换言之,Unity自带的所有标准资源包导入到Unity项目中以后,都会放在Project视图的Standard Assets文件夹下。如果是多平台,除了Standard Asset阅读全文
    posted @ 2016-04-06 09:03 rainmj 阅读(1843) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、简介 组件(Component)在Unity游戏开发工作中非常重要,可以说是实现一切功能所必需的。 1、游戏对象(Game Object) 游戏对象(Game Object)包括空物体、基本几何体、外部导入的模型、摄像机、GUI、粒子、灯光、树木等各类元素。 凡是出现在层次视图中的元素都是游戏对象。 2、组件(Compone...阅读全文
    posted @ 2016-04-05 07:25 rainmj 阅读(564) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、简介 上一章我们学习了如何利用长方体(Cube)制作基本的3D模型,以及如何导入各种资源,本章将在此基础上,分别制作路面、跳板、树、灯光、水面、火光、……等,从而构建一个完整的游戏场景,最后再使用第1人称视图在场景中走一趟,看看各处展现的效果。 二、本章示例运行效果 本章的所有例子都在ch04Demos工程中。阅读全文
    posted @ 2016-04-05 07:11 rainmj 阅读(283) | 评论 (1) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、简介 Unity支持的图像文件格式非常多,包括TIF、PSD、TCA、JPC、PNG、GlF、BMP、IFF、PICT、DDS等。 另外,Unity还支持用Photoshop制作的包含多个图层的PSD格式的图片。PSD格式图片这图层导入Unity之后会自动合并显示,而且该操作还不会破坏PSD源文件的结构。 二、图片格式及尺寸...阅读全文
    posted @ 2016-04-05 07:09 rainmj 阅读(689) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、简介 音频文件 (Audio File) 资源的选择原则应该以无故障地流畅运行为宗旨。下面列出了常用的音频文件。 .AIFF 在导入时转换为未压缩的音频,最适合短音效。 .WAV 在导入时转换为未压缩的音频,最适合短音效。 .MP3 在导入时转换为 Ogg Vorbis,最适合较长的音乐曲目。 .OGG 压缩的音频格式,最适...阅读全文
    posted @ 2016-04-05 07:06 rainmj 阅读(570) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、简介 这一节我们用一个带有“装子弹和上膛”动画的“枪”模型,介绍在3ds Max 2015中编辑它并将其导入到Unity中的过程。 本节示例介绍的gun模型可在《Unity 4.x从入门到精通》附带的资源中找到,自己从网上搜索吧。 二、导出gun.max模型为FBX格式 1、在3ds Max 2015中打开gun.max 在...阅读全文
    posted @ 2016-04-05 07:03 rainmj 阅读(3348) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-05 一、常用三维软件简介 由于游戏引擎本身的建模功能相对较弱,无论是专业性还是自由度都无法同专业的三维软件相比,所以大多数游戏中的模型、动画等资源都是通过专业的三维软件来制作的,制作完成后再将其导入到Unity中使用就行了。 Unity支持几乎所有主流的三维文件格式,例如.FBX、.dae、3Ds、.dxf、.obj等。其中,最常用...阅读全文
    posted @ 2016-04-05 06:55 rainmj 阅读(1594) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-02 一、简介 预制体(Prefab,也叫预设)是“存储在工程视图(Project View)中”的一种特殊的资源,是一种可重复使用的游戏对象(GameObject)的容器。 如果在Project中有多个预制体(Prefab),为了容易查找,可将这些预制体全部保存到Project视图中Assets文件夹的Prefabs子文件夹下。 P...阅读全文
    posted @ 2016-04-02 11:13 rainmj 阅读(2419) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-02 一、基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需要借助专业建模软件来完成)。 Unity 5.3.4内置的3D对象有: Cube:立方体 Spher阅读全文
    posted @ 2016-04-02 08:33 rainmj 阅读(802) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-04-02 一、简介 利用Unity内置的基本模型和工具,不需要借助任何其他的三维建模软件,就可以直接创建出各种3D模型,这是这一章我们首先学习的内容。 当你学会了基本操作技巧后,再进一步利用(3ds Max、Maya、Blender等)专业阅读全文
    posted @ 2016-04-02 07:36 rainmj 阅读(2086) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-31 一、简介 对游戏类型的划分有助于游戏的市场定位,以便吸引具有同一爱好的玩家群体。此外,制作游戏策划方案时,也通常会依据不同的游戏类型来选择桕应的技术方案,只有通过对游戏类型的划分,才能够策划出符合目标群体的相关游戏。 如今,单类游戏已经逐渐消失,大多数游戏都混合了两到三种游戏类型。 二、常见的游戏分类 本信息摘自《Unity 4...阅读全文
    posted @ 2016-03-30 05:23 rainmj 阅读(565) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-31 一、简介 用VS2015编辑C#脚本时,如果让其“显示所有文件”,就会看到VS2015解决方案资源管理器中项目的文件夹结构和Unity的Project下的文件夹结构完全相同: 这样一来,你就可以在VS2015中直接打开编辑不同的C# 脚本文件了,而且还可以直接创建新的C# 脚本,而不必在Unity和VS2015间来回切换。 ...阅读全文
    posted @ 2016-03-30 05:14 rainmj 阅读(1465) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-31 一、简介 光源 (Lights) 是每个场景的重要组成部分。网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围。您可能会在每个场景中使用多个光源。让它们一起工作需要一些实践,但结果却相当惊人。 二、基本概念 下图是简单的两个光源设置: 通过“游戏对象 (GameObject)->创建其他 (Create O...阅读全文
    posted @ 2016-03-30 05:11 rainmj 阅读(401) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-31 一、简介 Unity的相机用来向玩家呈现游戏世界。你在场景中始终至少有一个相机,但也可以有多个。多个相机可以带给您双人分屏效果或创建高级的自定义效果。您可以让相机动起来,或者用物理(组件)控制它们。您能想到的任何东西,几乎都可以通过相机变成可能,为了配合您的游戏风格,还可以使用典型或独特的相机。 相机 (Camera)是为玩家捕...阅读全文
    posted @ 2016-03-30 05:08 rainmj 阅读(951) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-31 一、简介 Unity中的游戏是以包含网格、脚本、声音或灯光 (Lights) 等其他图形元素的多个游戏对象 (GameObjects) 组成。检视器 (Inspector) 显示当前所选游戏对象 (GameObjects) 的详细信息,包括所有附加组件 (Components) 及其属性。 Inspector视图用于显示在游戏场...阅读全文
    posted @ 2016-03-30 05:04 rainmj 阅读(646) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-29 一、简介 游戏视图 (Game View) 从游戏的相机 ((Camera(s)) 中呈现,代表所发布游戏的最终版。你将需要一台或以上的相机 (Cameras) 来控制玩家玩游戏时真实看到的情景。 工具栏中的播放模式 (Play Mode): 使用工具栏 (Toolbar) 上的按钮来控制编辑器 (Editor) 播放模式 ...阅读全文
    posted @ 2016-03-29 08:25 rainmj 阅读(421) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-29 一、场景视图(Scene View)导航 场景视图 (Scene View) 是你的交互式沙箱。你可以使用场景视图 (Scene View) 选择和放置环境、玩家、相机、敌人和所有其他游戏对象 (GameObjects)。 在场景视图 (Scene View) 中调动和操纵对象是 Unity 最重要的一些功能,因此,能够迅速使用...阅读全文
    posted @ 2016-03-29 08:23 rainmj 阅读(1115) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-29 一、简介 层级视图 (Hierarchy) 包含当前场景中的每个游戏对象 (GameObject)。有些是三维模型等资源文件的直接实例,其余是预设(Prefabs)实例,自定义对象构成游戏的绝大部分。可在层级视图(Hierarchy)中选择对象并将一个对象拖到另一个对象内,以应用父子化(Parenting)。在场景中添加和删除对...阅读全文
    posted @ 2016-03-29 08:16 rainmj 阅读(733) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-29 一、Project—工程浏览器 前面我们说过,Unity中的Project View(称为工程浏览器)相当于VS2015中的解决方案资源管理器(Solution),Unity的每个工程中可包含多个关卡(*.unity),每个关卡都是一个可独立运行的项目,根据发布的目标平台不同,编译后生成的可执行程序的扩展名也不同,例如对于Win...阅读全文
    posted @ 2016-03-29 08:11 rainmj 阅读(740) | 评论 (0) 编辑
     
    摘要: 破解的目的是将受限的个人版变为全功能的Pro版,破解后就可以使用所有功能了,界面也变成了黑色的主题。 破解网址(支持最新版的5.3.4f1): http://www.ceeger.com/forum/read.php?tid=23396&page=1 已测试破解没有问题。阅读全文
    posted @ 2016-03-27 21:51 rainmj 阅读(1339) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-26 Unity 5.3.4编辑器共提供了7个主菜单项,这一节主要学习其中的常用项。 一、File 1、基本功能 New Scene:新场景仅包含一个摄像机,其他都需要自己添加。 Save Scene:将场景保存为扩展名为“.unity”的文件。 2、发布设置 Build Settings:发布设置 二、Edit ...阅读全文
    posted @ 2016-03-26 13:23 rainmj 阅读(900) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-26 一、简介 本节要点:了解Unity编辑器的菜单和视图界面,以及最基本的操作,这是入门的最基础部分,必须掌握。 二、启动界面 双击桌面上的快捷键,它就会自动启动Unity。 1、Getting started选项卡 启动Unity以后,在开始学习Unity之前,最好先播放一下“Getting started”选项卡中的视频介绍,了...阅读全文
    posted @ 2016-03-26 13:12 rainmj 阅读(854) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-26 本章要点: 1、掌握Unity 5.3.4编辑器视图和菜单项及其含义,这是入门的最基础部分,必须掌握。 2、了解最基本的操作,先学会模仿着向场景中添加一些简单的对象。 本章目录安排如下: 2.1 初识Unity 5.3.4编辑器 2.2 Unity5.3.4 编辑器中的常用菜单项 2.3 项目浏览器和资源的组织 ...阅读全文
    posted @ 2016-03-26 13:04 rainmj 阅读(832) | 评论 (2) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-23 一、基本思路 第1步--了解编辑器 首先了解unity3d的菜单,视图界面。这些是最基本的基础,可以像学word操作一样,大致能明白有几个菜单,几个基本的视图,各自起什么作用就可以了。当然还要了解人物基本的比例和结构。 第2步—了解基本概念 理解场景里面的坐标系统,输入系统,简单的向量概念。Unity3D的坐标系统及向量概念如果...阅读全文
    posted @ 2016-03-23 16:07 rainmj 阅读(3374) | 评论 (2) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-23 一、简介 这一节先搞一个最简单的Unity游戏,目的是为了验证Unity的桌面游戏开发环境和Android游戏开发环境是否有问题。实现的功能是: 将该游戏部署在桌面计算机上,运行窗口中显示一个“Hello World!”。 将该游戏部署在Android x86模拟器中,运行界面上显示一个“Hello World!”。 二、设计步...阅读全文
    posted @ 2016-03-23 16:06 rainmj 阅读(1228) | 评论 (1) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-23 Unity分个人版(Personal)和专业版(Pro)。个人版是免费的(部分高级功能受限,但初学者也用不到它),Pro是全功能的版本,但是Pro版官方仅提供1年的试用期。 个人版的特点是:运行编写的游戏时会自动带Unity的启动阅读全文
    posted @ 2016-03-23 15:56 rainmj 阅读(2312) | 评论 (0) 编辑
     
    摘要: 分类:Unity、C#、VS2015 创建日期:2016-03-23 一、简介 Unity是跨平台2D、3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的一个让玩家轻松创建诸如虚拟现实场景再现、三维视频游戏、建筑设计可视化、实时三维动画展现等类型互动内容阅读全文
  • 相关阅读:
    Oracle查询当前用户和当前用户下的所有表
    poj 1222EXTENDED LIGHTS OUT
    poj 1753 Flip Game
    老李分享:loadrunner用javavuser进行接口测试
    性能测试培训:帮你定位 Linux 性能问题的 18 个命令以及工具
    cf158B(水题)
    AC自动机讲解+[HDU2222]:Keywords Search(AC自动机)
    [BZOJ2120]:数颜色(分块?)
    赋值运算,拷贝运算,运算符重载
    Fraction to Recurring Decimal(STRING-TYPE CONVERTION)
  • 原文地址:https://www.cnblogs.com/smallfa/p/9930604.html
Copyright © 2020-2023  润新知