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

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

Creation kit說明書04——NPC

2022-12-29 21:12 作者:甜味劑豆?jié){  | 我要投稿

越寫越覺得無奈,唉。

10年前的老游戲了,玩的人不多了,更別說什么做什么MOD了。。。

我為什么還要堅持呢?我又在堅持什么呢?

這些東西真的會有人看嗎?

還是做整合包算了,哈哈哈哈哈

話說我是不是忘了關(guān)于BS的視頻了。。。

要不然跑路吧!

本期篇幅極長,包括

race(大概?)

NPC修改

隨從制作

獨(dú)特AI

商人和技能訓(xùn)練師的制作

并讓他們能與你或其他NPC對話


我們將從一個種族開始,到讓你創(chuàng)建的NPC活起來結(jié)束。

希望你和我都能繼續(xù)堅持。

我們繼續(xù)吧。



Race

首先,創(chuàng)建一個NPC至少確定他是什么東西。

人類,還是生物?

這些最開始由Race確定,并且設(shè)定好他們的初始屬性和某些特性。

所以打開這一欄。


到這里,你可以看見一個有趣的事實(shí),老人和小孩是單個的種族。。。每個種族的吸血鬼也是單獨(dú)的種族。。。

所以。。。像某些將吸血鬼大君變?yōu)槿说腗OD其實(shí)就是將腳本里的種族轉(zhuǎn)換弄了一些手段重新設(shè)置為人罷了。。。

好了,我們打開諾德人種族作為舉例,逐一介紹每一個選項。

ID:CK里使用的名字

editing:男還是女?其實(shí)就是看看模型的變換,數(shù)據(jù)是通用的。

preview:預(yù)覽模型,就是右邊的那個白框,full就是全身,head就是頭

keyword:關(guān)鍵詞

第一部分

Skill Bonus:?1級為其提供的技能加成,最多七個,左邊是哪一個,右邊是值


Movement

Immobile:?無法移動。

Walks:?可以慢步移動。

Swims:?可以游泳,但movement中其他什么都不選就選這個項時無法在水外行動

Flies:?如果有手段,允許飛行,人類沒翅膀嘛,怎么可能飛呢。。。

Avoids Roads:意義不明,沒有種族選擇這個項,所以當(dāng)他不存在吧。。。

Not Pushable:防止任何事物在移動時阻攔其行動。

No Combat in Water:?無法在水中戰(zhàn)斗。

No Rotating to Head-track:無旋轉(zhuǎn)的頭部跟蹤動畫

Uses Head Track Anims:使用頭部跟蹤動畫


Specials:種族持有的ability,設(shè)定種族天賦技能,像戰(zhàn)吼啊,天生抗性啊什么的,詳情請見spell那一期


Stats

Starting Health:?1級生命值初始值。

Starting Magicka:?法力初始值。

Starting Stamina:?耐力初始值。

Base Carry Weight:?初始最大可攜帶重量值。

Health Regen:?每秒恢復(fù)生命值百分比。

Magicka Regen:法力百分比。

Stamina Regen:?耐力百分比。

Size:這個選項影響的是在受到不卸之力這種效果時被影響的效果。


Flight Radius:允許的飛行半徑,只影響龍。


Copied data

Morph Race:用不到的東西。。。將使用哪一個已有種族的形變。

Armor Race:一樣,這個是材質(zhì)。


Tilt Front/Back:意義不明。

Tilt Left/Right:意義不明。

No Shadow:?沒有影子。

Spells align w/magic node:關(guān)于模型的東西,不是很懂。。。

Use World Raycasts For FootIK:一樣。。。

Allow PC Dialogue:?玩家允許與其對話

No Knockdowns:?常時霸體,不會被任何擊倒效果影響

Always Use Proxy Controller:不明。。。

FaceGen Head:?玩家限定,會在捏臉時有預(yù)設(shè)臉型。

Playable:?玩家可以玩。

Child:?被視為孩童,也就是死不了。

Allow Ragdoll Collision:允許出現(xiàn)布娃娃形態(tài)(就是被吼倒時四肢亂爬的時候)

Regen HP in Combat:?允許在戰(zhàn)斗時生命自動恢復(fù)。

Allow Pickpocket:?玩家可以偷竊。

Can't Open Doors:?無法與門互動。

Allow Multiple Membrane Shaders:關(guān)于shader的東西,是否允許多個shader同時運(yùn)用于其上。但莫名其妙的是原版的都沒選,所以我建議你也別選。



第二部分

Height:默認(rèn)高度

Weight:取值0——1。骨骼權(quán)重系列,關(guān)于模型我沒研究過。。。不敢亂說。。。

Base mass:不明,不建議改。

下面都是模型相關(guān),跳過吧。。。


第三部分

這里是受擊出現(xiàn)的飆血這種反饋什么的

Impact Material Type:貌似是受擊時出現(xiàn)的血液材質(zhì)什么的。。。

Decapitate Blood Art:被斬首時出現(xiàn)的特效

Blood Spray:血液飛濺效果開啟?

Blood Decal:血濺于身?

Weapon Blood:武器著血?


其他我也不是很懂,就不丟人了。。。


第四部分

介紹相關(guān)。


第五部分

Acceleration/Deceleration Rates

Acceleration Rate

Deceleration Rate

Angular Acceleration Rate

Angular Tolerance

Use Advanced Avoidance

上面的值都是用來修改達(dá)到最大速度時間的

一般用不到。。。


第六部分

這些是動畫事件的某些參數(shù)選項,現(xiàn)在已經(jīng)有了Payload Interpreter和SCAR,已經(jīng)有些用不上了,在還沒上面這些的先前時代的mod里,讓NPC的AI更兇狠,揮劍時觸發(fā)法術(shù)就需要修改NPC的這里了,不過不是在這里改,這里是改一個種族的全體的,NPC里也有這一欄,去那里改。

我們繼續(xù)一個一個說。

Event:?事件名稱,看名字改,不要改名字,像powerattackstart就是重攻擊事件。

Dmg Mult:?攻擊傷害乘數(shù)。

Attack Chance:?事件概率。

Stagger:?造成的硬直值。

Knockdown:?造成擊倒的可能性。

Recovery Time:無用

Stamina Mult:耐力消耗乘數(shù)

Attack Spell:?事件同時使用法術(shù),比如重?fù)舫鲆粋€大火球什么的。

