Project1

标题: 如果换装系统有一个选项是[无]=w= [打印本页]

作者: rpg-sheep    时间: 2015-2-22 16:58
标题: 如果换装系统有一个选项是[无]=w=
本帖最后由 rpg-sheep 于 2015-2-23 16:31 编辑

今天终于做好了换装系统=w= @蓝儿  @喵呜喵5  @三途亚梦
大家来评价下给点意见呗,楼主集思广益一下,会根据投票的结果发布哦~ (目前处于征集意见阶段,暂未发布)
第一张图=w=(装备名称大雾)

然后我轻轻地换了一个没有图片的饰品=w=

【谜之声音】楼主你快在“内衣”上点一下啊啊啊啊! {:2_285:}
【楼主】 我们要做文明中国人,咳咳。

目前功能荟萃:
#无限扩充装备栏(什么?!还有这等好事?)
#多武器模式,所有的装备都可以是武器!(什么?!还有这等好事?)但是系统读取动画时只有第一件武器有效
#扩充的装备,第一项必须是武器(因为战斗时会读取武器动画),但是可以选择“无武器模式”,就可以隐藏了!
#超级换装系统,高达500个图层(只要你屏幕装得下500个装备栏),
     图层覆盖为 基础模型【第0层】 -> 人物头发下层衣服(有些妹子的头发会挡住外衣)【1~49层】 -> 头发【50层】->  人物头发上层衣服(如饰品或武器等)【>50层】
#方便的操作模式,只需按上下左右按键,就可以实现换装!(什么?!还有这等好事?)
#无限算法,所有装备的属性都会叠加,穿着9件装备,就有9份属性!(RM的5装备简直弱爆啦!)
#简单的设置,仅有这几行
module Clothes
  #装备格子名称
  SLOTNAME = ["武器", "饰品", "内衣", "内甲", "外衣", "裤子", "鞋袜"]
  #图片显示z坐标
  PICZ =     [  7,     50,      2,      3,     5,      4,      1  ]
  #无武器模式
  NO_WEAPON = false
  #最大数量
  MAX_COUNT = SLOTNAME.size
end

计划这三天添加的功能荟萃:
#行走图会随着换装变化
#人物的对话立绘会随着换装变化
#关于标题

注意事项:
#楼主添加了“防抽筋”系统,妈妈再也不用担心基础模型走光了(误)
#更加详细的说明会在发布后打出来(如果楼主决定发布的话)
#仅支持640*480+ 分辨率

下面是投票时间,祝大家新年快乐!
我要糖糖=w=
根据吧友们的评价,小优已经发布教程了哦,大约需要3天的时间来完善~大家多多帮我指出一下错误哦
https://rpg.blue/thread-376854-1-1.html

作者: 喵呜喵5    时间: 2015-2-22 17:02
内衣:皮帽…………

差评
作者: 乱逛的无尾熊    时间: 2015-2-22 17:06
内甲:羽毛帽
差评……
作者: 芯☆淡茹水    时间: 2015-2-22 17:06
工程巨大复杂,特别是行走图加上换装,首先不说素材不是一般的多,而且规格也不统一,
怎么把服装图片准确的覆盖到人物上,是个难题。
作者: taroxd    时间: 2015-2-22 17:14
没有素材,不会UI,小学生美工等级的哭瞎
作者: rpg-sheep    时间: 2015-2-22 17:15
芯☆淡茹水 发表于 2015-2-22 17:06
工程巨大复杂,特别是行走图加上换装,首先不说素材不是一般的多,而且规格也不统一,
怎么把服装图片准确 ...

感谢你的意见!关于行走图的问题我会考虑的!
点评长度不够新开一贴
工程的巨大性我已经考虑了,所有图片都将放置于Clothes文件夹下,并不会影响RM原先的目录。
(换装游戏衣服就是多嘛=w=)
全部素材统一使用固定分辨率,原点对齐,无需担心覆盖的准确性。
至于工程的复杂性:
*只使用Clothes文件夹
*设置仅有3项
*利用注释链接装备与图片,每个装备仅增加一条注释
欢迎继续提议~
作者: 芯☆淡茹水    时间: 2015-2-22 17:42
吾以前提取过征途素材,里面的人物各动作都是单帧单张的图片,并不像RM那样拼接到一起。
建议LZ要做的话,最好还是用单张单帧人物行走图,那样就很好判断。
比如:人物往下走的 3 个动作图片分别命名为 0 , 1 , 2
那么相对应的服装往下走的 3 个图片也命名为 0  ,  1  ,  2
反正这个东西要真正做起来,才觉得麻烦
作者: 三途亚梦    时间: 2015-2-22 18:03
本帖最后由 三途亚梦 于 2015-2-22 18:18 编辑

