最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【我?guī)旺椊切辀ug】一堆bug和“bug”的安潔莉娜

2020-06-10 17:47 作者:等--等燈等燈  | 我要投稿

前言

為啥要給安潔開個專場呢?當然是因為她身上的“bug”有點多
而且最重要的是,原來只有1個“bug”,周年慶之后增加到了3個

而鷹角目前好像還是沒有什么動作,所以覺得有必要拿出來說一說...


本期內容包括:
安潔莉娜質素訪客皮膚3技能開啟動作錯誤,詳見:https://bbs.nga.cn/read.php?tid=21586319
安潔莉娜質素訪客皮膚3技能彈道發(fā)射點與原皮不同,詳見緋紅權杖攻略組視頻

安潔莉娜2,3技能攻速不穩(wěn)定,詳見:https://bbs.nga.cn/read.php?tid=20267194

安潔莉娜質素訪客皮膚技能開啟動作錯誤

大概問題就是,安潔換上新皮膚后3技能的開啟動作很不自然

詳情可以查看此視頻1分18秒處

并且可以發(fā)現(xiàn)這個開啟動作和2技能的開啟動作一致

你以為這是丫丁偷懶沒做?
不不不,去prts上看一下,會發(fā)現(xiàn)有一個名稱名為Skill2_Begin的動畫,這個動畫的動作剛好能對上3技能開始動作
那么這很明顯是鷹角把哪里搞錯了

方舟在調用角色動畫的時候并不是直接調用的動畫原名稱
而是賦予動畫一個/多個程序名,隨后通過程序名調用動畫
這樣一來,如果有新皮膚啥的,或者是其它特殊情況(例如不同攻擊模式下是出生動畫),只需要改變這個命名過程即可,不必每一個模式或皮膚重寫調用的名稱
而安潔新皮膚出錯的,正是這個命名過程(被稱作SingleSpineAnimator)

安潔皮膚的SingleSpineAnimator

這張圖可以看出,名為Skill1_Begin的動畫(即2技能開始的動畫),被賦予了Skill_2_Begin的程序名
而安潔3技能的開始動畫,調用的是Skill_2_Begin的程序名

這樣一來,裝備新皮膚時,3技能的開始動畫就變成了實際上的2技能開始動畫
這很明顯是個bug,如果鷹角要修復的話把這個新皮膚的SingleSpineAnimator改掉就行

安潔莉娜質素訪客皮膚技能彈道發(fā)射點與原皮不同

大概問題是,緋紅組發(fā)現(xiàn)安潔換上新皮之后3技能對敵人的攻擊彈道時間似乎比原來短了一點
但事實上,彈道速度被寫死在[uc]projectiles文件中,這是皮膚無法改變的
距離/速度=時間,速度變不了,變的就只能是距離了

方舟大部分帶有彈道的攻擊需要有一個彈道的發(fā)射點
這個發(fā)射點可以是頭,腳,武器,地面等等,而安潔3個技能的彈道發(fā)射點全部被設置在了MUZZLE,即武器點上
而這個muzZLe point,又需要綁定spine動畫中的一根特定的骨骼

安潔皮膚MuzZLePoint所綁定的骨骼

從上圖可以看出,這個muzZLe point綁定的是一根名為"F_MuzZLe"的骨骼(兩個皮膚一樣的就不重新放圖了)
那讓我們看看這根骨骼在哪

原皮膚3技能開啟時MuzZLePoint所處位置
新皮膚3技能開啟時MuzZLePoint所處位置

這是兩個皮膚開3技能時F_MuzZLe骨骼的位置
可以看到新皮膚的F_MuzZLe骨骼較原皮向前平移了100多個單位
這樣一來,彈道速度不變的情況下,彈道從發(fā)射到到達朝向目標的時間將被縮短,而到達背向目標的時間將會增加

當然影響不僅是3技能,實際上2技能受到的影響更大

原皮膚2技能開啟時MuzZLePoint所處位置
新皮膚2技能開啟時MuzZLePoint所處位置

新舊皮膚戰(zhàn)斗差異這個問題不好定性
個人傾向于皮膚制作者沒有考慮到實戰(zhàn)需求
不過還好實戰(zhàn)影響不算太大,最多在需要卡抬手時有些影響

安潔莉娜2,3技能攻速不穩(wěn)定

那么下面這個就是實戰(zhàn)影響很大的了
微粒模式和反重力模式的攻速不穩(wěn)定問題
大概表現(xiàn)為微粒模式和反重力模式攻擊間隔不恒定,會有所波動

在解釋清這個問題前,我們先需要了解下方舟攻擊是什么,依賴于什么

方舟中大部分攻擊依賴于spine動畫
spine動畫是一種骨骼動畫,通過將小塊的"零件"綁定到"骨骼"上,制作成模型,然后調整"骨骼"來達成比較逼真的動畫效果
同一個模型可以擁有多個不同的動畫
而對于每個動畫,制作者只需要制作關鍵幀,并做好骨骼的設定,中間的補間會由程序自動完成

