银河编辑器吧 关注:6,168贴子:71,536

【操作心得】单位自定义状态框体(英雄)

只看楼主收藏回复

这是我在GA等地学习后的成果:
我相信很多人不喜欢星际2的自带血条,特别是用在英雄上的时候。比如下图的龙骑士就是星际2的经典血条。按照血量来分格显示。很多人觉得非常难看。
这里就用UI编辑器的学习成果教大家创建自己的生命值条。或者覆盖原版状态条。用这个办法,你可以为自己创建无限种样式的自定义血条。摆脱分格样式等。


IP属地:浙江1楼2020-04-24 19:08回复
    血条,在演算体里叫做“单位状态框体”。是在UI编辑器里设置的一种Frame
    比如,下图就是虚空之遗战役中,大部分英雄使用的自定义状态框体
    LotV_UnitStatus/HeroUnitEnergyStatusFrameTemplate



    IP属地:浙江2楼2020-04-24 19:12
    回复
      这些状态框体是暴雪设计供地图作者使用的。(虽然地方很偏僻就是了)。
      而我们要做的,就是随便以其中一个作为模板,创建一个自定义的状态框体。
      在UI编辑器里右键点击左侧空白位置,然后添加一个布局。然后为其创建一个英文名字。

      一个全新的布局xml文件,右边应该是这样的。


      IP属地:浙江3楼2020-04-24 19:18
      回复
        这里我们选择以LotV_UnitStatus/HeroUnitEnergyStatusFrameTemplate,也就是虚空之遗战役星灵英雄的状态框体为模板创建自定义框体。
        先到默认的UI控件处,找到该预设框体。
        请注意,如果你不能在列表里找到预设的UI文件,请在上方将数据源选为“所有数据”


        在右侧,将所有属于这个Frame的控件全部复制到你早先创建的自定义布局内。如果你的文件没有修改过。该Frame的全部控件应该位于158-218行
        请注意,你的内容应该粘贴到新布局的<Desc>与</Desc>中。

        点击保存,UI编辑器就会将布局内的控件列出来了

        这样,我们就以原版虚空之遗战役的自定义英雄框体,创建了一个新的自定义框体了。


        IP属地:浙江4楼2020-04-24 19:25
        回复
          然后,在单位的演算体里,将单位的自定义状态框体修改为刚才创建的框体。路径为你创建的自定义布局的名字/框架名字
          如果你不能修改这里的数值,请按下Ctrl+D,以显示原始数据。

          保存进入游戏测试,你就能看到单位的状态框体变为了这个样式(请忽略这个球)
          因为我们尚未对这个框体做任何修改,因此它显示的应该是默认的虚空之遗状态样式

          在游戏内按下Ctrl+Shift+Alt+F12。开启游戏自带的UI编辑器。我们可以在这里预览我们对UI控件的修改。

          点击单位的状态条。右侧会自动跳转到该框架的框架树,点击上方的描述树来切换到详细控件的设置。
          这里就是我们创建的新状态框体了。

          现在我们就可以对这些控件进行修改预览了。请注意在这里的修改不会保存,因此你需要记住你所做的修改。
          首先我们将HeroUnitBackgroundImage这个框体变大一些。在下面的属性设置里修改Height(高度)和Width(宽度)即可

          比如,我现在将Height属性和Width属性都设置得更大。就会变成下面这样。

          有人这时可能就要问了,血条护盾条这些都没变啊,还是这么小。那么,把血条和护盾条也自己改成合适的大小就好了。
          提示:对偏移位置的修改是在Anchor里修改offset。注意只有关联的Anchor修改才有效。

          经过一些操作以后,你的状态条应该会变成你想要的样子。如果做错了也没有关系。这些修改不会保存,你只要再次启动游戏就能重新开始测试。

          修改护盾/生命/能量条框体内的Segmented和SegmentValue项,就能控制生命状态条是否分段。
          Segmented值为True则会分段显示状态条。而SegmentValue则控制每一段的数值。


          IP属地:浙江5楼2020-04-24 19:48
          回复
            经过一些修改,你可能已经做出了你最心仪的状态条了。

            但工作仍未结束,还记得之前说的,在游戏内的UI编辑器做的修改不会保存吗?我们需要返回编辑器的UI编辑器,实际地修改重载这些设置。
            回到编辑器的UI编辑器,找到所有你做过修改的控件。
            比如。我刚才将HeroUnitBackgroundImage这个控件的宽和高进行了修改。那么在这里的Height和Width你也要做出对应的修改。你可以一边看游戏内的UI编辑器,一边修改UI文件。

            对于UI编辑器里没有列出的项(比如HealthBar没有Segmented属性),只需要自己添加即可

            在修改完后,保存地图。如果你的设置无误,编辑器会输出一个保存成功无错误的消息。

            只要你不遗漏修改的内容,状态框体的修改就能正常生效。如果出现问题也不要慌,多多修改测试就行了。



            IP属地:浙江6楼2020-04-24 20:00
            回复
              以上就是添加自定义状态框体的全部内容了。
              用这种方法,你可以自己定义无限种状态框体以供使用,修改backgroundImage文件还能修改框体的边框,以做出不同风格的,不同种族的状态框来。
              你可以使用许多自带的状态框体模板来进行试验。只需要少量的尝试、在熟练后你就能以惊人的效率设计出许多不同的单位状态框体来。彻底摆脱丑陋的自带血条。


              IP属地:浙江7楼2020-04-24 20:04
              回复
                最后提一点需要注意的地方:
                一个单位不只有生命条,它还有能量,护盾,进度,持续时间等状态条。因此修改时要多加注意。


                IP属地:浙江8楼2020-04-24 20:12
                回复
                  可以的


                  IP属地:广东来自Android客户端9楼2020-04-24 20:15
                  回复
                    稍加调整润色就能达到这种效果。当然,我这个做的很难看。但我觉得认真调的话,肯定是能做出很漂亮的效果的。


                    IP属地:浙江10楼2020-04-24 21:03
                    回复
                      顺带,血条可以显示对敌方的显示颜色


                      IP属地:浙江11楼2020-04-24 21:55
                      回复
                        是大佬


                        IP属地:江苏来自Android客户端12楼2020-04-24 22:21
                        回复
                          挺好,但是格子我更能知道我的血量


                          星座王
                          点亮12星座印记,去领取
                          活动截止:2100-01-01
                          去徽章馆》
                          IP属地:上海来自Android客户端13楼2020-04-25 10:44
                          收起回复
                            三种不同的血条状态框体样式
                            第一种就是风暴的Fenix所用的样式,单独使用一个护盾条。
                            而第二种则是风暴的普通英雄使用的样式。护盾和生命合在一起作为一个UnitStatusShieldedHealthBar。修改护盾的颜色。就可以变为这种样式。这种样式在风暴里响应的是护盾。多个护盾可以叠加为厚厚的一层。


                            IP属地:浙江14楼2020-04-26 11:09
                            回复
                              tql,sdl,wsl


                              IP属地:湖北15楼2020-05-02 23:02
                              回复