找回密码
 点一下
查看: 1689|回复: 19

如何制作一个类似Warships那样的“集合体”

[复制链接]
发表于 2016-9-17 00:22:38 | 显示全部楼层 |阅读模式


如题:如何制作一个类似Warships那样的单位“集合体”?

我想制作一个类似于Warships(战舰)中那样的单位(不知道是什么原理,姑且先称作“集合体”吧),
一开始通过搜索,看到了这篇帖子:http://bbs.islga.org/read-htm-tid-2227622-page-1-fpage-1.html
  其中提到:
不断改变一堆东西的坐标
但是,实在是不懂,希望各位指教。
希望能教一下怎么做一个这样的“集合体”?具体过程是怎样的?
能稍微有一个教程,或者说一个较为详细的思路,谢谢。
发表于 2016-9-17 09:44:04 | 显示全部楼层
帮你顶了!我很久以前就想知道这种组合体是怎么搞出来的 还有那个星际旅行TD这个图是一个大组合体飞船构成的 就是不知道怎么办到的
回复

使用道具 举报

发表于 2016-9-17 10:33:45 | 显示全部楼层
wyg5105478 发表于 2016-9-17 09:44
帮你顶了!我很久以前就想知道这种组合体是怎么搞出来的 还有那个星际旅行TD这个图是一个大组合体飞船构成 ...

星际旅行和warships是不一样的  星际旅行我们其实是固定的,参考虫心的某关
回复

使用道具 举报

发表于 2016-9-17 10:35:03 | 显示全部楼层
yahzj 发表于 2016-9-17 10:33
星际旅行和warships是不一样的  星际旅行我们其实是固定的,参考虫心的某关

我知道但是那个飞船 怎么参考?  
回复

使用道具 举报

发表于 2016-9-17 11:23:50 | 显示全部楼层
那个单位是建造在瓦斯矿上的
就是用触发不断改变建筑的坐标和朝向就可以了,船的位置就是参考位置,船的朝向就是那些建筑的朝向。
这东西并不难也不麻烦,就是很多东西要一个个去设置步骤多
回复

使用道具 举报

发表于 2016-9-17 21:02:44 | 显示全部楼层
本帖最后由 yxxiaobin 于 2016-9-17 21:10 编辑