Attack Type:由關(guān)鍵詞判定條件

Attack Angle:?0為由正向出發(fā)為攻擊范圍,180為背后

Strike Angle:?攻擊將會掃過的角度范圍,現(xiàn)在已經(jīng)有精準(zhǔn)判定了。。。

Knockdown:不使用???

Checkboxes

Power Attack:?被視為重攻擊,將消耗耐力

Ignore Weapon:?忽略武器影響傷害。

Bash Attack:?被視為盾擊。

Left Attack:被視為左手攻擊。

Rotating Attack:?不明。。。


第七部分

Injured Health Pct:不使用

Unarmed Damage:?空手傷害。

Unarmed Reach:?空手攻擊距離。

Unarmed Equip Slot:空手肯定是雙手,也就是bothhand啦

Aim Angle Tolerance:攻擊角度偏差?

Can Pickup Items:?可否拾起物品并使用?

Can Dual Wield:?可以雙持武器?

Non-Hostile:?不會觸發(fā)戰(zhàn)斗?

Equipment Restrictions:?可以裝備的類型。自己看著也能明白吧。。。


之后捏臉的默認(rèn)就行。。。原版捏臉什么的就不多說了。。。懂得都懂。。。


到此Race結(jié)束。我們轉(zhuǎn)到actor來介紹一個NPC的各項參數(shù)設(shè)置。








NPC

現(xiàn)在到我們本篇的關(guān)鍵了,NPC,一個NPC的創(chuàng)建其實(shí)非常簡單,但想讓他有張獨(dú)特的臉什么的,就要麻煩點(diǎn),算了,慢慢來吧。

每個NPC都在這里。

我們打開萊迪亞作為解說,畢竟,老婆?。。?!

(CK里男爵侍衛(wèi)的名字都挺奇怪的,建議搜索formid,具體可以百度)

ID:在CK里使用的名字
Name:游戲中使用的名字
Short Name:一般用于任務(wù),作為任務(wù)介紹或提示使用,盡量簡短
Is CharGen Face Preset:將作為預(yù)設(shè)會在捏臉時使用,不過好像沒用。
Essential;像小孩一樣無法被殺死。
Protected:需要玩家補(bǔ)刀才能殺死。
Respawn:會在場景刷新時一起重生。默認(rèn)為24天。一般用于敵人。
Unique:游戲中作為獨(dú)特存在,獨(dú)一無二,一般用于任務(wù)或隨從判定,也就是說,當(dāng)你覺得他應(yīng)該很重要,就選上他。
Summonable:能被magic effect使用召喚效果?
Is Ghost:無敵,武器穿透他們沒有任何效果(包括硬直),也不會觸發(fā)攻擊事件
Invulnerable:無敵,但武器會有攻擊到他們的效果
Doesn't Bleed:被武器擊中時,不會有濺血效果。
Simple Actor:該NPC沒有任何表情,死亡或者受攻擊也不會觸發(fā)相應(yīng)的事件
Doesn't affect Stealth Meter:當(dāng)該NPC偵測到玩家時,不會影響你的隱匿狀態(tài),通常用于無害中立生物,狐貍 兔子 ,鹿等等。


Scirpt:腳本相關(guān),本期不討論。


Template Data

這些我們暫且略過,這部分你可以先理解為快速創(chuàng)造復(fù)制人用的。



Traits

Race:種族。
Female :勾選則為女性
skin:為此NPC換一個貼圖,none即為默認(rèn)
Height:高度,默認(rèn)1.00
Weight:修改NPC的體重,有效范圍0-100,游戲中可以用setnpcweight 修改。
far away model:沒什么意義。
Voice type:語音類型,NPC使用的語音
Weapon List
Alignment
Disposition Base
這三個游戲中都沒有用到,效果不明
death item :死亡時NPC身上會出現(xiàn)的的可拾取物品,是的,活著的物品和死亡的是可以不一樣的。。。
OppositeGenderAnim:使用男性動作。



stats

Level:設(shè)置NPC的默認(rèn)等級。

PC Level Mult:?是否跟隨玩家等級?

Calc Min:?如果選擇上面一項,NPC的最低限制等級。

Calc Max:最高限制等級。


Auto Calc Stats:?自動根據(jù)class計算并賦予NPC屬性值?


Health Offset:?在最終生命值的基礎(chǔ)對其進(jìn)行修改,可以取正負(fù)。

Base Health:?由race,class,等級最終計算出的生命值。無法修改。

Calculated Health:?在加上Health Offset后最終在游戲中使用的屬性值。無法修改。

Magicka Offset:?法力值。

Base Magicka:?

Calculated Magicka:?

Stamina Offset:?耐力值。

Base Stamina:?

Calculated Stamina:?


Speed:?人物行走速度。

Bleedout Override:如果人物有Essential,Protected的flag,則在跪地時恢復(fù)到??%生命值站起?


Class:決定NPC屬性成長的設(shè)置。

它在這里。

我們隨便打開一個。


ID:在CK里使用的名字。

Full Name:?顯示的名字。


Auto-Calc Other

Training:?如果勾選,而且此NPC是技能訓(xùn)練師時,設(shè)定最大可以訓(xùn)練到多少。


Bleedout Default:?如果人物有Essential,Protected的flag,則在跪地時恢復(fù)到??%生命值站起?

Voice Points:意義不明。

Description:?不使用。

Menu Image:?不使用。


剩下的數(shù)值計算,每級提升NPC都會獲得5點(diǎn)點(diǎn)數(shù)(這里可以在gamesetting里的fNPCHealthLevelBonus設(shè)置),之后將會按你設(shè)計的class計算提升。

舉個例子,當(dāng)NPC的初始值為100且NPC到了12級時,三維的最終值。

上圖的權(quán)重值分別為2,1,3,最先計算生命值。

則最終為240(每級都會賦予10的生命值加成),110,130


技能呢?默認(rèn)每級給與點(diǎn)數(shù)8點(diǎn)(在gamesetting中的iAVDskillsLevelUp設(shè)置)。剩下的自己算。



Faction

關(guān)于faction其實(shí)不是非常重要,但有幾個很關(guān)鍵的faction需要你設(shè)置一下。

PotentialFollowerFaction 0? ? ? 即為設(shè)置為潛在隨從,會出現(xiàn)跟著我的選項。這是設(shè)置為隨從的最簡單的方法。