迷叔才不是在意内衣是什么的那种痴汉!(雾)
功能要说自由…… 美工一瞬间就爆了泥造么……

左右键可以直接换装备这个小设计我觉得很赞,我的坑背包十分有限,
这样的操作也更加合适,我也考虑自己也做这样的细节加工好了。
其实装备图层是非常复杂的就是,不是数字大的一定会盖在数字小的上面就够了。
比如“手套”在正面会盖在“翅膀”上面,而背面的时候效果则可能相反。
如果你用过毒奶粉的修改器会更容易理解我这段话的意思的。

我觉得装备位置有需要扩展出无论什么都能装备的只有手……其它都是不合理而且处理细节还麻烦。
反倒是一件装备可以装备几个特定不同的位置更加合理,比如肩甲可以左右各带一个。
一件破损的肩甲可能装在左肩会比右肩有更好的效果;
坚硬的金属手甲应该运用在副手上来减少对行动的影响,而利手手臂则使用轻皮这样更加方便活动的东西,或者套上一个小圆盾。

至于换装系统的话,没有小优你这整合的就是了。
作者: rpg-sheep    时间: 2015-2-22 18:15
三途亚梦 发表于 2015-2-22 18:03
迷叔才不是在意内衣是什么的那种痴汉!(雾)
功能要说自由…… 美工一瞬间就爆了泥造么……

我认真的读了5分钟。。。
感谢建议!

装备图层的复杂性我的确没有考虑到。。
不过可以设计一下“背面时把z值反过来”也是很好解决的,但是左右的话。。。。。。(好像用正面z值可以)

翅膀这种东西(基础模型后面的)我也没考虑到(TwT)看来要加入人物后的图层

“一件装备可以装备不同的位置”这个比较麻烦唉
作者: 天使喝可乐    时间: 2015-2-22 22:47
本帖最后由 天使喝可乐 于 2015-2-22 22:48 编辑

