文档章节

游戏中剧情动画CG实现的一种方式概述

looyer
 looyer
发布于 2016/05/08 22:05
字数 797
阅读 163
收藏 1

1.关于游戏中剧情动画CG的实现,有多种方式实现,这里我指出在之前的项目中我实现CG的一种方法。

2.多种实现方式的简述:

a.使用预先制作好的动画Video文件,通过引擎接口,以流媒体的方式播放,就好比是内置电影一样。    

比如:有story1.rmvb格式的动画文件,通过接口engine.playCG("story1", onStop)播放,其中onStop函数为播放结束时回调函数。

这种做法的优势是可以事先离屏渲染出及其精美的CG动画,劣势是玩家看到如此精美的CG但是实际游戏画面有很大落差会觉得游戏不够诚意,还有就是这种方法太过死板,CG过程中无法和玩家交互或者是无法根据游戏中的当前状态而有所变化。

b.在游戏场景编辑器中提供CG工具,编辑CG的镜头曲线,和CG中的游戏中静态物体的生成和消失。这种做法将CG动画保存为引擎中能够理解的一系列事件,比如镜头的移动,场景中的物体的生成等。

其格式比如:
[camera curve time]-表示摄像机在time中按照curve曲线移动
[obj1 time1 obj2 time2 ...]-表示场景中obj1的物体(可以是骨骼动画,声音,特效等)的生命期为time1

这种做法属于内置游戏渲染,让玩家看CG时没有一种切出的感觉,表现出场景的一定的变迁。

3.我之前做上家公司游戏中的CG系统时,使用的是类似于b种方法,其做法是:

3-1.将CG编辑器内置在游戏中,这样跑客户端游戏时可以将需要CG的地方直接呼出CG编辑器编辑并且预览当前的播放效果,并且可以直接内置一些客户端的与角色和NPC的逻辑放入CG,就像是制作者在这编排一段故事一样,并且根据角色的选择(如果需要角色选择)可以控制CG走向,这样做更加偏向游戏性方面。

3-2.所设计的格式:
[time1 camera curve]-表示没有CG中的选择分支时,time1时段camera按照curve移动
[time2 obj1 obj2 obj3 ...]-表示没有CG选择分支时,time2时段编排的物体,注意因为这里是直接在游戏逻辑层,使用的内置CG编辑工具,可以直接操作NPC和玩家自己或者是当前组队状态下的其他玩家。
[cond1 time3 ...]-表示分支情况,如果是cond1则跑这条时间线
[cond2 time3 ...]-表示分支情况,如果是cond2则跑这条
这样做的好处是更加深入游戏的逻辑层,表现出更多的趣味性和故事性,增强游戏的代入感,方便剧情编辑人员工作。

© 著作权归作者所有

共有 人打赏支持
looyer
粉丝 13
博文 17
码字总数 8167
作品 0
长沙
程序员
私信 提问
ogre的材质与unity的材质的相似性

最近研究了火炬之光的游戏资源,这款游戏采用ogre引擎,也就促使我研究了一下ogre的材质文件格式,发现和我经常使用的unity的材质格式有很多相似之处,因此分享出来给大家。 ogre的材质文档可...

李勇2
2015/02/28
0
0
《猫与桃花源》合作阿里渲染云,刷新国产动画电影新高度

《猫与桃花源》是追光耗时4年打造的一部以猫为主角,讲述“爱与陪伴”的亲子动画电影,也是追光团队与阿里云的又一次强强合作。 高精度的CG解算搭配云端渲染技术,让动画场景更加真实影片取景...

亲君123
2018/04/11
0
0
How To Learn Computer Graphic——如何学习计算机图形学

Q:计算机图形学是什么? A:计算机图形学Computer Graphic是一门交叉学科,可以说与娱乐业的兴起有相当大的关联。它的主要目的是在现有计算条件下,根据实际需求进行数字图象的绘制。 Q:我在学...

teacheryang
2010/09/04
0
0
Tao Framework

Tao提供的所有库都是完全开源的。其中的多数库都可以免费用在商业项目中,但还是有必要阅读许可证中列出的具体说明。Tao是一个出色的程序包,刚开始涉足游戏的开发商可以把它作为一个起点。 ...

真是杨晓光
2015/01/19
2.1K
0
《九州缥缈录》:一个人都没有的片头,我却脑补出整个世界

作者|谢明宏 编辑|李春晖 青红两色棋子,被推入缩地成寸的山河战局。石纹幻化的士兵弯弓射箭,电光火石间,破碎山河。 天下莫如一局棋,九州缥缈知音稀。短短90秒的CG片头,没有出现一个真人...

娱乐硬糖
2018/03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 加油,还有11个小时就下班了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @_全村的希望 :吴亦凡把大碗面正儿八经做成单曲了,你别说,还挺好听 《大碗宽面》- 吴亦凡 手机党少年们想听歌,请使劲儿戳(这里) @tom_t...

小小编辑
37分钟前
90
8
C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
6
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
5
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
4
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部