找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1912|回复: 6

[经验分享探讨] 【避雷】可驻军建筑的ActiveAnim相关

[复制链接]
发表于 2024-12-18 23:25:04 | 显示全部楼层 |阅读模式
本帖最后由 nuke 于 2024-12-18 08:40 编辑

起因是我Mod里的一个需求:中立建筑上的路灯在破损帧时不会亮

众所周知,建筑亮灯的方法很简单,要么用调色盘上不受环境光影响的颜色,要么用带有UseNormalLight=yesActiveAnim。用后者的好处是,可以给ActiveAnim挂一个AlphaImage,显得发光效果更好。
然而,可驻军中立建筑和军用建筑不同,可驻军的中立建筑只会在红血(ConditionRed)的时候才会播放破损帧,而军用建筑则是在黄血(ConditionYellow)就播放破损帧。然而,ActiveAnim会在建筑黄血时就切换ActiveAnimDamaged,也就是说,对于可驻军的中立建筑来说,破损帧还没播放灯就熄灭了。

看了一下影响播放破损帧的关键语句是:
1. 如果建筑带有CanBeOccupied=yes,同时带有TechLevel=-1,那么这个建筑判定为可驻军的中立建筑,只有在红血的时候才会播放破损帧和燃烧动画并驱逐驻军。
2. 如果建筑带有CanBeOccupied=yes,但TechLevel不等于-1,那么这个建筑判定为可驻军的军事建筑,在黄血时将会播放破损帧,在红血时将会播放燃烧动画并在原版环境下驱逐驻军。这种建筑的帧数构成通常是第一帧为普通帧,第二帧为破损帧,第三帧为驻军帧,第四帧为驻军破损帧。
3. 如果建筑未指定CanBeOccupied=yes,同时TechLevel不等于-1,那么这个建筑判定为军事建筑,在黄血时将会播放破损帧和燃烧动画。
也就是说,可进驻的房屋最好不要加ActiveAnim,否则在黄血时就会直接播放ActiveAnimDamaged,造成视觉BUG。
改素材去了……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2024-12-19 00:50:11 | 显示全部楼层

简而言之

若 [BuildingType]►CanBeOccupied=true & [BuildingType]►TechLevel=-1 连用那么建筑红血才会变破损帧                       【原版民房就是】

但是所有建筑都是黄血就把 [BuildingType]►ActiveAnim= (Animation) 切换成 [BuildingType]►ActiveAnimDamaged= (Animation) 的

所以平民建筑 [BuildingType]►ActiveAnim= (Animation) 无法很好的配合


其实你可以直接把整个平民建筑的 [BuildingType]►Image= (ARTSection) 完全用 [BuildingType]►ActiveAnim= (Animation)替换掉的嘛
并且作为工作动画所以想要实现图像在特殊情况下切换成另一个图像等等效果还是
修改 [BuildingType]►ActiveAnimYSort= (integer) 和 [BuildingType]►ActiveAnimZAdjust= (integer) 来处理遮挡层级都比
建筑本体 [BuildingType]►NormalZAdjust= (integer) 方便得多
色盘方面Ares提供的 [Animation]►CustomPalette= unit~~~.pal / [Animation]►CustomPalette= unitsno.pal 
也比 [BuildingType]►Palette= unit 好用得多(使用上仍然正常兼容前者)

重点提示

建筑动画自定义色盘记得加 [Animation]►ShouldUseCellDrawer=false

回复

使用道具 举报

 楼主| 发表于 2024-12-19 10:28:24 来自手机 | 显示全部楼层
Noble_Fish 发表于 2024-12-18 09:50
本帖最后由 Noble_Fish 于 2024-12-18 17:13 编辑 简而言之若 [BuildingType]►CanBeOccupied=true&n ...

这个思路不错,所以进驻帧就直接把沙袋和木板分开渲染放本体然后改Z轴放上面?
回复

使用道具 举报

发表于 2024-12-19 11:40:43 来自手机 | 显示全部楼层
甚至ActiveAnimGarrisoned也是在黄血的时候就切换了
回复

使用道具 举报

 楼主| 发表于 2024-12-19 13:04:50 来自手机 | 显示全部楼层
Handama 发表于 2024-12-18 20:40
甚至ActiveAnimGarrisoned也是在黄血的时候就切换了

纳尼,第一次见这个标签૮₍°□°₎ა
我感觉WW应该没有给ActiveAnim做中立可驻军建筑做单独的区分,也就是说只要满足ConditionYellow,建筑一定就会播放ActiveAnimDamaged😅
回复

使用道具 举报

发表于 2024-12-19 13:55:24 | 显示全部楼层
nuke 发表于 2024-12-19 05:04
纳尼,第一次见这个标签૮₍°□°₎ა
我感觉WW应该没有给ActiveAnim做中立可驻军建筑做单独的区分,也 ...

你可能没注意过,但你肯定见过它的工作效果:
RA2S1红色黎明一个E2进入胜利纪念碑然后老美旗子变苏俄旗子
回复

使用道具 举报

发表于 2024-12-19 13:59:35 | 显示全部楼层
Handama 发表于 2024-12-19 03:40
甚至ActiveAnimGarrisoned也是在黄血的时候就切换了

毕竟Garrisoned也属于建筑动画的一类
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-5-11 13:42 , Processed in 0.083759 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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