不错的东西 可以拿来做调教游戏(雾
所以应该加一个 穿上好装备/装备穿齐 就自豪的表情  脱光就害羞的表情
作者: chd114    时间: 2015-2-23 00:33
芯☆淡茹水 发表于 2015-2-22 00:06
工程巨大复杂,特别是行走图加上换装,首先不说素材不是一般的多,而且规格也不统一,
怎么把服装图片准确 ...

参考Latale呗···前提是你的角色的基础形态比例大小都一样···不然变个种族成了牛头人戴帽子帽子不破还怎么能愉快的玩耍
作者: 89444640    时间: 2015-2-23 08:46
本帖最后由 89444640 于 2015-2-23 08:58 编辑

sheep你跟美工有仇吗==b
这个装备到是好看,防具方面有个问题,平衡性如何控制,多件装备肯定有多种属性,基础防御如果过高,我穿的特别厚敌人打不就成掉1hp了
如果做成时装又对战斗没有帮助。
若有这么多装备的话,我方人物若达到4人以上,每次换整备考虑时间会过长,闪轨系列装备才几个,但是加上回路调节,人物数量多的时候换组人经常整备整半个小时。
这种系统配合AI自动装备更好,按防御力 魔法防御力 多种属性 分别自动装备然后微调节,这样界面更友好。

纯粹换装游戏的路线尽量不能要,这个系统如果去除了 人物形象随着装备改变而改变,应用范围将会非常广泛,所有装备图标一律用麻袋(礼盒)表示,将会节约大量时间用在能更加提升游戏性的方面中。

举例,跑动的动作,商业游戏大多以6帧为标准,但是细画弄个12 18 都没问题,为何以6位标准,1 能体现出速度感2 美工把画剩下6 12 帧的时间用在人物的其他动作细化或者增加其他小动作上了。
个人不考虑这么精也要考虑能有效应用的时间。所以本来画6帧的跑动我就画了4帧 更重要原因是xp没你改脚本以前不支持单独规格行走图8帧- -

想法可以多想,但是一定要考虑可行性,有时候需要用简化表现的话,一定要简化表现,彩虹岛那个虽然好,据一个认识的手机游戏制作厂的管理人员说,彩虹岛一个敌人的其中一张全战斗图,美工的收费就是四位数……但是人家是网游啊!那个盈利不知道多少位数。
作者: rpg-sheep    时间: 2015-2-23 17:01
本帖最后由 rpg-sheep 于 2015-2-23 17:07 编辑
三途亚梦 发表于 2015-2-22 18:03
迷叔才不是在意内衣是什么的那种痴汉!(雾)
功能要说自由…… 美工一瞬间就爆了泥造么……


亚梦大大,你提的建议我已经解决哒~
现在每一个物品的备注都有这三个
<type 6>
<pic sho>
<picz 31>
pic和picz可以是一个数组,如<pic sho,meow><picz 31,32>就表示这个装备有两张图片及其各自的z值。
@三途亚梦 @喵呜喵5 @taroxd 劳烦算法大神们可不可以帮我看看我获取图片z值的算法呢?感觉有些复杂化了,可不可以缩减一下省些内存?
RUBY 代码复制
  1. #计算图像
  2.       allpic = [] # 当前全部图片的数组
  3.       allpicz = [] # 当前全部图片z值的数组,与上面对应
  4.       Clothes::MAX_COUNT.times {|index|
  5.         equip = @actor.equip[index]
  6.         if equip[0] == 1
  7.           allpic += $data_weapons[equip[1]].pic if $data_weapons[equip[1]].pic != 0
  8.           allpicz += $data_weapons[equip[1]].picz if $data_weapons[equip[1]].picz != 0
  9.         elsif equip[0] == 2
  10.           allpic += $data_armors[equip[1]].pic if $data_armors[equip[1]].pic != 0
  11.           allpicz += $data_armors[equip[1]].picz if $data_armors[equip[1]].picz != 0
  12.         end
  13.       }
  14.       temp = allpicz.sort # 将所有z值按从小到大排序
  15.       temp2 = [] # 建立index对应模型
  16.       temp3 = [] # 低于基础层的数组
  17.       temp4 = [] # 基础层与头发层之间的数组
  18.       temp5 = [] # 高于头发层的数组
  19.       temp.delete(allpicz[0]) if Clothes::NO_WEAPON && @actor.equip[0][1] != 0 && $data_weapons[@actor.equip[0][1]].pic != 0
  20.       temp.each_index {|index|
  21.         temp2[index] = allpicz.index(temp[index]) # 返回allpicz中按大小的index排序。如allpicz为[7,1,9],temp2就返回[1,0,2]
  22.       }
  23.       temp2.each {|temp| # 根据allpicz中z值的大小把数据分成三个部分
  24.         if allpicz[temp].to_i < 0 # 舍弃小于0的数据
  25.         elsif allpicz[temp].to_i < 1000 # 将z值小于1000的数据放入第一层
  26.           temp3.push(temp)
  27.         elsif allpicz[temp].to_i < 2000 # 将z值大于1000小于2000的数据放入第二层
  28.           temp4.push(temp)
  29.         else # 将z值大于2000的数据放入第三层
  30.           temp5.push(temp)
  31.         end
  32.       }
  33.       rect = Rect.new(0, 0, 300, window_height)
  34.       # 描绘背景
  35.       contents.blt(0, 0, @actor.base_back, rect, 255)
  36.       # 描绘低于基础的层
  37.       temp3.each {|temp|
  38.         contents.blt(0, 0, Cache.cloth(allpic[temp]), rect, 255)
  39.       }
  40.       # 描绘基础模型
  41.       contents.blt(0, 0, @actor.base_body, rect, 255)
  42.       # 描绘低于头发的层
  43.       temp4.each {|temp|
  44.         contents.blt(0, 0, Cache.cloth(allpic[temp]), rect, 255)
  45.       }
  46.       # 描绘头发
  47.       contents.blt(0, 0, @actor.base_hair, rect, 255)
  48.       # 描绘高于头发的层
  49.       temp5.each {|temp|
  50.         contents.blt(0, 0, Cache.cloth(allpic[temp]), rect, 255)
  51.       }

至于人物行走图的变化(因为有4个方向)我也考虑到不能让美工受累,所以决定不用做的太精细(因为人物行走图清晰度肯定没有对话和菜单里的人物清晰度高的)
我的意思是“作者可以只设定一部分装备”,比如作者可以设置“外衣”会影响行走图,“鞋”不会(因为人们一般也不会突出鞋)。这样的话,如果并不需要过多的效果,就可以让美工少受累,只画作者需要的“外衣”这一种行走图就好。菜单中的变化,如果有作者不需要换装,可以设置左侧显示的内容,而不是人物立绘,这样这个系统就可以适配全部人群,各位大大觉得如何?
最后at一下为我提出好建议的吧友们
@芯☆淡茹水 @89444640  
作者: 蓝儿    时间: 2015-2-23 22:55
泥有没有太喜欢投票
好了出门左转ehentai




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