PotentialMarriageFaction 0? ? ?即設(shè)置為可結(jié)婚對象。

當(dāng)然我仍然會寫出所有的項的介紹,畢竟是說明書嘛。

關(guān)于faction,你可以看作用于判定對NPC和玩家敵對與否的設(shè)置,當(dāng)然還有一些其他的東西。

具體設(shè)置在這里。

接下來我們來逐一介紹每一項。

Hidden from PC:意義不明。

Special Combat:意義不明。

Can be Owner:選擇后將自動檢測在cell(你這里可以理解為地圖)上的NPC,建議選上。

Interfaction Relations:?修改與已有派系的關(guān)系,具體看下面。

Enemy:被視為敵人。

Neutral: 中立。

Friend:友好。

Ally: 盟友。

Group Combat Reaction:?按上面的選。

Members:具體指定一個NPC。


Rank:不使用。


Crime:關(guān)于犯罪管理的面板。但具體創(chuàng)建一個檢測你是否犯罪的派系還需要一個quest,這我們留到quest篇再詳細(xì)敘述,所以在本篇跳過。



Vendor Tab:主要用于判定商人的條目。

當(dāng)然創(chuàng)建一個商人并不只是在這里設(shè)置就可以做到功能了,我們先描述一下這些是什么,之后再舉例一個商人的創(chuàng)建。

Start Hour/End Hour:?商人做買賣的時間區(qū)間。

Location:?設(shè)置地點(diǎn),這里需要你去地圖找到你想要的地點(diǎn)去設(shè)置。

Radius:在這片地區(qū)的多少范圍內(nèi)設(shè)置為商店區(qū)域,是0也可以。

Vendor Buy/Sell List:?商人將會出售的物品,由formlist決定,這個我們之后一起說。

Not Buy/Sell:這個選項則是將會出售除你選擇的formlist外的物品表單。

Merchant Container:?將你render window設(shè)置的某一個容器設(shè)置為存放商人出售的物品的箱子,在原版游戲里,他們一般都被放在了地下。

Only Buys Stolen Goods:設(shè)置為只銷臟。


關(guān)于商人的創(chuàng)建,我們在本文的最后舉例。先讓我們把基本的項目說明完畢。


Realationship

這里則是詳細(xì)設(shè)定與具體某一個NPC的關(guān)系。

ID:?在CK里使用的名字。

ParentNPC?and?ChildNPC:設(shè)置父級NPC與子級NPC,我在此舉個例子,父級為萊迪亞,子級為玩家,就是萊迪亞與玩家的關(guān)系。

Relationship level:?等級關(guān)系,決定是否為敵或盟友。

Association type:?關(guān)系詳細(xì)設(shè)定,這個自己看著翻譯吧。。。



Keyword

關(guān)鍵字,主要用于設(shè)置條件函數(shù),這里有三個原版有的且比較有意思的keyword。

ImmuneDragonPairedKill? ? ?無法被龍類動畫斬殺

ImmuneParalysis? ? 免疫麻痹

ImmuneStrongUnrelentingForce? ? 免疫不卸之力效果,也就是各種吹飛什么的



Ai Data

這里是關(guān)于NPC的基本的AI設(shè)置,判定他們對戰(zhàn)斗的欲望什么的。

Aggression:這個結(jié)合陣營關(guān)系faction Relationship決定NPC是否開始戰(zhàn)斗
游戲中可以控制臺setav Aggression (0-3)來設(shè)置
四個選項
0 Unaggressive:該NPC不會主動開始戰(zhàn)斗
1 Aggressive:該NPC會主動攻擊視野內(nèi)的所有敵人
2?Very Aggressive 該NPC會主動攻擊視野內(nèi)的所有中立和敵對NPC?
3?Frenzied?該NPC會主動攻擊視野內(nèi)的所有人

2
.MOOD 心情:
很多選擇,默認(rèn)中立就行了,具體效果可以在面部表情那一欄預(yù)覽

3.confidence:
5個選項
0 Cowardly:
懦夫 該NPC任何情況下都不會交戰(zhàn)/逃跑
1 Cautious:
謹(jǐn)慎 不會交戰(zhàn)/逃跑除非該NPC強(qiáng)于對手
2 Average :
不敵時會逃跑
3 Brave:
完全不敵時會逃跑
4 Foolhardy :
決不逃跑
注:3和4沒什么區(qū)別:
Brave(萊迪亞)跪地時會喊“我打不過你,我認(rèn)輸”,F(xiàn)oolhardy(西塞羅) 跪地了一聲不吭而已


4.Enery:
影響NPC(空閑時)四處游蕩時在場景中從一個位置移動到另一個位置的頻率
Assistance
Help Nobody
不幫助任何人
Help Allies:
幫助盟友
Help Friends and Allies
幫助朋友和盟友
Morality
Any Crime:
該NPC愿意犯任何罪行
Violence Against Enemies:
愿意對敵對NPC進(jìn)行任何Crime
Property Crime Only :
只愿意進(jìn)行財產(chǎn)Crime(盜竊,非法入侵)等,極少使用
No Crime:
該NPC拒絕任何Crime

Aggro Radius Behavior:
這個主要據(jù)點(diǎn)強(qiáng)盜,索寞士兵用,先警告 ,不然就繼續(xù)警告或者開打,設(shè)置的值為距離。

Combat Style:在沒有SCAR這個MOD之前對NPC戰(zhàn)斗時的AI的設(shè)置,這個我們慢慢說。
Gift Filter:不明。


關(guān)于Combat Style的位置在這里。

我們隨便打開一個來解釋一下。

Offensive Mult?:NPC的攻擊頻率,設(shè)定越高就會攻擊的越兇狠

Defensive Mult:防御頻率,設(shè)定越高就會持續(xù)防御的時間越久,越龜,而且如果有盾擊perk,也會頻繁使用盾擊。

Group Offensive Mult?:當(dāng)有多數(shù)的NPC向一個為目標(biāo)時,設(shè)定的值越高,他們同時發(fā)起攻擊的概率越高。

Avoid Threat Chance?:當(dāng)NPC在遠(yuǎn)處時,躲避箭矢的概率

Equipment Score Mults?:這些就是設(shè)定NPC對使用的攻擊手段的偏好,分別為近戰(zhàn)武器,弓箭,魔法,龍吼(或由z鍵觸發(fā)的技能),法杖,空手。

Attack

