游戏引擎

《Genesis-3D游戏引擎系列教程-进阶篇》5:场景-水

老子叫甜甜 提交于 2019-12-06 05:43:23
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 场景水 资源下载 工程文件 这是一个简单的场景水实例,制作了一个具有反射和折射效果的场景水,帮助用户学习如何在Genesis-3D编辑器中制作出一个流动的水的效果。 1.创建项目water,因为本实例中我们要制作水场景,所以需要勾选WaterSurface资源包: 2.在工程目录下打开WaterSurface资源包,可以看到三种水模板: BasicWater:基本水 ReflectWater:具有反射效果的水 RefractiveWater:具有反射和折射效果的水 3.这里选择第三种水模板RefractiveWater(具有反射和折射效果的水),将其拖到场景中: 4.为了体现出明显的反射和折射效果,我们为其添加天空盒。"环境"——"天空盒"——勾选"开启天空盒": 5.从外界导入天空盒图片。因为天空盒是由立方体组成的,所以我们需要6个面的贴图材质。在资源管理器中导入6张贴图: 6.选择图片。分别对应六侧选择相应图片来构建完整的天空盒。双击目标图片,图片即被选入。我们依次为右侧、左侧、顶侧、底侧、前侧、后侧选择04,02,05,05,01,03图片: 7.点击“开关场景中的网格”按钮,关闭场景中的网格,是水场景显示更加美观。按钮显示灰色表示已经关闭网格: 8.美丽的天空盒已经添加成功,效果如下

《Genesis-3D游戏引擎系列教程-入门篇》三:资源的导入

喜夏-厌秋 提交于 2019-12-06 05:42:38
注:本系列入门教程仅针对 引擎编辑器: v1.2.2 及以下版本 1、FBX文件的导入 模型导入是所有3D程序最基本的功能,但常常也是让很多新手最头疼的问题之一,现在就让我们来学习一下FBX文件导入的步骤。 一、首先要将模型与动画文件从3dsmax软件中导出,并生成fbx文件。 1.导出3dsmax中的资源。点击左上角的绿色按键,按照图中所示点击Export按钮。 2.保存文件。填写文件名并选择保存类型与保存路径,确认无误后点击保存按钮。 二、将资源导入我们的Genesis-3D编辑器中。 1.打开工程,在工程视图中点击导入按钮会弹出如下对话框,按图中操作所示,在对话框中找到我们从3dsmax中导出的资源,点击打开。 2.导入fbx文件。导入之后看到下方的fbx文件将其拖拽进场景里,可以看到模型出现在场景中,右边的属性栏里出现了存储在fbx文件中的动画文件。 3.给模型附上贴图。还是导入你的贴图资源,放入资源管理器,贴图会自动匹配到模型上。 三、使用引擎压缩资源。 1.在资源管理器中选中fbx文件,在右边栏目内打开资源面板,点击网格,可以看到下面的操作界面。 2. 设置好网格压缩的压缩程度,点击右下角的对勾,开始重新导入压缩后的.FBX文件。 3.导入过程如下图。 2、动画文件的分割导入 在设计一个游戏的过程中,动画文件的分割导入技巧是十分必要的

《Genesis-3D游戏引擎系列教程-进阶篇》2:声音

血红的双手。 提交于 2019-12-06 05:42:28
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 声音 众所周知,声音系统是一个游戏中非常重要的组成部分,优秀的游戏音乐是许多玩家能够长时间享受其中的重要因素。因此,熟悉和使用声音系统是一个游戏制作者的必修功课,本篇文档将为大家介绍声音系统中一些简单按键的功能和使用方法,以及实现用脚本控制音乐的播放。 一、声源组件的按钮介绍 1.创建声音。在Genesis-3D中,有两种创建声音的方法,本质上没有区别。一是点击场景树中的创建按钮,选择栏目中的声音一项。如图所示 方法二是在场景树中右键点击任一actor,选择栏目中的组件,在组件栏目中点击音源。如图所示 2.在音源面板添加音频。当我们使用上述两种方法创建声音之后,便可以在属性栏看到音源面板,我们需要在资源管理器中导入音乐文件,然后在音频面板中点击 ,可以添加音频。如图所示 3.自动播放与循环播放。假如你希望这个音乐一直作为背景音乐重复播放,那么就应点击下方的自动播放与循环播放按钮。假如你想要用脚本控制音乐的播放便不应该勾选这两项,如图所示 4.音量与音调。可以在播放音乐的同时调节它们来达到最佳效果。如图所示 5.声音类型。声音类型中有一个卷展栏,其中的选项是2D、3D。它们的区别是:选择2D类型时,listener收听的声音从始至终保持一致。当选择3D类型时

