《三维游戏设计师宝典3》附带的光盘是错位的给的不是书中的例子所对应的光盘具体原因不得而知。尽管如此,该错位的光盘却有个非常好的例子《西游降魔录》 的游戏,前两天尝试着写了点自己感觉在理解程度上有点不同,今天继续。

该模块的文件名称是sample11b.cmo,具体在什么地方找,还请自己google了。如有兴趣可发邮件给我,我可以把附件范围以内的.cmo文件发给一同学习的朋友。

用virtools打开该文件,找到红色的那个 悟空objScript模块 ,从开始节点开始看,发现有个组装的模块“悟空动作”,该大模块组装了3个building block 分别为“Unlimited Controller”,我们先来看看这个building block 是做什么的,Apply to a CHARACTER.Controls a character by using animations played in response to messages. 这个是对该building block 的大概解释具体请看考 vritools的帮助文档。打开UnlimitedController会发现里面有悟空的所有动作“前进”等,而这些动作是实现在创建characters就已经创建好了,至于是如何创建的,本人还不是很清楚,正在找,知道后会补充近来的。到此为止这个“悟空动作”模块大概看完了。接着下一个:ObjectSlider,Impedes the 3D Object from penetrating a 3D Object in the specified group.使用这个buildingblock的对象还有“水晶”“墙”等对象,运行该模块会发现悟空是无法进入一些物体,这些物体就是我们看到的buildingblock的group属性的值。在触发所有的ObjectSilder之后就触发ShadowCaster这个buildingblock,看看这个bb的功能:Projects a shadow on all the objects visible in the scene。因为要进行攻击动作,所以触发键盘事件“Key Event”,在进行键盘事件的同时还要进行“悟空”的攻击动作,在攻击的同时发生变化的对象还有“悟空”身体变化,以及“金箍棒”的挥舞动作,也就是我们看到的两个“Send Message” buildingblock,他们都发送攻击“att”这个事件。而接受这个事件的就是事先作好的characters,也就是“悟空obj”里面带的那4个animations。

上面的写了整个“悟空obj”再游戏中的动作情况,以及用到的bb。

地板script,这个script中只有一个BuildingBlock,Planar Reflection,这个模块的作用就是:Creates a reflection on a plane of objects in a group. 比较简单。

跟随照明script,这个script是Light跟随照明的,该Light的设置基本设置就是setup里面的,主要是灯光类型以及初始位置。在script里面定义Set Position这个buildingblock并且让其循环,让Light跟随“悟空obj”。

LevelScript,在该教本模块里首先看到的是“Set Background Color”,从字面意思上就可以看出该buildingblock是对背景颜色控制的,在API中的说明为Sets a background color. 然后看到的buildingblock就是“Wave Player”,API中的说明为Plays a Wave Sound File, with optional fade in and/or fade out (in milliseconds).
也就是对背景音乐的设置,其中的音乐文件是预先制作好的,从“WavePlayer”的设置中的Target参数可以看出该音乐文件是可以调换的。在LevelScript的教本模块中还有个封装后的大漠快“摄影机设置”,双击打开就会看到这么几个buildingblock,“Switch On Key”和两个“Set As Active Camera”,先看“SwitchOnKey”查看API解释为Activates the appropriate output when receiving a Key,我们可以知道这个buildingblock就是通过按键进行控制操作。是如何控制的呢?观察“SwithcOnKey”就会发现其中有按键1和按键0,分别对应两个出口out1和out0,在out1和out0后面又分别触发一个“SetAsActiveCamera”,再去API看看“SetAsActiveCamera”的说明Changes the active Camera。我们可以知道该bulingblock是转动camera的控制。分别进入“SetAsActiveCamera”可以看到这两个都分别控制着两个摄像机,一个是“全景摄像机”一个是“跟随摄像机”。结合“SwitchOnKey”的功能就可以知道该封装模块的作用了:根据按键1和0来切换两个摄像机,有点类似wow中的视角转换。接下来就是“Switch On Key”这个buildingblock了,在前面我们已经看了有这个buildingblock但是我们发现这两个buildingblock有区别,两个的参数个数不一样,对该bb进行右击可以看到有个选项“construt/add behavior output ”,这个就是给这个buildingblock增加输出端的选项,双击这个buildingblock有4个参数对应的有4个文本框,这个文本框里所要填写的就是我操作要用的按键。在“SwitchOnKey”的后面跟的是每个按键触发后所响应的动作,分别对应“SendMessage”,显然是要通过刚才的4个按键发送一些消息给某些动作,但是发给谁呢?分别打开这些“SendMessage”就会发现每个“SendMessge”里的Dest都是一样的“悟空obj”而不同的则是message,各自一个message。(但是这些message是从什么地方来的?先留着思考)到这里我们就知道这5个bb的功能是,通过键盘4个按键的控制发送不同message,让悟空obj进行不同的动作,也就是我们运行的时候看到的前进后退左右转动作.。对真个场景的设置还有一个效果处理,两个封装起来的“透明度设置”,进去看看这两个的组装模块的功能

