骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 2047|回复: 5

[功能与代码] 关于场景物化item装备的具体用处

[复制链接]

212

主题

1033

回帖

1049

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14847
精华
0
互助
93
荣誉
21
贡献
325
魅力
1382
注册时间
2017-11-5
鲜花(431) 鸡蛋(0)
发表于 2023-8-4 06:01:01 | 显示全部楼层 |阅读模式
本帖最后由 vegetto 于 2023-8-4 13:05 编辑

很多年前我的万剑归宗的视频应该有人看过。御剑实际上御的就是item。
在骑砍里,你在编辑模式里可以加的prop,item等等物品都可以看作广义的prop,这个在try for prop 可以控制的对象类型可以看到。而对于item,可以看到有spawn item的操作,得到的item instance实例会发现op里有两种获得item数量的op,一种是item instance get num,另一种是spawned item instance get num。同样的,还有item get instance id这种获取id的op,这个很类似场景物的prop instance get num的获取场景物数量以及prop get instance id的获取场景物实例id的操作。实际上本质上他们就是一个性质的。我们对于场景物通过prop get num然后循环0~同类场景物总数再get instance id的方式,就可以在大部分场合适用一切含prop的操作对场景物进行移动放缩等灵活控制。而同理的,对通过spawn item以及通过"丢"产生的spawned item,可以同样通过spawned item instance get num,循环同类spawned item在场0~总数量,然后对spawned item get instance id得到的实例在大部分场合用上含prop的op。
所以对于spawned item本质上是无碰撞的场景物,可以类比prop进行一些prop类操作。但有一些注意点:
1.注意上面说的get num数量和get id实例,对于item有两组op,想让item适用含prop的op需要保证用含spawned item的操作去get num和get id。
2,spawned item和prop在含prop的op操作使用的重要区别,他们几乎能在大多场合用上大多prop 操作,但是spawned item可以被sceneprop set prune time设置完全消失的时间,也就是说为什么prune time注释写的乱七八糟结果对sceneprop产生的instance无效,导致我们一般对他只能通过隐身埋到地下等方式隐藏假装"删除",因为set prune time的op只针对spawned item。
实际上这个你们可以类比一下party和用party temple生成的party。这两种方式下party都被try for party承认,但是有的时候在一些操作上略有区别,比如摧毁彻底删除party的操作可以删temple生成的party,但是删不了party py注册好的有名有姓的party。所以说scene prop和spawned item在这方面就类似于party和party temple的关系。
3,spawned item如果spawn 10个,set  prune time删一个,那spawned item get num获得的数量是9个,这证明这个操作是真正的删除了而不是隐藏。


具体用途:
1,对于无需碰撞的场景物且数量较大并占内存的场景物控制操作,如我上面说的御剑术、用场景物做特效技能、特殊弹矢比如我了解到有些联机的一二战现代战争mod想用prop重做枪射击系统的。就可以考虑把这些物体不注册在sceneprop py,而注册到item中。
实际上这个操作和理念比较适合现代战争和魔幻mod。
打个比方,很多魔幻模组现在学精了,把自己的技能各个数据比如说cd伤害效果之类的借助非装备游戏的item物品里重量长度等等固有数据利用item get length等等获取装备基础信息的op,来存储一些魔幻类的技能各参数数据,但是实际上,有了本贴的概念之后,我们对这种做法还有更多的延伸。
也就是比如我们做技能,某些不方便用particles要用prop控制模拟的技能特效物品才方便时,此时我们又苦于scene prop实例不能直接删除(会堆积内存并且以前的通常做法是通过先刷一定数量然循环使用的方式,比如地上要搞炮弹坑,我可以预见刷二十个坑状prop,炮弹打到地面上,然后就刷出这个物品,如果超过20个同时刷出来,就把刚开始的移走搞到新刷坑的地方,但有的时候假如有人修改扩大使用频率,预刷prop数量就不方便确定)。
所以当把item中不仅仅是把长度重量等信息用来记录技能的数据外,顺便把他的装备模型引用用上,存能量球,陨石以及像我一样大量使用的顶点动画物品模型,这样就会有很多的便利:
一是这类技能特效类物品具备set prune time的删除操作,这样使用的时候,不用刻意控制预刷使用,可以方便清除内存占用。
二是通过item可以获取overlay外观操作,我们可以生成技能外观的预览以及一系列直接对应联系的信息,减少中间媒介。