Attack Staggered Mult:當(dāng)目標(biāo)處于蹣跚狀態(tài)時會發(fā)起攻擊的概率。

Power Attack Staggered:當(dāng)目標(biāo)處于蹣跚狀態(tài)時會發(fā)起重攻擊的概率。

Power Attack Blocking:當(dāng)目標(biāo)處于防御狀態(tài)時會發(fā)起攻擊的概率。

Special Attack:不明,但經(jīng)測試貌似是使用z鍵spell的概率。我不敢確定。。。


Bash:

Bash Mult:調(diào)整在攻擊時穿插會使用盾擊的概率。

Bash Recoiled:調(diào)整當(dāng)目標(biāo)被盾擊成功反擊處于無法攻擊狀態(tài)時會發(fā)起盾擊的概率。

Bash Attack Mult:調(diào)整當(dāng)目標(biāo)在發(fā)起攻擊或正在攻擊時使用盾擊的概率。

Bash Power Attack Mult:調(diào)整當(dāng)目標(biāo)使用重?fù)魰r,他會使用盾擊的概率。


Misc:

Allow Dual Wielding:允許雙持單手武器攻擊,但對NPC有些小BUG,左手的武器時常會消失。。。

Dueling

勾選這一項時,NPC在與其作戰(zhàn)時會嘗試正面迂回作戰(zhàn),就是打著打著會慢慢往后退,然后突然一個向前重?fù)暨@種莽夫NPC。

Circle Mult:會嘗試做出左右位移舉動的概率。

Fallback Mult:會嘗試做出前后位移舉動的概率。


Flanking:

這個其實(shí)不使用,不建議選

Strafe Mult:

這些是用于龍類生物的,所以我在此跳過吧。。。算了,還是一起寫上了。

但眾所周知,老滾里的龍類生物的AI都挺。。。

Dive Bomb Chance:不明。

Hover Chance:會選擇懸停在某處的幾率。

Ground Attack Chance:會選擇著陸于對手交戰(zhàn)的幾率。

Perch Attack Chance?:會選擇降落再某些特殊地圖標(biāo)識地點(diǎn)的幾率(這里要到地圖修改篇了)

Flying Attack Chance:在空中使用spell的幾率。

Hover Time:懸停在空中的時間區(qū)間。

Ground Attack Time:降落在地面上戰(zhàn)斗的時間區(qū)間。

Perch Attack Time:降落再某些特殊地圖標(biāo)識地點(diǎn)的時間區(qū)間。


Ai packages

好了,到了本篇最繁雜的部分了,雖然說此部分你可以直接套用原版的package,但這里作為說明書,就應(yīng)該盡可能齊全,吧?

什么是AI package?簡單來說就是控制NPC的行動邏輯的設(shè)置,比如說納齊姆每天都要在城內(nèi)溜達(dá),守衛(wèi)不時進(jìn)行的訓(xùn)練,強(qiáng)盜營地的強(qiáng)盜四處走動模擬巡邏,就由這個來設(shè)置,當(dāng)然有些任務(wù)也使用到了AI package,不過這些暫時就不管了。

開始吧。

你可以在這里找到他。

我們再轉(zhuǎn)到NPC頁面。先說明在NPC欄里出現(xiàn)的東西都是啥。

AI Package List:管理package。

Default Package List:添加一個package,當(dāng)上表中沒有任何package時就使用此package

Spectator Override Package List:當(dāng)被卷入戰(zhàn)斗時且上表沒有用于戰(zhàn)斗時的package時使用此package,一般這個會設(shè)置一個驅(qū)動NPC逃跑的package。

Observe Dead Body Override Package List:當(dāng)附近有個尸體時NPC使用的package。一般用于對尸體互動用(比如說祈禱或恐懼逃跑什么的)。

Guard Warn Override Package List:一般用于警戒,比如說當(dāng)玩家進(jìn)入到某個范圍內(nèi)就陷入戰(zhàn)斗狀態(tài)什么之類的,但一般改AI Data不就好了嘛。。。

Combat Override Package List:這個一般用于戰(zhàn)斗時用的package,比如說戰(zhàn)斗時堅守位置或者使用某些特定法術(shù)等等。


不過!一般我們使用列表里的package即可,這些不是必要使用。

好了,我們打開一個package,來介紹一個package是怎么生效的。

這里我將會使用原版就有的舉個例子,其實(shí)原版的就夠用了,一般自己做一個新的,我們接著慢慢說。


首先,package的構(gòu)成為

package Template→package

其中的package Template這里簡單來說就是NPC行為邏輯的構(gòu)建。

package則是具體如何實(shí)現(xiàn)你想要的效果。


那么我們先在此介紹一個package Template的構(gòu)成,再說說原版給你提供了什么框架,他們能干什么。

這里我們先用一個Template作為舉例,看圖吧。

我們先來說說這些東西是什么。

Base Data

ID:?CK中使用的名字。

Package Type:?決定是Template還是package。

Owner Quest:?是否屬于某一個quest中專用的package?就像瑟拉娜走向岳父對話質(zhì)問他這一個場景就是調(diào)用了一個package。

Combat Style:?當(dāng)這個package被啟用時NPC是否使用某個combat style?也就是戰(zhàn)斗AI。

Interrupt Override:不使用,因?yàn)闆]有一個原版的使用這玩意。


Package Tab

這里如果在上面的Package Type上選擇了不同的選項,會有小小的不同,看圖吧

這是選擇Template后出現(xiàn)的

這個則是選擇了package

其中的區(qū)別很明顯,Template可以編輯一個叫Procedure Tree的東西,這里我就用一個詞來解釋吧。

行為樹。

那么Public Package Data呢?

就是具體修改一個Procedure Tree其中的各項參數(shù)與設(shè)定,當(dāng)你在tree中添加或修改其中的各項參數(shù)時,data一般也會隨之改變,如果沒有就自己添加,好了,我們先接著介紹之后的項目,別急。


Flags Tab

當(dāng)你選擇的是Package Type中選擇package時會出現(xiàn)的選項系列這里一般都是條件參數(shù),我們慢慢來吧。

Must Complete:?這個package無論什么情況都會結(jié)束他的流程,無論其中是否遭受特殊情況(就像戰(zhàn)斗什么的)。

Once Per Day:?此package不會在同一天內(nèi)被重復(fù)實(shí)行多次,除非你設(shè)置了condition。一般用于去睡覺的package,畢竟一般當(dāng)你看見一個NPC不斷的在床上做仰臥起坐太蠢了。。。