不過,在每個動畫中能夠插入的不僅僅只有決定動畫走向的"關鍵幀",還有一個叫做"事件幀"的東西
這個"事件幀"是留給動畫外程序的端口,動畫外程序可以檢測特定"事件幀"的播放來在特定時間點上執(zhí)行特定的任務
對于方舟來說,大多數(shù)(之后會講到例外)攻擊就是在檢測到攻擊動畫中"OnAttack"事件發(fā)生時執(zhí)行的
舉個例子說的簡單點,就是把能天使的OnAttack事件幀放到銃噴火的時候,所以每次攻擊都是在銃噴火的時候執(zhí)行,看起來就跟因為銃發(fā)出了子彈所以打到人了一樣
而對于大部分攻擊來說,所謂的"前后搖"就是從攻擊動畫播放開始到"OnAttack"事件以及從"OnAttack"事件到攻擊動畫播放結束所需要的時間

攻擊是否依賴spine動畫事件會由一個名為waitForAttackEvent的變量決定
當攻擊動畫中無OnAttack事件時,該變量強制為False

方舟的攻擊速度也可以依賴很多種因素,這個由一個名為timeMode的變量控制
timeMode=0 為 FROM_ATTACK_SPEED。即攻擊冷卻依賴于攻擊速度。至于怎么讓動畫適應間隔是別的變量的內容。典型例子是各類普攻。
timeMode=1 為 FROM_ANIMATION。即攻擊無條件依賴于動畫,與攻速無關。動畫按默認速度播放,不受攻擊間隔影響。典型例子是絕影。
timeMode=2 為 SPECIFIED。即攻擊冷卻需要指定,與動畫攻速均無關聯(lián)。典型例子鈣質化,柏喙扔飛刀,愛國者的真?zhèn)猸h(huán)

而當攻擊間隔依賴于攻擊速度時,默認情況下會讓攻擊動畫拉伸(最長maxAnimScale倍)或收縮(最短0.1倍)以適應攻擊間隔

但有一種名為channeling情況例外
這種情況的共性是是,會在一段時間內始終保持一個動作進行攻擊,而不是像正常攻擊中一樣會在常態(tài)動作和攻擊動作中切換
原因是因為其加載了一個特殊的動畫模板用于保持一個動作循環(huán)播放,而這個動作不被攻擊模板所調用,因此會保持默認速度播放
很明顯,安潔的2,3技能都屬于channeling
同樣屬于channeling的技能還有很多,例如精神爆發(fā),奇美拉,火山,腦啡肽,鈣質化等等

那么說了這么多,為什么安潔的技能會出問題?
首先,安潔的攻擊waitForAttackEvent變量為True,而且她2,3技能動畫中真的有有效的攻擊事件。這意味著正常情況下安潔的攻擊只能在動畫關鍵幀進行
其次,安潔的攻擊依賴攻速,這意味著她本應去調整攻擊動畫的長度使其適應攻擊,調整不了時用默認動畫填充
最后,安潔在技能期間屬于channeling,這意味著她的動畫只能按默認速度循環(huán)播放,不能被調整長度,不能被插入默認動畫

這三者缺一不可的共同作用造就了安潔的奇葩攻速
安潔技能期間的攻擊只能在特定的時刻進行,而這個時刻又不依賴攻速
這樣一來,能夠進行攻擊的時刻只能是攻擊循環(huán)動畫長度的整數(shù)倍,而堆積的攻擊行為會在一個時刻多次進行
這就是安潔2,3技能攻速不穩(wěn)定的真正原因

那么如何改成正常模式呢?有兩種方案
第一種,將waitForAttackEvent改為False,使攻擊不依賴動畫事件,從而使其在達到冷卻時能夠立刻進行
第二種,將安潔23技能循環(huán)動畫中的攻擊事件全部刪去,原理和上面那個一致(這就是為啥之前開玩笑說出個新皮膚就能修好)


本文原載于NGA:https://bbs.nga.cn/read.php?tid=21970478

作者為本人

此專欄以CC BY-NC-SA 4.0協(xié)議發(fā)布

【我?guī)旺椊切辀ug】一堆bug和“bug”的安潔莉娜的評論 (共 條)

分享到微博請遵守國家法律
莒南县| 平舆县| 平遥县| 东至县| 杭州市| 颍上县| 长乐市| 漳浦县| 营口市| 永春县| 饶阳县| 奉化市| 永年县| 鄂托克前旗| 屯留县| 准格尔旗| 泰来县| 辽宁省| 赤水市| 霍城县| 子洲县| 三台县| 林州市| 台北县| 文登市| 东莞市| 浠水县| 大同县| 唐山市| 夏河县| 通州市| 正安县| 海安县| 南汇区| 会理县| 宝坻区| 佛坪县| 瑞金市| 南溪县| 杂多县| 高碑店市|