对spawned item进行prop控制另外的说明:
1、除了平移旋转等移动类常规prop操作,还可以操作顶点动画,放缩这种改变形体外观的,但是要注意使用改变形体外观操作后,如果这是一个可捡起装备的物品,玩家凑过去拾起物品,进行动画和放缩甚至是改变贴图的spawned item会回归到自己的初始状态。所以说,装备拾丢过程完成后是不能传递之前状态的,比如如果你想通过刷物品先放动画再拿的方式,是造不出带顶点动画的装备上手的装备的。

2.如果场景物碰撞是必须的、大的、有棱有角的、有支撑作用要求的,那就老老实实用scene prop模拟






评分

参与人数 1第纳尔 +10 魅力 +2 收起 理由
agjib + 10 + 2 您的帖子很有价值!

查看全部评分

鲜花鸡蛋

武安apk43  在2023-8-4 21:39  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

31

主题

210

回帖

187

积分

见习骑士

Rank: 3

UID
2462463
第纳尔
1587
精华
0
互助
23
荣誉
0
贡献
0
魅力
83
注册时间
2015-3-3
鲜花(58) 鸡蛋(0)
发表于 2023-8-5 12:29:58 | 显示全部楼层
前排支持11111

26

主题

804

回帖

399

积分

骑士

民间工匠

Rank: 4Rank: 4

UID
1115705
第纳尔
4062
精华
0
互助
26
荣誉
2
贡献
0
魅力
30
注册时间
2012-12-13
鲜花(235) 鸡蛋(10)
发表于 2023-9-7 10:28:28 | 显示全部楼层
本帖最后由 a1550887802 于 2023-9-7 16:53 编辑

啊呸,我不知道你是不是真的认真研究了,场景里的item其实很不稳定,不太建议用这个做比i较复杂的功能

212

主题

1033

回帖

1049

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14847
精华
0
互助
93
荣誉
21
贡献
325
魅力
1382
注册时间
2017-11-5
鲜花(431) 鸡蛋(0)
 楼主| 发表于 2023-9-24 08:35:57 来自手机 | 显示全部楼层
a1550887802 发表于 2023-9-7 10:28
啊呸,我不知道你是不是真的认真研究了,场景里的item其实很不稳定,不太建议用这个做比i较复杂的功能 ...

不大量用,一般我用在部分技能特效和部分行为碰撞和人类差不多的带动画的生物体上来自: iPhone客户端

31

主题

210

回帖

187

积分

见习骑士

Rank: 3

UID
2462463
第纳尔
1587
精华
0
互助
23
荣誉
0
贡献
0
魅力
83
注册时间
2015-3-3
鲜花(58) 鸡蛋(0)
发表于 2023-9-26 08:18:57 | 显示全部楼层
a1550887802 发表于 2023-9-7 10:28
啊呸,我不知道你是不是真的认真研究了,场景里的item其实很不稳定,不太建议用这个做比i较复杂的功能 ...

问下这个item不太稳定是啥意思,我主要是对场景物品的各种移动,animate to pos 这句,会受这个不稳定影响吗

0

主题

20

回帖

6

积分

平民

Rank: 1

UID
3544631
第纳尔
4
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-7-27
鲜花(0) 鸡蛋(0)
发表于 2024-1-19 16:00:53 | 显示全部楼层
偷天换日技巧
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-12-27 12:07 , Processed in 0.125414 second(s), 29 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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