Project1

标题: 请大神帮忙给《立絵表示 & 名字窗口》添加眨眼效果 [打印本页]

作者: sashitian    时间: 2014-7-25 22:17
标题: 请大神帮忙给《立絵表示 & 名字窗口》添加眨眼效果
本帖最后由 sashitian 于 2014-7-26 00:35 编辑

基于这个方便的脚本之上(已经有对口型动作):立絵表示 & 名字窗口(纯手工汉化):https://rpg.blue/thread-367290-1-1.html

我一直认为眨眼是使角色“活起来”的好办法,但是我太(元首音:渣渣!)不懂改。
强烈希望添加一个眨眼动作!
也就是在文字显示完毕后不停切换的图片,可以使非对话角色也实现眨眼,并且依照不同脸图改变眨眼频率
(预想如下图)




我会用脚本,但我一点也不懂脚本,根本不明白这个脚本的原理是怎么回事……所以来这里请求大神们帮帮忙
作为报答,如果您制作游戏的时候有美工问题时(比如需要立绘或CG时),请来找我!我都不会谢绝的!(上面那个因为是预想图所以画的很潦草请不要在意…)

我有一点思路,但不知道是否可以用上:(如果您觉得没有用或者早就想到就请无视吧。。)
拿原脚本示例图(上述脚本内包含素材):理香_0_0  来讲
3秒后替换 理香_0_ZY (ZY是眨眼的头字母,或者改为BL——blink的头字母,之类的都行,最好不要是数字——因为会与对嘴型图片搞混的)
0.1秒后换回图片 理香_0_0
之后3秒后又替换为 理香_0_ZY
如此循环
作者: 楼主是我的女仆    时间: 2014-7-26 09:27
制作这个不先有素材不行吧?既然你都画出睁眼和闭眼的素材了,或许一个新建空白事件更改图片就够了,具体原理可以参考永夜幻想曲里面人物眨眼的处理
作者: sashitian    时间: 2014-7-26 18:02
楼主是我的女仆 发表于 2014-7-26 09:27
制作这个不先有素材不行吧?既然你都画出睁眼和闭眼的素材了,或许一个新建空白事件更改图片就够了,具体原 ...

你可能是没看上面那个脚本,那个超神脚本是按照脸图的方式显示立绘的(内详),用事件是不可能实现。
我是大触(《滚!这么说不脸红吗!!),素材我已经制作好了,就差脚本。。。
作者: 楼主是我的女仆    时间: 2014-7-26 19:08
sashitian 发表于 2014-7-26 01:02
你可能是没看上面那个脚本,那个超神脚本是按照脸图的方式显示立绘的(内详),用事件是不可能实现。
我 ...

眼睛单独弄素材···永夜的就是,看下里面的素材你会发现眼睛眨眼的处理是一部分素材,说话的嘴形也是一部分素材,也就是说你人物立绘得修改下···眼睛挖出来以新的图片显示在最前面,用一个新的并行事件做眨眼处理
作者: sashitian    时间: 2014-7-26 21:24
楼主是我的女仆 发表于 2014-7-26 19:08
眼睛单独弄素材···永夜的就是,看下里面的素材你会发现眼睛眨眼的处理是一部分素材,说话的嘴形也是一 ...

的确如果将眼睛嘴巴弄成原件的话是非常节省空间,这当然是最好的方法。但是抱歉我还是不太明白……请问脸图如何使用并行事件做眨眼处理?
作者: sashitian    时间: 2014-7-30 02:52
已经好几天了……沉掉了……
看来修改脚本真的很不容易的样子……

稍微顶一下。
作者: sashitian    时间: 2014-8-2 00:27
仍然没有回音就又沉了,
再稍微顶一下。
希望有重视立绘的脚本大神出现。
作者: sashitian    时间: 2014-8-3 22:26
虽然我不太懂脚本,但如果有人可以告诉我方法也行,不管多累我也能边问边自己改……
作者: 喵呜喵5    时间: 2014-8-3 22:45
sashitian 发表于 2014-8-3 22:26
虽然我不太懂脚本,但如果有人可以告诉我方法也行,不管多累我也能边问边自己改…… ...

说一下未测试的思路
大概就是在Window_Message里把update方法后面添加一个调用原脚本刷新立绘的语句就好

唯一的问题是原脚本好长……显示立绘的方式印象中有点奇怪(设置和读取部分好像是用一个数组还是什么去记录),我最近没时间所以没去仔细看,如果之后有时间了还没有答案的话我再回来看看吧……
作者: sashitian    时间: 2014-8-8 20:47
沉到深处了,顶一下……
作者: 喵呜喵5    时间: 2014-10-5 00:34
本帖最后由 喵呜喵5 于 2014-10-5 00:38 编辑

没怎么测试,自己检查一下有没有BUG(扔到原来的脚本后面)
  1. class Game_StandPic
  2.   alias m5_20141005_update update
  3.   def update
  4.     m5_20141005_update
  5.     return if @pic_sprite == nil
  6.     return if @mouth_move_duration > 0
  7.     return if @duration >= 1
  8.     return if @tone_duration >= 1
  9.    
  10.     time1 = 30  # 第一次眨眼的开始时间
  11.     time2 = 10  # 闭上眼睛的时间
  12.     time3 = 120 # 睁开眼睛的时间
  13.    
  14.     @m5_eye_move_duration ||= time1
  15.     @m5_eye_move_type     ||= 0
  16.     if @m5_eye_move_duration > 0
  17.       @m5_eye_move_duration -= 1
  18.     else
  19.       case @m5_eye_move_type
  20.       when 0
  21.         @pic_sprite.bitmap = Cache.picture("#{@name}_#{@face_index}_ZY")
  22.         @m5_eye_move_duration = time2
  23.         @m5_eye_move_type     = 1
  24.       when 1
  25.         @pic_sprite.bitmap = bitmap[@face_index][0]
  26.         @m5_eye_move_duration = time3
  27.         @m5_eye_move_type     = 0
  28.       end
  29.     end
  30.   end
  31. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1