《西游降魔录》模块学习笔记相关推荐

  1. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

  2. python模块学习笔记

    python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...

  3. cma linux 起始地址,CMA模块学习笔记

    CMA模块学习笔记 作者:linuxer 发布于:2017-6-28 18:29 分类:内存管理 前言 本文是近期学习CMA模块的一个学习笔记,方便日后遗忘的时候,回来查询以便迅速恢复上下文. 学习的 ...

  4. P2E游戏《西游降魔》站在元宇宙风口 打造高效、完整且可持续的GameFi2.0体系

    引言:当人类大步迈入元宇宙时代,链上P2E游戏<西游降魔>正与元宇宙生态相伴相生,带领人们开启Play to Earn的变革之旅. 区块链结合游戏组成新的 GameFi 赛道,在 2021 ...

  5. P2E游戏西游降魔开放IDO 同步开启价值英雄NFT卡牌空投

    加密市场迎来 GameFi 的狂暴热潮,巨大的机会吸引来自 Tencent.NetEase.Square Enix.GUMI.BANDAI NAMCO 等品牌大厂及资本的陆续入局,纷纷在 GameFi ...

  6. Python模块之Pandas模块学习笔记

    目录 一.模块的安装 二.数据结构 1. DataFrame的创建 2. DataFrame索引的修改 3. DataFrame数据信息查看 三.文件的读取和写入 1. 读取 2. 写入 四. 数据的 ...

  7. IPy-IPv4和IPv6地址处理模块学习笔记

    在日常网络规划中,会有很多关于IP地址的分配规划问题,如果是手动分配,在量很大的情况下,容易出错.而利用IPy这个python模块,可以很容易实现对iP地址的分配等操作. 以下是对IPy模块学习的一个 ...

  8. 启英泰伦cl1122模块学习笔记

    笔记目录 前言 一.CI1122芯片与其它型号对比 二.资料获取 1.启英泰伦语音AI平台 文档中心: 软硬件开发资料以及平台的使用方法 开发资料: SDK和固件下载,相关开发工具的下载,开发板的硬件 ...

  9. LCD1602液晶显示模块学习笔记

    LCD1602液晶显示模块 一.初识LCD602 1.1.实物图 1.2.引脚图 1.3.引脚功能说明 二.显示位置 三.显示内容 四.指令集 五.工作时序 5.1.写操作时序 5.2.读操作时序 六 ...

最新文章

  1. libnghttp2 NDK 交叉编译
  2. FGPA异步信号问题
  3. qt 消息处理机制与window消息处理机制的比较
  4. e-mobile帐号状态存在异常_一文掌握异常检测的实用方法 | 技术实践
  5. 【转】浅析task_struct结构体
  6. OpenStack不行了吗?悉尼峰会,OpenStack的白城反击战?
  7. activiti7流程设计器_消防水泵结合器怎么安装,水泵结合器安装工艺分享
  8. Maven 国内镜像很慢解决的方法
  9. Python+OpenCV:直方图均衡化(Histogram Equalization)
  10. linux 程序 监听端口,linux和windows下如何知道端口是被那个程序监听占用?
  11. ubuntu mongodb安装
  12. java实战项目案例-附带视频教学
  13. 《Java游戏编程原理与实践教程》读书笔记(第4章——Java游戏程序的基本框架)
  14. 如何使用Git SVN工具 -- TortoiseGit(小乌龟)将本地项目上传至GitEE?【超详细教程】
  15. java冒泡排序计算学生学号_java冒泡法排序
  16. Elasticsearch5.0 安装 以及 问题集锦
  17. SQL开发管理工具,SQL Studio成数据库管理工具热门
  18. windows10 背景加载不出来变成黑色背景
  19. 用python画苹果的logo_简单几步,100行代码用Python画一个蝙蝠侠的logo
  20. python有哪些细节描写_人物细节描写的类型有哪些

热门文章

  1. 看我如何用Python来分析《斗破苍穹》
  2. 数据库连接池怎么用?
  3. HTTPS 到底加密了什么?
  4. WordPress如何设置先登录再进入主页
  5. 【随笔】记录一次简易的液位报警器的拆机修理
  6. 商品详情页实现价格区间价
  7. 业务后台商业组件ViewUI(iView)入门
  8. 马云:阿里巴巴要培养更多的京东并让这些企业挣钱
  9. 变压器绕制工艺之分布电容
  10. Excel行高列宽使用单位为磅(1cm=28.6磅)