虽然我没玩过,但是看大家的说明大致了解了楼主的需求。
我把我的意见说一下,仅供参考(因为我根本没有测试过,也没有深入做过优化,只是今天看到了,临时想到的方案,可能不完善)。
首先楼主要的是用多个单位拼凑成一个“合体”单位,按楼主的话讲,叫做“集合体”,事实上,这应当是一个拓扑结构。要做到这些,可能需要根据以下几点。
1.这个集合体必须有一个核心,用作其他单位定位的基准,也用于移动指令的接收。这个根据设置可以自己去做,不过需要明确单位的占地情况,以及其中心位置,否则别的单位将无法将它作为参考。比如如果这个核心占地2*2格,那么中心就在(1,1)的位置,其他单位就需要从0以下或者2以上开始。当然,在实际控制中,你可以先求坐标位置,再放单位,也可以用数据来控制单位位置,然后直接放置单位,再用触发器读取相对位置。
2.围绕核心,你可以建造其他建筑,从而形成拓扑结构。推荐使用数据来控制拓扑,比如用验证器探测某单位的某一边是否有相邻单位,如果有,则禁用拓扑命令,如果没有,可以由玩家指定在该相邻位置生成某种单位。如果需要生成的单位拥有更大占地面积,则验证器需要特别设置,以免建造重复。熟练使用验证器,这点不难实现。
3.在触发器中响应单位创建或出现在地图上等事件,获取单位相对于核心的位置,并保存在表中。
4.当核心转向和移动时(或者干脆做成循环事件),把所有拓扑节点的面向设成和核心一致,并根据表中记录的相对位置立即移动每一节点(这里可以用循环)。
5.正确处理被打成两段的情况。如果你的节点是可以被击毁的,那么需要注意,有可能某部分被从主体上分割下去,这是需要做响应控制,比如一旦被打穿,则和核心无连接的部分直接作废。如果你不想这样,则必须让拓扑节点不能真正被击毁(可以禁用,也可以变形成基础甲板一类的东西),从而保证战舰不会断裂。或者干脆让拓扑节点无敌,只有核心损坏才算(不过不推荐,这显得很假)。
6.不要让拓扑节点拥有移动能力,也不能有足印,否则会出现异常移动,或无法设置位置的情况。根据情况允许或不允许拓扑节点接收其他指令。建议允许接收,这样才方便做节点的升级。
7.最好限制拓扑节点距离核心的最大距离,否则可能有玩家做出过于奇葩的拓扑结构而影响游戏体验(比如弄一个很长的棍状结构)。如果不考虑体现高度开放的话,也可以给玩家几个模板让其从中选择,玩家只能按照设定好的东西去做,而不是随心所欲,不过这可能会影响玩家的感受,需要慎重考虑。我觉得最好是两种方案并行,即为新手玩家提供模板,而老鸟则可以完全的定制自己的战舰,当然需要在距离限制之下去定制。
--------------------------------------------------------------------------------------------------------------------
翻开楼主给的链接看了下,原来是有一个模型作为底板的,这样一来各种节点就没必要非得连着了,因为从逻辑上说,他们都和底板连着。不过这地图印象中是要开回港湾,然后才能建造的,这么做为的是让战舰的网格能和地图格子重合。不过战舰离港的话,单位肯定是经过变形了,因为足印必须去掉。其实这么做的好处在于战舰显得更真实,而且实现起来倒是更简单。不过你可能得找到合适的底板模型才行。
回复

使用道具 举报