《Genesis-3D游戏引擎系列教程-进阶篇》1:物理

依然范特西╮ 提交于 2019-12-06 05:42:15
注:本系列进阶教程仅针对 引擎编辑器: v1.2.2 及以下版本 物理 资源下载 工程文件 物理组件是实现游戏功能的重要组成部分,Genesis-3D中三种物理组件刚体、碰撞器、角色控制器分别有其各自的作用,本篇文档将通过给简单的物体模型添加物理组件的方式来向大家展示物理组件的作用和使用方法。 1.创建游戏工程,参照“转动的球体”文档,在场景中导入一个球体。 2.在场景中添加一个立方体。如图所示,点击创建,立方体。 3.调整球体和立方体的大小。为了做出球体落在立方体平面上弹起的效果,我们需要变换球体和立方体的大小,这可以在变换界面通过输入数值来实现,也可以通过Ctrl+R来实现。调整之后的场景如图所示 4.添加碰撞体。点击属性面板最下面的“+添加组件”,球体添加球形碰撞体,立方体添加立方体碰撞体。如图所示 5.修改刚体类型。刚体使你的游戏对象受物理引擎控制,为球体添加动态刚体,立方体添加静态刚体即可。 6.在资源管理器添加物理材质。 7.调整弹力。为了使球体能够接近现实中落下弹起并幅度逐渐减小的现象,在环境面板中的物理环境下,点击“默认材质” 后的小箭头,选择刚刚添加的物理材质。 这时在右侧的资源面板中可以看到动态、静态摩擦力、弹力等,以下是我设置的参数,你也可以自己尝试修改,达到不一样的效果。 8.添加脚本。为了赋予这个球体一个初始的自由下落的高度,用Space键控制

《Genesis-3D开源游戏引擎--横版格斗游戏制作教程07:UI》

ε祈祈猫儿з 提交于 2019-12-06 05:41:30
概述: UI即User Interface(用户界面)的简称。UI设计是指对软件的燃机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅可以让游戏变得更有品位,更吸引玩家,还能充分体现开发者对游戏整体的定位和游戏特点。 制作原理: 编译UI基本框架->皮肤制作->引擎事件UI交互 实现方法: 步骤1: 编译UI基本框架。可以参考Genesis-3D入门引擎关于UI教程中的基本UI及运行,参考人们文档 基本UI及运行 。 这里使用Layout editor来完成UI的框架搭建。Widgets->Window创建UI布局的窗口。不同于教程文档中的是,这里建立开发者在设计UI界面初期,建议使用PanelEmpty作为背景,如图7-1-1所示,因为其只起到界面范围约束的作用。 图7-1-1 重新命名,并且将该层设置为底层,如图7-1-2所示。 图7-1-2 根据事先设定的页面排版,添加Button。以制作游戏开始中的开始UI按钮为例。在Layout editor中,设计版式,最终开始界面框中的UI格局图如图7-1-3所示。 图7-1-3 步骤2: 皮肤制作。可以参考Genesis-3D入门引擎关于UI教程中的UI美化,参考入门教程UI中的 UI美化 。这里使用Skin editor来编辑皮肤。将Skin editor的工程文件直接关联到引擎UI Media文件夹下。File-

【Cocos2d-x-基础概念】坐标系统

别来无恙 提交于 2019-12-02 21:58:50
#Cocos2d-x-基础概念-坐标系统 ##不同坐标系的介绍 ###笛卡尔坐标系 ###UI坐标系 在ios、安卓、wp一般的UI坐标布局中 原点是在左上角 x从左到右递增 y从顶到底递增 像这样 ###Direct3d DirectX中采取了笛卡尔左手坐标系 ###OpenGl和Cocos2d 采用了笛卡尔右手坐标系 在2d中,我们只是用2d的场景 如下: ###Parent和Childrens 每个继承自CCNode的子类都有一个anchorpoint的属性 当决定放置位置和旋转中心时,均是以anchorpoint作为参照的 ###getVisibleSie, getVisibleOrigin vs getWinSize 得到当前屏幕大小 ###如何转换坐标 ####convertToNodeSpace 用于将在屏幕上的绝对位置转换为一个node相对于另一个node的方法 CCPoint point = node1->convertToNodeSpace(node2->getPosition()); 这句代码中,node1相当于父节点,node2相当于子节点 node2的坐标根据node1相对改变 ####convertToWorldSpce 转换为世界坐标 ####convertToNodeSpaceAR ####convertToWorldSpaceAR