Always Sneak:執(zhí)行這個package時NPC將一直處于潛行狀態(tài)。

Allow Swimming:?NPC將嘗試走水路的方式到達(dá)指定的地點(diǎn)。

Allow Idle Chatter:允許NPC在執(zhí)行這個package時啟動對玩家的打招呼或閑談言論(比如衛(wèi)兵的吐槽)。

Ignore Combat:?NPC將不會參與戰(zhàn)斗,雖然此時他仍然被視為戰(zhàn)斗狀態(tài)。

No Combat Alert:?當(dāng)敵對NPC搜尋到對手,將不會先警告你趕緊滾,等你到了某個距離再拔劍,而是直接開打。

Weapon Drawn:?執(zhí)行這個package時NPC將拔出他們的武器。

Weapons Unequipped:執(zhí)行這個package時NPC將裝備的武器隱藏。

Wear Sleep Outfit (OBSOLETE):不使用。

Maintain Speed at Goal:?NPC向目標(biāo)地點(diǎn)前進(jìn)時將會保持一個恒定速度,不會出現(xiàn)走一會,跑一會。

Preferred Speed:?與上面那個選項聯(lián)動,設(shè)定NPC是走著去還是跑著去。

Hellos to player:?當(dāng)玩家與其接近時會向其問好或吐槽。

Random conversations:?允許NPC參與Random Conversations,這個在對話篇繼續(xù)深入。

Observe combat behavior:?NPC會在別人打架時選擇觀戰(zhàn)。

Reaction to player actions:?會對玩家的行動(比如放法術(shù),揮劍什么的)做出反應(yīng)。

Friendly fire comments:?對友軍誤傷做出言語反應(yīng)。

Aggro Radius Behavior:?允許仇恨做出范圍判斷。(意義不明)。

World Interactions:?當(dāng)你使用了必須為某個地點(diǎn)的condition時必須使用。

還有兩個帶有door的選項已被棄用。

Conditions

設(shè)置條件函數(shù)。我覺的看看原版和其他作者做的condition就明白其中的原理了,沒有必要去專門寫一篇關(guān)于condition的文章了吧。。。應(yīng)該吧?

Schedule Tab

這個欄位可以讓你設(shè)定這個package運(yùn)行的具體到幾點(diǎn)幾分的時間。

我覺得這些英文你們應(yīng)該能看的懂,就不翻譯了。。。

Begin/End/Change Tab

一般不使用。

Idles

一般不使用。


好了!開始正式的講講Procedure Tree和Public Package Data。

首先我們需要了解什么是行為樹。

么一轉(zhuǎn)游戲策劃了?。。。。∥也皇歉蛇@行的?。。?!

簡單的概括就是做出一個框架來告訴NPC什么時候該做什么,怎么做,做不做?

當(dāng)然CK里的行為樹沒那么復(fù)雜,不過總有一種我在做游戲的感覺了,不是嗎?

先看看圖吧。

在此藍(lán)色的你可以理解為樹的根,決定分支是怎么運(yùn)行的,右邊給出了提供的類別。

它的名字叫branch。

下面的用線分出來的就是樹的枝椏了,他們決定AI的行動邏輯,右邊給出了可以修改的type和值。

它的名字叫procedure。

首先要有branch,才能有procedure,一顆樹不可能只有樹葉沒有數(shù)枝吧。


branch分為以下幾個type。

Random:該branch將視情況選擇一個可執(zhí)行的procedure執(zhí)行。

如果你學(xué)過程序語言,你可以理解為if條件語句,

如果你沒學(xué)過的話。。。這么說吧,現(xiàn)在有蘋果,梨子,火箭筒,現(xiàn)在要你去選一個可以干架的東西,你會選什么?這樣講不知你會明白嗎?

Sequence:該branch將逐一執(zhí)行所有procedure直至結(jié)束。就是把所有你列出的事全部干一遍。

Simultaneous:該branch將同時執(zhí)行所有procedure直至目標(biāo)完成。比如說強(qiáng)盜在巡邏同時跟隨附近的隊友。當(dāng)然了,如果有一個procedure未被實(shí)現(xiàn),將持續(xù)此package直至完成實(shí)現(xiàn)。

Stacked:這個branch你可以看成是靈活版的Random,此branch將會視情況選擇可以執(zhí)行的procedure并執(zhí)行之,而且其他的procedure也會保留,并繼續(xù)看情況執(zhí)行,直至此package停止被調(diào)用。


branch講完了,我們來講講procedure,CK里給你提供了29種,很可惜的是不能添加或減少其中的具體細(xì)節(jié),這些東西都是被定死的,在此我會給出每一個type提供的參數(shù)。

但在開始之前,我們先來說說int,float,bool是什么。

int:指定數(shù)值為整數(shù)。

float:指定為浮點(diǎn)數(shù),這里你可以看成可帶小數(shù)點(diǎn)的數(shù)值。

bool:用于判定是或否,是(true)就是啟動,否(false)就是關(guān)閉。



Acquire

NPC會撿起指定的物品至他的物品欄中,直至目標(biāo)完成。

Target?(Target):?指定目標(biāo)。

NumToAcquire?(Int):?數(shù)量。

AllowStealing?(Bool):允許獲取已被標(biāo)記為他人的物品?

AllowPickpocket?(Bool):允許偷竊以獲取此物品?

AllowKilling?(Bool):?如果物品在NPC身上,允許擊殺后再獲取此物品?



Activate (Procedure)

NPC將與指定的物品互動。

Target?(Target):?指定目標(biāo)。

NumToActivate?(Int):互動多少次?



Eat (Procedure)

NPC吃食物。

FoodType?(TargetSelector):?指定何種類型?

CreateFakeFood?(Bool)允許吃不在自己身上的食物?



Escort (Procedure)

護(hù)送或帶領(lǐng)指定actor至目標(biāo)地點(diǎn)。

EscortedActor(s)?(?Target?)?指定被護(hù)送的人選。

NumberToEscort?(?Int?)?指定此package可同時被調(diào)用人數(shù)。

Destination?(?Location?)?指定目標(biāo)地點(diǎn)。

EscortWaitDist?(?Float?)?設(shè)置NPC將到達(dá)距離目標(biāo)地點(diǎn)還剩多少距離時,將停止行動。

