@sssunny
2018-12-26T13:09:01.000000Z
字数 3746
阅读 490
- Assets/Drama
- 在剧情目录下创建空对象,并命名。点击 Add Component 依次添加 Animation、LuaEventComponent 这两个脚本
- 在剧情对象里创建空对象,命名前缀:model- 资源名。如:model-cw_001
- 如果同一个模型有多个,使用-int来实现。如:model-cw_001-1, model-cw_001-2
- model-role 动态使用主角模型,自动识别玩家男女
- 在剧情对象里创建空对象,命名前缀:camera- 摄像机ID。如:camera-1
- 在camera-1下创建空对象,挂载摄像机基本。对camera-1做动画,摄像机的transform是用来做震屏
- 摄像机上需要监听音频,在摄像机上挂脚本 AudioListenerPos,设置priority值,值越大,越优先播放,建议填10
- 如果剧情需要进入特殊场景,在剧情表 scene 字段,直接填写需要进入的场景名
- 摄像机照是否显示场景NPC。 TownNPC 游戏里的NPC,TownRole 游戏其他玩家,TownMyRole 游戏里自己模型。勾选摄像机可见,不勾选摄像机不可见。如果镜头需要震屏,必须如此
- 摄像机上的 audiolistener 脚本删除
- 取消勾选动画脚本上的 Play Automatically
- 根据需求编辑Animation,在时间轴上的关键帧添加事件
- 事件主要有以下类型:
- 剧情结束: complete (在剧情的最后一帧发送)
- 对白: dialogue
- 震屏: shockscene
- 动画: animation
- 摄像机开关: camera
- 模型播放表情: emoji
- ...
- 填写规则: 类型 + , + 参数,类型为参数1,参数之间使用半角英文逗号 "," 隔开
完整示例:pause,5
- 参数:
2.剧情暂停秒数: 默认5秒
完整示例:complete,0
- 参数:
2.黑屏介绍. (prelude)
其他参数读取数据表 drama.EndAction 做对应操作
完整示例:dialogue,100001,0,1
- 参数:
2.对白表中的key值(int key)
3.是否需要特写镜头(int need,默认参数是 1,需要特写,不需要填 0)
4.对话样式(int style,默认参数是 0,默认对话。1表示气泡对话样式。具体样式根据 对白表 字段 bubble 确定 bubble = 0 对话, bubble = 1 心想)- 注意:气泡对话,指定模型由 "对白表", "model" 字段指定
- 注意:气泡对话,左右样式由 对"白表", "side" 字段指定
- 当为气泡时,对白表modeltype字段全部填3,模型字段填成剧情中的模型名字。也就是model-后面的字符串
完整示例:bottomdialogue,100001,0,1
- 参数:
2.对白表中的key值(int key)
3.是否需要特写镜头(int need,默认参数是 1,需要特写,不需要填 0)
4.单条显示时间(float time,默认3秒)
完整示例:blackcurtain,1
- 参数:
2.开启关闭(int open,1开启,0关闭)
完整示例:shockscene,0,3,0.5,0.6,15,45
- 参数:
2.震动的摄像机: 0. 场景摄像机, 1 - ... 摄像机编号
3.震动类型:1. 表示普通震动;2. 强烈震动;3. 自定义震动。当震动类型为 1 或者 2 后面参数不生效,可以缺省
4.震动时间(float duration)
5.震动幅度(float strength)
6.震动弹性(int vibrato)
7.随机性(float randomness)
解读: 事件类型 shockscene,震动类型 3,时间(单位秒) 0.5,幅度 0.6,弹性 15,随机性 45
完整示例:animation,cw_001,atk1,0,0.5
- 参数:
2.需要播放动画模型名(string name)
3.动画名称(string animation)
4.播放次数(int times),当次数为0表示循环播放
5.单次播放时间倍数(float time),不填,0或者1表示默认1倍速度
6.特效名(string effect)
7.挂点位置(string pos)
-- 动画名称
pkm.common.aniid = {
idle = 0,
move = 1,
stand = 2,
atk1 = 3,
atk2 = 4,
skill1 = 5,
hurt = 6,
dead = 7,
ride = 8,
throw = 9,
sleep = 10,
awake = 11,
excting = 12,
think = 13,
lookback = 14,
drama1 = 15,
drama2 = 16,
drama3 = 17,
dramaloop1 = 18,
dramaloop2 = 19,
dramaloop3 = 20,
}
完整示例:camera,1
- 参数:
2.开关状态(int on = 1)
完整示例:emoji,cw_001,am
- 参数:
2.播放表情模型(stirng)
3.表情资源名(string)
- 使用步骤
1.unity编辑器,选中需要轨迹移动的对象,在 Inspector 视图里,点击 Add Component,输入 tweenpath,选择 dotweenpath 脚本
2.dotweenpath 上点击 Add Manager
3.设置 DO Tween Visual Manager 属性。OnEnable,OnDisable 选择对应选项
4.在动画上添加DO Tween Visual Manager 的 enable 属性,动画帧上勾选执行 OnEnable 取消勾选执行 OnDisable
图片说明
- 步骤1
- 步骤2
- 步骤3
- 步骤4
相关说明链接
- 使用步骤
1.在需要模糊的镜头上点击 Add Component,挂上脚本 RapidBlurEffect
2.动画控制器里添加脚本属性 Gradual 控制模糊效果渐进权重 0 表示不实用模糊- 步骤1
![]()
参数说明
1.DownSampleNum [降采样次数]向下采样的次数。此值越大,则采样间隔越大,需要处理的像素点越少,运行速度越快。
2.BlurSpreadSize [模糊扩散度]进行高斯模糊时,相邻像素点的间隔。此值越大相邻像素间隔越远,图像越模糊。但过大的值会导致失真。
3.BlurIterations [迭代次数]此值越大,则模糊操作的迭代次数越多,模糊效果越好,但消耗越大。建议使用 2,
4.IterationsStart [迭代次数生效点]当Gradual <= IterationsStart,迭代次数始终为0。大于时开始从1并且逐渐受当Gradual影响"
5.IterationsPoint [迭代次数范围]
6.Gradual [渐进权重]渐进,控制模糊效果渐进权重- 步骤2
- 步骤3
- 把特效文件直接拖入到剧情预制.prefab文件下
- 动画控制器里直接勾选 Active,勾上就播放了
完整示例:introduce,10000,0,5
- 参数2:NPC ID,填0表示直接用UI里面的填写值
- 参数3:介绍的UI状态,从0开始
- 参数4:暂停时间,不填或者0,无限暂停,需要点击才继续
- 参数5:是否暂停,1不暂停
完整示例:dark,0.5
- 参数2:暂停时间,不填写,动画继续播放,填写,动画会暂停 n 秒,然后继续播放
- 进入剧情默认会黑屏
剧情表 bgm 字段,创建剧情会有默认 BGM
完整示例:bgm,sssss,0.5,0.5,0
- 参数2:背景音乐文件名 (string fileName)
- 参数3:淡出 (float fadeout = 0.5)可不填,默认0.5
- 参数4:淡入 (float fadein = 0.5)可不填,默认0.5
- 参数5:延迟 (float delay = 0)可不填,默认0
直接在对应的prefab上挂 audiosource 脚本,同一个prefab可以挂载多个,在动画控制器上控制 enable 属性来控制播放(弃用)
新方案示例:audio,audioname
- 参数2:音频文件名(不带.mp3后缀的)
- 注意,这里的音效不中断(不会中断rolevoice,也不会被rolevoice中断,也不会被自己中断)
完整示例:rolevoice,11111,1
- 参数2:音频文件名(不带.mp3后缀的)
- 参数3:填1 立即停掉前一个语音,可不填,不填支持多个音频文件同时播放
播放精灵升级动画
完整示例:evolve,60791490,60791480
- 参数2:进化后 精灵ID
- 参数3:进化前 精灵ID