发表于 2016-9-17 22:25:26 | 显示全部楼层
yxxiaobin 发表于 2016-9-17 21:02
虽然我没玩过,但是看大家的说明大致了解了楼主的需求。
我把我的意见说一下,仅供参考(因为我根本没有测 ...


并没有和地图格子重合,你自己玩玩再说。
而且格子可能不是严格的
我猜建造不是用建造技能而是以单位为目标的技能,在船的每个位置都放一个可作为目标单位,暂且称1号单位,用来放1x1的,在每个可能建造的地方都有1号单位,在每个可建造2x2的地方有2号单位,在每个可建造3x3的地方有3号单位,每当建造建筑时就不允许附近的单位作为目标,这样就完美的实现在任何地方建造。
回复

使用道具 举报

发表于 2016-9-18 17:07:30 | 显示全部楼层
那个集合体是一个模型,然后每个建造位置是附着点,通过附着实现的显示效果
逻辑上跟@yxxiaobin 说的差不多,判断位置并同步。我不太确定最终附着在主体上面的是一个独立演算体还是对应单位的单位演算体,如果血条什么可以显示,那么有可能就是单位演算体附着过去了
这套系统依赖于模型支持
回复

使用道具 举报

发表于 2016-9-18 20:24:03 | 显示全部楼层
疯人¢衰人 发表于 2016-9-18 17:07
那个集合体是一个模型,然后每个建造位置是附着点,通过附着实现的显示效果
逻辑上跟@yxxiaobin 说的差不 ...

如果使用附着模型的话,对于目标附着点的控制或许需要特别设置一下。另外考虑到允许玩家自定战舰组件的话,主体位置操作是难点(我实在想不到有什么通用的方法能实现这一点)。当然还有一个限制就是那些部件不能真的是单位,某些地图可能不适用,但这不是问题,因为某些地图可能恰好需要这一点。
这样做的好处在于无需使用触发器控制单位位置,这样就能允许更高的转身速度和移动速度,而不会出现一跳一跳的视觉效果。
使用多单位构成拓扑结构的好处是显而易见的,但最大的困难是,当单位转身和移动速度较快时,使用“设置单位位置”动作是无法形成连贯动画的,玩家会明显感觉到帧与帧之间的间隔,画面就一跳一跳的。
回复

使用道具 举报

发表于 2016-9-19 04:57:16 | 显示全部楼层
没玩过Warships,但看描述和图片和官方一张战役图差不多,原理是把平台和上面的单位发射到经过偏移计算后的目标点

圣堂出击.SC2Map

928.65 KB, 下载次数: 4

回复

使用道具 举报

发表于 2016-9-19 12:33:19 | 显示全部楼层
yxxiaobin 发表于 2016-9-18 20:24
如果使用附着模型的话,对于目标附着点的控制或许需要特别设置一下。另外考虑到允许玩家自定战舰组件的话 ...

可以是真的,因为建筑的时候要么对其格子的中心要么对其格子的顶点,所以对应位置都有附着点即可。真实单位也是可以的,只要把一个单位的单位演算体附着到主体上就行了,当然同步单位还是必须的,否则命中判断会有问题(选择之类的依赖于显示层的没问题)
特别提示下,单位和单位演算体的位置是可以分离的,这种情况下你仍然可以通过点击演算体的位置选择单位,指向性的技能的投射物的显示部分(投射物的单位演算体)不确定是否正常(与投射物单位分离,可能性还是有的),其他指向单位位置点的会指向实际坐标。单位和演算体分离的最典型就是移动器的叠加相图(不确定名字了,就是附加在轨迹上的部分)就会导致投射物和动画的分离。另外由于演算体部分是32帧而逻辑层是16帧,所以两个逻辑帧之间的显示帧的时刻,单位和演算体位置也是分离的。

点评

这个想法不错啊,把演算体绑定到核心上,就能解决视觉不连续的问题,而单位的话则仍然使用触发器同步,甚至用较大间隔(比如每0.25秒)进行同步就可以。 不过无论是否是真实单位,只要附着演算体,都涉及到主体位置  详情 回复 发表于 2016-9-19 12:55
回复

使用道具 举报

发表于 2016-9-19 12:55:14 | 显示全部楼层
疯人¢衰人 发表于 2016-9-19 12:33
可以是真的,因为建筑的时候要么对其格子的中心要么对其格子的顶点,所以对应位置都有附着点即可。真实单 ...

这个想法不错啊,把演算体绑定到核心上,就能解决视觉不连续的问题,而单位的话则仍然使用触发器同步,甚至用较大间隔(比如每0.25秒)进行同步就可以。
不过无论是否是真实单位,只要附着演算体,都涉及到主体位置操作的问题,这个字段似乎不能动态指定吧。不知道触发器能否动态指定这一值,如果能才算真的解决。否则需要针对不同位置设置很多演算体,这就很悲惨了。
回复

使用道具 举报

发表于 2016-9-19 16:09:18 | 显示全部楼层
yxxiaobin 发表于 2016-9-19 12:55
这个想法不错啊,把演算体绑定到核心上,就能解决视觉不连续的问题,而单位的话则仍然使用触发器同步,甚 ...

这个是用触发附着的,
另外仅以Warships来说,因为是定制模型,不用位置操作了

点评

你是说那个战舰图里面的飞船模型是作者自己弄的??  发表于 2016-9-19 20:06
回复

使用道具 举报

发表于 2016-9-19 20:14:23 | 显示全部楼层
priceles 发表于 2016-9-17 11:23
那个单位是建造在瓦斯矿上的
就是用触发不断改变建筑的坐标和朝向就可以了,船的位置就是参考位置,船的朝 ...

是,不用模型,演算体水平够高也能解决
回复

使用道具 举报

发表于 2016-9-24 13:56:41 | 显示全部楼层
如果你只是纯粹像战舰那样在主题上造东西,主需要提取一个主体做成单位,设置它的足印为地面,就可以在上面造东西了
其实我到时很喜欢兵营附属建筑那样无限拓展的结构,只是没有模型,不好做
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-3 15:38 , Processed in 0.153720 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表