FollowMinDist?(?Float?)?設(shè)置與目標(biāo)相隔的最小距離,當(dāng)距離過近時會主動拉開距離。

FollowMaxDist?(?Float?)?設(shè)置與目標(biāo)相隔的最大距離,當(dāng)超過此距離時會跑步接近目標(biāo)。

RideHorseIfPossible?(?Bool?)?允許騎馬?

PreferPreferredPath?(?Bool?)?NPC將會按照地圖提供的最優(yōu)地圖標(biāo)記行動直至到達(dá)目標(biāo)地點(diǎn)。

RunIfBehindDist?(?Float?)?如果被護(hù)送者與其超過了此距離時,將會跑步追趕至FollowMaxDist。



Find (Procedure)

NPC將搜尋指定的物品,但不做如何事。


SearchLocation?(Location):?指定NPC搜索的范圍區(qū)域。

TargetSelector?(TargetSelector):?指定搜索的事物。

ObjectList?(ObjectList):?這個項不做任何事,只是儲存數(shù)據(jù)用于被其他procedure調(diào)用,比如eat。

SearchOwnerInventory?(Bool):?可否從自身的物品中搜尋目標(biāo)事物?

RandomizeList?(Bool):可否隨機(jī)化list中的事物?



Flee (Procedure)

讓NPC單純的逃跑或逃跑至某個目標(biāo)點(diǎn)。


FleeFrom?(Target):?選擇目標(biāo)。

FleeTo?(Location):?選擇地點(diǎn)。

UseDynamicGoalInstead?(Bool):?如果是true,將使用FleeFrom而不使用FleeTo,false則相反。

GoalRadius?(Float):在使用FleeTo使用,指定目標(biāo)地點(diǎn)的半徑,這通常用于你指定的不是某個確切的地點(diǎn)使用。

AvoidNodeRadius?(Float):?與威脅始終相隔的距離。

FleeDist?(Float):?FleeFrom時使用,當(dāng)與威脅距離多少距離時此package結(jié)束運(yùn)行。

tRideHorseIfPossible?(Bool):?會找到他的馬騎上再逃跑嗎?

ForgetDeadThreats?(Bool):?威脅已死時是否還是逃離?

Quiet?(Bool):?會不會說臺詞,只管跑路?

CountAsIsFleeing?(Bool):?將NPC視為逃跑狀態(tài),用于condition判定。



FlightGrab (Procedure)

不明,貌似沒有任何package使用這個玩意。



Follow (Procedure)

NPC將跟隨指定actor。

Target?(Target):?指定跟隨目標(biāo)。

MinRadius?(Float):?設(shè)置與目標(biāo)相隔的最小距離,當(dāng)距離過近時會主動拉開距離。

MaxRadius?(Float):?設(shè)置與目標(biāo)相隔的最大距離,當(dāng)超過此距離時會跑步接近目標(biāo)。

GoToLeadersGoal?(Bool):?為true時,將盡量走在跟隨目標(biāo)之前模擬前衛(wèi)。

RideHorseIfPossible?(Bool):?如果有馬就騎馬。

NeedLOS?(Bool):?為true時,在視線外時將停止跟隨。



FollowTo (Procedure)

大體與上一個相同,就是加了個參數(shù)。

EndLocation?(Location):到達(dá)指定的區(qū)域時停止跟隨。



ForceGreet (Procedure)

用于讓NPC說出指定的對話。

Topic?(Topic):?指定某一句對話。

NPCWaitLocation?(Location):?指定某個地區(qū),玩家進(jìn)入時將進(jìn)入判定。

TargetTriggerLocation?(Location):?這個則是NPC判定區(qū)域。



Guard (Procedure)

指定npc在他人進(jìn)入指定的范圍內(nèi)會先向其拔劍警告并說警告臺詞,之后會發(fā)起攻擊,像有些強(qiáng)盜就是這樣的。


RestrictedArea?(Location):指定此NPC進(jìn)入package運(yùn)行的區(qū)域。

SuspiciousOf?(TargetSelector):?指定警告的faction,如果是玩家則是PlayerFaction。

WarnOnlyRadius?(Float):?如果指定的人員進(jìn)入指定的范圍內(nèi)將發(fā)出警告。

ImmediateAttackRadius?(Float):?這個則是攻擊范圍。



HoldPosition (Procedure)

指定NPC在戰(zhàn)斗時所處的位置。

Location?(Location):指定位置。


Hover (Procedure)

不明。貌似用于龍類。



KeepAnEyeOn (Procedure)

此NPC將會把視線一直投向指定的目標(biāo),這個一般用于與其他的procedure聯(lián)動用。

TargetToObserve?(Target):?指定目標(biāo)。

ObservationArea?(Location):?當(dāng)目標(biāo)在這個位置時,將監(jiān)視目標(biāo)。同樣,如果目標(biāo)離開該位置,監(jiān)視將結(jié)束。

EndPursuitArea?(Location):?當(dāng)目標(biāo)進(jìn)入某個指定的地點(diǎn)時,將結(jié)束監(jiān)視。


LockDoors (Procedure)

NPC將鎖上指定的門。一般與travel同時使用。

Location?(Location):?要鎖上的門。

WarnBeforeLocking?(Bool):?如果為true,則會在鎖上門之前警告玩家。


Orbit (Procedure)

讓能飛的玩意在指定的地點(diǎn)范圍內(nèi)繞圈飛行。


TargetLocation?(Location):?地點(diǎn)。

InnerRadius?(Float):?飛行繞圈不會小于此半徑。

OuterRadius?(Float):?飛行繞圈不會大于此半徑。

Height?(Float):?設(shè)定的高度。


Patrol (Procedure)

NPC將會隨著指定的地點(diǎn)進(jìn)行巡邏。


PathStart?(Target):?巡邏時需要達(dá)到的位置。

PointRadius?(Float):?允許NPC偏移設(shè)定的巡邏點(diǎn)的半徑,因?yàn)橐话憧偸菚泻芏鄸|西可能會擋住你設(shè)定的點(diǎn)。。。

Repeatable?(Bool):?設(shè)定為true時,NPC將會一直隨著指定地點(diǎn)循環(huán)巡邏直到此package被停止使用。

StartAtNearestPoint?(Bool):?如果為true,NPC將會從離他最近的點(diǎn)開始巡邏而不是從頭開始。

