流星

流星消逝的时候,光明已在望。黑暗无论多么长,光明迟早总是会来的。

流星远程武器分析 有更新!

远程武器种类

远程武器有3种。
分别是飞镖,飞轮,火枪。
这三种武器都非常有趣。
使用远程武器的时候
摄像机都没有锁定解锁系统。

火枪

飞轮比较特殊,它具有自动目标。
火枪需要进入预备姿势才能射击。
预备姿势是213。
进入预备姿势前需要进入装弹姿势。
装载子弹姿势是212。
212动作默认连接213动作。
进入预备姿势后
只有受击,爆气,跳跃会取消掉预备姿势。
其他姿势,会默认回到装载子弹212动作。
或者回到预备姿势213动作。

其实这个相当于一个子状态机了。
正常状态所有姿势没有默认连接的时候都会回到Idle
Idle就是pose 0动作。
而处于射击准备状态。
则默认回到213动作。
这个213就类似于pose 0动作。

还有一点,火枪是有准星的。
这个准星是屏幕正中间的UI对的世界位置。
火枪是无弹道的,会发射的一条射线检测。
在火枪的攻击帧一开始就发射射线判断。
这种做法,会引起2个角色对射。
永远只有一个会受到射击。
谁先出手,一旦打到对方。
对方的攻击动作(如果使用火枪)
就不可能进入攻击帧了。
因为他会进入受击动作。
如果火枪有弹道就会出现。
2个角色对射。
2个角色都会被对方的子弹打到。
火枪还有一个问题。
就是射击到地板。
会有一个冒烟特效/子弹射击特效。
这个还要研究一下做法。

飞镖

飞镖是有弹道的。
要计算弹道需要2个参数。
1个是起始点坐标。
1个是朝向。
起始点,是使用特效的Sphere3子特效坐标。
而且飞镖似乎有个特性。
在运动距离多久之后。
开始获得重力下落。
而且碰到墙壁之类的会被阻隔.
在使用飞镖状态下。
摄像机系统也是没有锁定切换的。

飞轮

使用飞轮时。
摄像机系统也是没有锁定切换的。
但是飞轮有个特性。
就是自动目标的距离非常远。
而且不会随着距离把自动目标给清理掉。
飞轮射击主要就靠自动目标坐标,角色坐标,角色朝向。
飞轮运动轨迹分为2段,攻击段/收回段。
回收段的轨迹,似乎就是物件自身随机旋转。
一个直线的返回,且不论墙壁遮挡(会穿墙)。

攻击段轨迹怎么算呢,大概就是通过3个参数计算的。
类似贝塞尔曲线吧,大概就是3个点坐标确定了一个函数。
这个函数接受一个参数。
参数处于0-1之间。
当给0时,返回起点。
给1时,返回终点。
其他参数,就通过函数计算返回坐标。

还有个问题是运动轨迹与(自动目标与角色朝向的夹角)有一定关系。

当角色朝向,与自动目标夹角大于90度时。
这个是不会触发轨迹计算的。
会导致飞轮朝正前方飞行一段距离,之后返回。
相当于正前方没人,飞轮就出去一小段距离回来。

当角色朝向,与自动目标夹角小于90度时。
会以角色面向前方的45码位置做为控制点。
以角色的右手武器挂载点。
在那里生成一个飞轮预设。
会以自动目标的位置上方20码(臀骨位置)作为终点。
会随着自动目标(作为飞轮的攻击目标)的坐标一起刷新。
如果在攻击段碰到墙壁/碰到自动目标之类的,会触发回路。
但是碰到其他非自动目标,不会触发回路。
也就是说,这飞轮是有跟踪效果的。
但是测试,却会发现一些情况下。
即使飞轮射击出去,没有被墙壁遮挡。
也不会打到对方。
这说明,这个跟踪效果,可能有一个缓存。
只有当飞轮距离缓存位置很近的时候。
就会当作飞轮已经到达目标,开始返回。
当攻击目标移动一段距离。
而这个缓存没即时刷新时。
就会有运动轨迹落后与攻击目标位置。
也就会导致,飞轮没有打中目标。
但是到达了缓存的终点,飞轮就返回。

共同特性

这些远程武器的共同特性。
双击方向都会触发滚动。
都无解锁系统。
空中都能使用香港脚-原版注释(种武器踢腿/远程武器踢腿)。
下周基本可以还原远程武器了。

幻想

我在想《新龙门客栈》雷震天vs魏忠贤那一段场景里。
飞剑,飞斧环绕自身,看起来好酷。
能不能试着弄到游戏里来玩玩。
主要是特效要配合动作。
特别还是2个角色同步的动作。
要是unity能够有时间轴。
然后把动画的每一帧还原到时间轴上显示到场景里。
然后再在场景里摆几个角色和特效(每个角色和每个特效都有自己的时间轴)。
要是都能通过帧来调整位置。
那么再把做好的东西保存起来。
不是做东西非常带感。
我期望自己的w4d能够做到这样。
在物件时间轴上调整好所有。
再保存到各个动画帧里。
我想。
原引擎应该有一个动作和特效可视化调整工具。
这样调整特效和动作还有角色与角色间的动作同步,那就非常的清晰。
这些东西似乎只有3d动画制作软件才支持。

validate