网站建设岗位主要做什么,成都搜索优化排名公司,分分钟采集wordpress,天津网页制作设计我们常在游戏中见到各种各样的剧情对话#xff0c;电子游戏从最早的RPG类对话框演变至今#xff0c;已经产生了无数种解决方案。但总的来说#xff0c;常见的对话分为两类#xff1a;最常见的galgame对话#xff0c;可以看到较大的立绘图表现人物的表情动态(甚至动画)电子游戏从最早的RPG类对话框演变至今已经产生了无数种解决方案。但总的来说常见的对话分为两类最常见的galgame对话可以看到较大的立绘图表现人物的表情动态(甚至动画)以及标记角色的名字和对话内容。或者也有一些游戏使用pop的悬浮对话窗口直接表现对话框与角色位置匹配同时不干扰游戏环境的演出效果(例如可以一边行走战斗pop框还依然出现)分析制作方案有2个要素1 资源2 配置由于各个游戏的需求不同所以我们先从最低需求的资源和配置来讲。对话框资源我们最低限度需要有一个框体和一个对话文本框。框体用来做文本的背景文本框显示对话内容。然后再根据游戏需求的不同添加立绘用的图片加载框角色名文本框等。如果是pop类型的对话也可能需要添加箭头资源(也可能需要区分对话和思考的箭头和泡泡)配置部分则比较复杂首先我们需要先理解对话的最基本结构。这部分很好理解对话就是一句一句的文本说完一句进入下一句所以我们可以将对话的配置设计为一连串的对话ID比如ID 1000代表第一句话这句完了就说ID为1001的那句(请暂时忽略文本里奇怪的标签)很好这样只要将这一串ID里的文本顺序播放一句完毕显示下一句最基础的对话框配置就做好了。接下来我们需要添加一个标记表示1014这句话是这段对话的最后一句这样程序当识别到这个标记就会在这段对话结束的时候关闭对话框例如next标记0表示这是段落的最后一句话在添加了文本后我们也需要区分对话是谁说的。所以还需要添加名字和立绘的配置列如图role标识立绘用图的名字side标识立绘在对话框的左侧还是右侧在制作的时候会自动反转立绘name标识说话的角色名字显示在对话前面关于文本打字效果文本打字效果是对话框的常用效果可以有效的控制阅读节奏同时在单调的对话中有限的制造一些演出效果。打字效果可以控制打字速度并且可以在每个字出现的时候产生各种效果(参考逆转裁判里的经典用法)基于打字效果产生的更多的细节speed标记打字速度0.5表示0.5秒打一个字audio标记打字音效即每个字出现时播放的音效shake标记打字震屏效果填写的数值表示震屏强度auto标记文本是否自动下一句话(可以参考逆转裁判中犯人崩溃的桥段)一旦标记为auto则不需要按键也会自动进入下一句size标记文本的字号以下是最终效果(不过听不到声音啦)更多扩展flash 闪屏bg 改变背景图bgm 改变背景音乐posXY 改变立绘坐标使之偏移effect 产生某个特定的特效pop类对话看起来比固定对话框要简单不需要显示名字没有立绘受限于pop的尺寸文本也不可能做很多。但实际上pop类对话比固定对话复杂很多pop框的尺寸需要和文本量匹配需要与说话的角色位置对应甚至跟随移动pop对话的时候可能需要与角色行为产生关系(例如更换动画)pop对话也许根本不会暂停游戏POP框体的制作在讲述pop的制作方法前需要普及一下pop的资源制作方法和在UI中的使用类型。在UI控件中有一类名为9patch的控件。和普通的精灵图片不同9patch可以将一个图片按井字分隔为9个格子如下图如果是普通的精灵图片在缩放的时候就会产生形变和模糊而9patch控件可以将保证4个角不变的情况下自由拉伸并且不会模糊实现固定倒角的随意缩放的圆角矩形一旦基础的pop对话框资源搞定以后后面的事情就会简单很多当对话框弹出后将pop框体箭头文本创建在指定的角色上方(固定的点)与上次讲的固定框体一样使用打字的方法讲文本一个一个打出来限制文本框的宽度超过一定宽度(或有主动的文本回车)自动换行将pop框的尺寸与文本框的尺寸匹配(当然四周需要留一些空间)控制好框体的坐标(匹配对话框箭头的位置如果变大需要向上“长”)对话框缩放的效果(目前GIF帧率低看不出来其实框体的变化是更有“弹性”)上图是完成的效果因为偷懒所以pop框采用了和固定框不一样的创建方式。每说一句话都会删掉当前框体下句话重新创建pop框体并从最小尺寸开始。对话与角色匹配由于pop对话的方案需要让框体出现在指定的角色头上所以需要为对话配置对应角色的字符(比如特定的名字)由程序逻辑找到那个角色并创建对话框(例如场景中有5个一样的NPC我们只想让第二个NPC说话这种时候就需要为他配置特殊的标记才能找到他)角色是否受控游戏是否暂停根据情况可以将角色置为不受控状态或干脆暂停游戏播放固定的对话或演绎动画剧情。但也有非剧情对话的情况(比如敌人或NPC的随机喊话)需要区分处理。对话镜头可以配置对话出现时镜头拉到说话角色的位置用于跟踪对话主体或跨屏演出效果剧情段落除了NPC或敌人不受控制的自言自语外(程序设置的某种规律的随机说话)大部分的对话都是受剧情控制的综合演出效果这种时候往往只依靠对话表不太够用。实际上当游戏中对话文本过多的时候可能还需要再高一个层级的配置用来更方便的管理对话的开始和结束对话的类型方案等等。如果对话叫做talk的话这个配置可以称之为story。在story中最基本的配置除了ID外便是talk的开始ID和结束ID。还可以配置这段对话是固定对话框还是pop对话框甚至产生某些混合方案例如控制剧情之间的衔接关系。演出效果的相关内容对话动画控制镜头控制行为控制(例如移动或跳到某处)功能控制(例如某些开关自动开启)效果(特效音乐音效)其实大部分我还没做慢慢实现吧……orz所以先这样吧……