RideHorseIfPossible?(Bool):?如果為true,會騎馬。

StaticPathing?(Bool):?不明。


Sandbox (Procedure)

NPC將會在指定的范圍內(nèi)與任意可互動物品互動,就像瑟拉娜打鐵那種。


Location?(Location):?指定NPC會與其互動的區(qū)域。

AllowEating?(Bool):?允許吃東西。

AllowSleeping?(Bool):?允許找張不屬于任何人的床睡覺。

AllowConversation?(Bool):?允許與他人交談。

AllowIdleMarkers?(Bool):?允許使用空閑動畫。

AllowFurniture?(Bool):?允許使用家具。

AllowSitting?(Bool):?允許使用椅子類型的家具(就是坐在上面的那種)。

AllowWandering?(Bool):?允許在此范圍內(nèi)隨便亂逛。

WanderPreferrefPath?(Bool):?如果為true,NPC將會在亂逛時首先選擇站在指定的navmesh triangles上(這里你可以理解為地圖標(biāo)識處)。

Energy?(Float):?設(shè)定以上的行為每種將會持續(xù)的時間。

AllowSpecialFurniture?(Bool):?允許使用附魔臺這種類型的家具。

MinWanderDistance?(Float):跟WanderPreferrefPath差不多的效果。


Say (Procedure)

不推薦使用?。?!


Shout (Procedure)

讓NPC使用指定的shout(龍吼類型,就是按z鍵那個)。


Location?(Location):?指定NPC會在使用shout前所處的位置。

Shout?(TargetSelector):?指定shout。

Target?(Target):指定目標(biāo)。

HoldWhenBlocked?(Bool):?如果目標(biāo)有任何生物阻擋,將不會使用shout。

JustHeadtrack?(Bool):使用跟蹤功能,此舉是為了能在移動中使用。


Sit (Procedure)

萊納,你坐呀!


Target?(Target):?指定一個家具。


Sleep (Procedure)

指定一個家具,然后睡覺。


Travel (Procedure)

NPC將走向目標(biāo)地點(diǎn)。


Destination?(Location):?目標(biāo)地點(diǎn)。

RideHorseIfPossible?(Bool):?可以騎馬嗎?


UnlockDoors (Procedure)

NPC將會鎖上門。


UseIdleMarker (Procedure)

NPC將會使用指定的空閑動畫。


UseMagic (Procedure)

NPC使用一個魔法。

Location?(Location):?施法前將會達(dá)到的位置。

Spell?(TargetSelector):使用什么法術(shù)。

HoldWhenBlocked?(Bool):?如果目標(biāo)前方有遮擋物,取消施法。

CastTimeMin?(Float):?最小蓄力時間。

CastTimeMax?(Float):?最大。

CoolDownTimeMin?(Float):?最小施法CD。

CoolDownTimeMax?(Float):?最大。

DualCast?(Bool):?允許雙手施法。


UseWeapon (Procedure)

允許NPC使用武器進(jìn)行行動。


Location?(Location):確定做出攻擊行動前會處于的位置。

Weapon?(TargetSelector):?選擇武器類型或具體化。

Target?(Target):?選擇目標(biāo)。

AlwaysHit?(Bool):?用于腳本事件判定用,如果為true,擊中目標(biāo)將觸發(fā)onhit事件。

RepeatFire?(Bool):?如果為true,NPC將持續(xù)行動至此package被停止調(diào)用。

VolleyFire?(Bool):為true將啟動計時判定,在下面的VolleyWait設(shè)置。

DoNoDamage?(Bool):?攻擊將不會觸發(fā)傷害判定。

HoldWhenBlocked?(Bool):?如果目標(biāo)前方有遮擋物,取消施法。

VolleyWaitMin?(Float):?攻擊間隔最小時間。

VolleyWaitMax?(Float):?最大。

VolleysPerBurst?(Int):?無用。

VolleyShotsMin?(Int):?一次間隔攻擊會攻擊的最小次數(shù)。

VolleyShotsMax?(Int):?最大。

AllowCombatStart?(Bool):?目標(biāo)被擊中時將正常觸發(fā)戰(zhàn)斗?

AimWithoutFiring?(Bool):如果為true,將不會發(fā)起攻擊。

AlwaysPowerAttack?(Bool):?攻擊總是重?fù)簟?/p>

DoHeadTracking?(Bool):?不明。

BlockPercent?(Float):?不明。


Wait (Procedure)

計時器。


ActualSeconds?(?Float?)?程序在完成之前將等待多少真實(shí)世界的秒數(shù),不計算游戲菜單中的時間。

topMovement?(?Bool?)?如果為true,它會讓NPC停止移動——也就是說,它會停止演員的尋路/運(yùn)動。(它不會停止任何其他附帶的動畫。)


Wander (Procedure)

NPC將在確定的范圍內(nèi)隨便亂晃。


Location?(Location):?確定范圍。

PreferredPathOnly?(Bool):?如果為true,NPC將會首先尋找navmesh點(diǎn)并前往此點(diǎn)。

RideHorseIfPossible?(Bool):可以騎馬嗎?

MinimumDistance?(Float):?確定最小活動半徑。


好了,我已經(jīng)把所有提供的模板都寫給你了,剩下的自己去用package做一個并用于NPC上面吧,首先看看瑟拉娜是怎么做的吧。

舉例子的話,等我整個視頻出來,本來想直接搬運(yùn)一個外網(wǎng)的再打上注釋讓你們自己去看,但想想還是自己來吧。。。

這里還有個MOD可以參考。

使用package對NPC的AI大修。

https://www.nexusmods.com/skyrimspecialedition/mods/21654


在B站翻翻沒想到還找到了想搬運(yùn)的視頻,請看P6,P7

全英文,但照著我寫給你的看他怎么做也能明白怎么實(shí)現(xiàn)。

這兩p分別是讓NPC能騎馬和模擬衛(wèi)兵訓(xùn)練。

BV1ta4y1v7dD

dark127老師!你真的太牛逼啦?。。。?/span>

當(dāng)然視頻也在路上。

Inventory

我們再轉(zhuǎn)回NPC界面繼續(xù)介紹。

Default Outfit:?NPC將會穿在身上的服裝outfit。

Sleep Outfit:?不使用。

Outfit Objects:只是預(yù)覽服裝,無法修改。

Geared Up Weapons:?不使用。



