■Unity開発メモ用のWiki◎現在扱っていること・Unity全般・MMDからUnityへの変換してインポート・MMDの仕様把握・BlenderでMMDモデルのカスタム


目次

魔法作成の流れ(旧)

一時メモ

CKでのスクリプトのエラー問題

・CKでスクリプトを新規作成しようとすると↓のエラーが出る
 

 
・予めスクリプトの雛形を作った上でCKを起動する?
 →スクリプトは2つ作っておく?
      • オブジェクトやも魔法にアタッチしてイベントやアクターを受け取るスクリプト
      • クエストにアタッチしてエイリアス?実際の処理の内容を書くスクリプト

スクリプト魔法

参考:【Papyrus.psc】周囲のNPCやフォロワーに対してスクリプトを配布する方法
https://skyrimfromnow.blogspot.com/2019/07/script-...

汎用ベース魔法

Event OnEffectFinish(Actor akTarget, Actor akCaster)
    If akTarget.IsWeaponDrawn() == false
        akTarget.DrawWeapon()
    EndIf
    Debug.Notification("スクリプト魔法が呼ばれた!")
EndEvent

魔法作成の流れ(新)

ステップ0:スクリプトの事前準備

◎クエストにアタッチするスクリプト
・「ReferenceAlias」を拡張する
・「SexLab用」、「取り付けるオブジェクトのエディタID用」、「アクター(プレイヤー)取得用」の
 3つは予めスクリプトに記述しコンパイルしておく?

;Scriptname [スクリプトのファイル名] extends ReferenceAlias
Scriptname *****  extends ReferenceAlias

;+++++++++++++++++++++++++++
;+++CK用のプロパティを宣言+++
;+++++++++++++++++++++++++++
;SexLab用
SexLabFramework property SexLab auto

;取り付けるオブジェクト(エディタID)
*** property *** auto

; プレーヤーのアクターを取得
Actor property PlayerRef auto

◎オブジェクト(Spell)に取り付けるスクリプト
・エイリアス用?のプロパティを宣言する

;Scriptname [スクリプトのファイル名] extends [取り付けるオブジェクトの型]  
Scriptname  *** extends ***

;エイリアス用?のプロパティ
[クエストにアタッチするスクリプト名] property [分かりやすい変数] auto

ステップ1:Questの設定

・テンプレート用のQuestを複製する

・複製したQuestの「QuestData」タブへ移動し、「ID」と「QuestName」を変更する

・「QuestAilias」タブへ移動しプレイヤー参照用のエイリアス「PlayerRef」を作成する
・エイリアス「PlayerRef」→「Fill Type」→「Specific Reference」→プレイヤーを指定する
・スクリプトを追加する
※ここで追加スクリプトのプロパティは後で戻って設定する

ステップ2:MagicEffct(魔法効果)の設定

・テンプレート用の「MagicEffct」を複製する

 
・IDと名前を変更する
・「Casting Type」と「Delivery」は後述のステップ3で設定する「Spell」の設定と一致させる必要がある
・「Area(魔法範囲)」は0〜任意の値
・スクリプトを追加し、プロパティを設定する

◎Casting Typeの仕様
・Concentration はボタンを押している間、魔法効果が発生し続けマジカも消費し続けます。
・Fire and Forget は、まずため動作に入り、ボタンを離すと魔法効果が発生します。
・Constant は常に有効です。

◎Deliveryの仕様
・Self: は術者自身に魔法効果が適用されます。
・Contact: は接触した(ヒットイベントが発生した)対象に効果が適用されます。
 Weapon でのみ機能します。
・Aimed: クロスヘアに向かって放たれた Projectile(射弾) に効果が取り付けられます。
 それが適切な対象に命中したとき、効果が適用されます。
・Target Actor: クロスヘアで捕らえている Actor に、即座に効果が適用されます。
 射弾は発射されません。
・Target Location: クロスヘアで捕らえているオブジェクトや地点に直接効果が適用されます。
 射弾は発射されません。



・スクリプトのプロパティはステップ1で作成した「Quest」を選択し、プレイヤー参照のアイリアスを選択する

ステップ3:Spellの設定

・テンプレート用の「Spell」を複製する


・IDと名前を変更する
・「Casting Type」と「Delivery」をステップ2の魔法効果と同じ様に揃える
・「Effect」右クリック→「New」で魔法効果を登録する

ステップ4:Questのスクリプトのプロパティを設定する

・プロパティ「SexlLab」はSexlLab関連の機能使う為に使う
・SexlLabFremworkをマスター指定していれば、Pick Objectで「SexLabQuestwork」が出現する


・プロパティ「PlayerRef」はプレイヤー関連の情報を取得するために使う?
・「Cell」→「(any)」
・「Reference」→「PlayerRef('Player')」


・Spell用のプロパティ→

ステップ5:魔法本の設定

・テンプレート用の「Book」を複製する


・IDと名前を変更する
・Spellを指定する
・説明文を変更する

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

管理人/副管理人のみ編集できます