Cocos2d-x-v3中3D网格特效动画的应用

佐手、 提交于 2019-12-01 13:59:06
Cocos2d-x-v3中3D网格特效动画的应用 一、网格特效的使用原理 基础的动作是对节点整体进行移动,变形等操作,网格特效的原理是将节点分割成多个尺寸相同的网格,根据改变每个网格块的属性使整体节点产生3D的效果。 二、网格特效的基本用法 在cocos2d-x中,v3的版本新引入了一个类NodeGrid,专门用来包装网格的特效,示例如下: //获取屏幕尺寸 Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); //加载精灵 auto sprite = Sprite::create("HelloWorld.png"); sprite->setPosition(Vec2(visibleSize.width/2+origin.x, visibleSize.height/2+origin.y)); //创建网格特效包装类 NodeGrid * nodeg = NodeGrid::create(); nodeg->setPosition(Vec2::ZERO); //添加播放特效的精灵 nodeg->addChild(sprite); this->addChild(nodeg); //参数的含义 分别是

Cocos2d-x-v3动作体系

霸气de小男生 提交于 2019-11-30 08:49:59
Cocos2d-x-v3动作体系 cocos2d-x-v3版本v2的版本有的很大的改动,最直观的是在一些函数的改动和类名的改动上,首先以CC开头的类,都不再使用CC。在我个人的理解上,原来的cocos2d-x是完全从iphone的框架cocos2d移植过来的,代码的风格和编程的思想都及类似于Object-C,除了语法是C++的外,其他就像是OC版的翻译,新的版本更好的体现了跨平台的特性,也更多的运用了C++的一些编码思想和语言特点,更易于各平台的开发者使用。这篇博客的主要内容,是总结cocos2d中行为动作的处理方法和相关函数。 一、瞬时动作 这类行为只能称为动作,不能称作动画,其执行是瞬时的,没有可是化的过程。 cocos2d中常用的瞬时动作有如下几种: FlipX:关于x轴做镜像变换。 FlipY:关于y轴做镜像变换。 Hide:隐藏。 Show:显示。 ToggleVisibility:切换隐藏和显示。 Place:将对象放置在某个位置。 二、延时动作 延时动作就是动画,将动作的过程展现出来,cocos2d引擎中的几种延时动作如下: 1. MoveTo:将对象移动到某一位置,是绝对位置,移动后不会记录对象的原始位置,动作不能进行反转。例如: auto action = MoveTo::create(2, Vec2(100, 100));//2S时间移动到(100,100)

OGEngine发布跨平台版本,支持iOS及Android

爱⌒轻易说出口 提交于 2019-11-26 23:04:47
OGEngine v2.1.1拓展了跨平台,支持 iOS 平台和Android平台,我们现在来搭建下开发环境。注意,由于 iOS 版本的编译开发必须在 Mac 系统上,所以我们的部署也是在 Mac 环境下进行的。 1. 检查系统 建议系统版本在 v10.8.5 以上 2. 安装 Xcode 建议 5.1.1 以上版本 可打开 AppStore 下载,程序较大 2.3G 大小,时间可能较长。 安装完后可以确认下是否安装成功:打开 Xcode ,新建一个工程,在模拟器上运行确认。 3. 搭建 Java 环境 Java版本要求 1.7 以上。 在 Java 官网下载对应 Mac Java1.7 以上版本。 http://www.java.com/zh_CN/download/help/mac_install.xml 安装完成后,打开终端测试: 可以看到 java version “ 1.7.0_60 ” ,说明已经安装成功。 4. 搭建 Android 开发环境 Android官方提供 Eclipse 及 ADT 打包安装,下载链接: http://jingyan.baidu.com/article/29697b9131b52fab20de3ca8.html 安装完成后有熟悉的 Eclipse 开发环境了, 详细下载安装过程可参考: http://jingyan.baidu.com