Inventory List:?物品欄內(nèi)擁有的物品。


Object:?名字。

Count:?數(shù)量。

Health%:?不使用。

Owner/Faction:?被判定為設(shè)定的派系所屬的物品,拿取將視為偷竊。

Global Variable:?不使用。

Required Rank:?不使用。

Preview Calculated Result:?不使用。



那么這個outfit是什么?

用來專門管理NPC穿的服裝的管理器,但無法用右鍵添加修改事物,只能拖動至欄位內(nèi)(很難不想罵娘。。。陶德,吃我一拳?。?/p>

他能在這里找到。

我們打開白漫城衛(wèi)兵的outfit看看。

這個綠色的又是什么?

就是levellist。隨玩家等級的改變而改變的物品表單。這么說吧,當(dāng)你20級時,強(qiáng)盜會用矮人裝備,40級時,會出現(xiàn)魔族裝備,這些就由levelitem決定NPC身上的隨機(jī)戰(zhàn)利品。寶箱也一樣。遇見的敵人也一樣。

它在這里。

我們隨便打開一個。

這里是減少火焰抗性的毒藥。

我們介紹一遍什么是什么就很清晰了。

ID:?CK里使用的名字。

Calculate from all levels <= PC's level:?如果選中此項,其中的物品將會始終使用小于或等于玩家等級的物品,不選則將會在與玩家等級相同時才會使用此物品。

Calculate for each item in count:?如果這個將會用于其他levellist中,選中時將會計算其中的等級限制,不選則按另一個設(shè)置的算。

Use All:?與前兩個互斥,無視等級使用所有。

Special Loot:?用于獨(dú)特戰(zhàn)利品寶箱什么的。



Object:確定物品。

Level:?確定當(dāng)玩家多少級時將使用。

Count:?數(shù)量。

Health:武器與裝甲用,100 或以下為普通、110 優(yōu)良、120 高級、130 精致、140 無瑕、150 史詩,?160-200 傳奇。

Owner:?是否為某個NPC或派系所有物?

Preview Calculated Result:?只是預(yù)覽效果。



spelllist

沒什么可說的,自己加吧。。。

不過要隨等級改變的法術(shù)可以用這個。跟上面的那個levellist一樣的。



attack data

這個你可以返回看race那里。



其他的沒什么可說的了。因?yàn)椴皇歉牟涣司褪菦]什么用的東西。

至于關(guān)于隨從的制作,這里貼吧有個貼子,關(guān)于怎么做一個高模頭NPC/隨從,非常詳細(xì)了,看的我都想照抄了,哈哈哈哈哈

https://tieba.baidu.com/p/7013518109?pn=1


當(dāng)然你也可以看看這個視頻系列,雖然是機(jī)翻但也夠用了。

BV1b3411k7q4

路西恩隨從的作者制作的教程,教你怎么做一個隨從。

總計下載量有幾百萬了吧,非常有趣的隨從。


當(dāng)然,我的視頻也在路上。


讓我最后隨便一點(diǎn)吧。。。到這里已經(jīng)有18000字了。。。

本來寫了20000字,刪刪改改剩下這些。。。麻麻滴寫論文都沒寫過這么長過。。。

等等!還有對話和商人和訓(xùn)練選項是怎么做到的還沒寫,好吧。。。

要不?我們留到quest篇?

先這樣吧。。。

(孤獨(dú)搖滾完結(jié)了啊啊啊啊啊啊啊?。。。。∥耶?dāng)場發(fā)電啊啊啊啊啊啊?。。。。】斐龅诙景““““““。。。。。。?/strong>


























(還沒寫完,或者說,剛剛開始。。。先放著。。。我會做完它的。。。給我一點(diǎn)時間。。。)






在開始這一篇章前我們先來了解一下quest。

他在這里。

quest,簡單來說就是管理游戲里所有的任務(wù)相關(guān),這時你肯定會很奇怪,為什么我只是寫個對話還需要創(chuàng)建一個quest?

你去問B社吧。。。鬼TM知道他們?yōu)槭裁床话堰@一模塊拆分開來單獨(dú)做一個項。。。

總之,所有在老滾的對話,都是由所謂的任務(wù)驅(qū)動的,NPC的每次場景對話都是觸發(fā)一次任務(wù),了解后是不是突然覺得有點(diǎn)搞笑?

好了,關(guān)于對話的創(chuàng)建,quest是繞不開的了,不過在此篇章里你不需要寫什么腳本來啟動那些效果,實(shí)現(xiàn)還是很簡單的。。。

新建一個quest吧,在NPC篇里我們就只談怎么建立對話,其他的東西我們等到quest篇里再說吧,quest篇要寫起來更加恐怖啊。。。必須涉及到腳本了。。。不過腳本什么的也不是什么太狠的活,我們到腳本篇再說吧。

我們先來介紹一下關(guān)于對話的quest的項目。

(干他媽的,B社,趕緊把你破逼引擎換了吧!陶德!吃我一拳?。?/span>


我們先新建一個quest

我這里就拿個原版有的作為示范吧

先讓我解釋一下第一個頁面都是什么東西

ID:?在ck里使用的名字

Quest Name:?玩家將會在游戲里查看任務(wù)時會出現(xiàn)的名字。

Priority:?quest優(yōu)先級,一個人物如果有多個quest時數(shù)值大的將優(yōu)先執(zhí)行。

Event:?

Start Game Enabled:?

Important!?

Warn on alias fill failure:?

Allow Repeated Stages:?

Type:?

Recompile All Papyrus Scripts:?

Export Quest Dialogue:?

Export Scene Dialogue:?

Calculate Voice Assets:?

Quest Conditions:?

Text Display Globals:?


Creation kit說明書04——NPC的評論 (共 條)

分享到微博請遵守國家法律
鸡西市| 贡嘎县| 阿尔山市| 娱乐| 鹤山市| 镇赉县| 凭祥市| 唐山市| 三门峡市| 玛沁县| 泸西县| 岳池县| 游戏| 康马县| 浮山县| 滁州市| 铜梁县| 若羌县| 永济市| 肥东县| 文山县| 双江| 顺平县| 乾安县| 杭州市| 建阳市| 余干县| 河南省| 崇仁县| 兴国县| 寿宁县| 淮北市| 洪泽县| 鄂托克前旗| 宁河县| 景谷| 共和县| 岗巴县| 奉贤区| 平陆县| 从化市|