ECE スケルトンの計算方法
体型のスライダー動かしたのを独立型フォロワーのスケルトンに反映させる計算方法を書きます。
ECE 1.4からスロットデータにコメントとして書きだすので、いまは基本的に以下の様な計算する必要はありません。


ECEで弄った体型バランスは数値をメモしていおいて、iniを元に計算し、抽出したスケルトンに代入し、そのスケルトンをフォロワーの種族で指定することではじめて反映されます。


Data\Meshes\CharacterMakingExtender\commonTriRaces\humanraces_slider.ini
にスライダーの計算方法が詳しく書かれてます(英語)。

スケールを弄って動かすType2と、ポジションを弄って動かすType3があって計算方法が異なります。
3つ目の列が202がType2、203がType3。それとノード名の接頭辞に+がつくのはType3です(腹回りのスライダーのみ)。
Type2 1+スライダーの数値
Type3 スライダーの数値*(x,y,z)

Type2,3共通で式のx=1+スライダーの数値(x軸のxではないので注意)


Type2例:
肩周りの大きさ(Shoulder Scale)スライダーを-0.08に設定

156行目が該当箇所。
$CME_ShoulderScale, 908, 202, NPC Spine2 [Spn2], 0.2, NPC Head [Head], (1 / x), WeaponBack, (1 / x), WeaponBow, (1 / x), QUIVER, (1 / x), NPC Root [Root], (120.5 / (29.1 * x + 91.4))

slider value = -0.08
x = 1 + slider value = 1 - 0.08 = 0.92

NPC Spine2 [Spn2] x = 0.92
NPC Head [Head], (1 / x) = (1 / 0.92) = 1.086957
NPC Root [Root] = (120.5 / (29.1 * 0.92 + 91.4)=1.0197
WeaponBack, (1 / x), WeaponBow, (1 / x), QUIVER, (1 / x) = 1.086957

これらの数値をnifskopeを使ってScaleの項目に代入します。
nodescale.png

おおまかには以上です。

2つ以上のスライダー弄った時のNPC Rootなどの被るノードの場合
上記の肩周りを-0.08、足の大きさ-0.08にした時ふたつともNPC Rootを計算してバッティングします。
解決方法は単純に2つのNPC Rootをかければいいんですが。

まず足のNPC Rootの計算
leg scale = -0.08
x = 0.92

NPC Root [Root], (x^2 * 125 / (x^3 * 9.7 + x^2 * 59.2113 + 56.0887)):(x * 125 / (x^2 * 9.7 + x * 59.2113 + 56.0887)):(x < 1)
式の構造:Expression1:Expression2:Condition
コンディションが真(True)ならExpression1、そうじゃない(偽)ならExpression2の式を使う。
x < 1 = 0.92 < 1 = True

(x^2 * 125 / (x^3 * 9.7 + x^2 * 59.2113 + 56.0887))
x^2=0.8464
x^3=0.778688

0.8464 * 125 / 0.778688 * 9.7 + 0.8464 * 59.2113 + 56.0887=
105.8 / (7.553273+50.1164+56.0887)=
105.8/113.758373=0.9300414

Leg NPC Root=0.9300414


Shoulder NPC Root=1.0197
Leg NPC Root=0.9300414

1.0197*0.9300414=0.948363
NPC Root=0.948363

nif skopeのScaleで扱える範囲は小数点以下は四桁なので四捨五入して0.9484

Type3例
首の長さを0.2。
$CME_HeadUpDown, 903, 203, CME HeadPos, 1, 0, 0, 2
  (x,y,z) = 0,0,2
0.2*0, 0.2*0, 0.2*2 = (0, 0, 0.4)

NifSkopeのTransitionのzに0.4を代入します。



反映されない場合
スケールやポジションを弄ったノード右クリックしてTransform->Applyしてください。

iniよく読んで分からないなりに色々と試行錯誤してみてください。
計算出来ない時は諦めましょう。
グッドラックb
関連記事
コメントの投稿


Does not accept comments that are all written in English on this blog for blocking a spam. If you have any questions, send a e-mail: tktk11111[at]gmail.com

コメント

yasu2015.02.02 13:23

ありがとうございます!!


tktk2015.02.02 12:07

>yasuさん
2が女性で、102が男性です。


yasu2015.02.02 10:55

すみません、どうしても分からないことが出てきまして・・・
$CME_HandScaleなんですが、humanraces_slider.iniに2種類記述があってどちらを採用すればよいのでしょうか??
計算タイプも2と102となっています。
恐らく初歩的な質問なんでしょうが、お暇なときにお答えいただけたら幸いです。


tktk2015.01.18 16:47

@bagserk
Added RGB slider to the face warpaints, and written skeleton scale value in slot data(need to open from text editor).

Download this plugin, and overwrite ECE 1.3.
http://www.mediafire.com/download/d4a56jd37giyo9a/ECE14test.7z

We use flash 4.0 to edit scaleform.

日本語の認証のための文字


Bagserk2014.12.31 08:10

>I was wondering if I could posted this link.

Yeah, that's the idea.

I hope you guys can work out the warpaint stuff. Also I think I might check nioverride and see if it's possible to make an add-on for CME without using RaceMenu at all, hope it is, else I'll keep using BodyChange for that.

What do you guys use to edit scaleform .swf?

日本語の認証のための文字


tktk2014.12.30 10:08

@Bagserk
Thanks! Maybe SKSE 1.72b can be getting node position. Use GetNodeLocalPosition or GetNodeWorldPosition. I haven't tried it yet so I go back home on holiday.

I was wondering if I could posted this link.

It may be difficult to RGB slider for warpaint because vertex editing use warpaint slot in either case. But I will ask kapaer whether it is possible.
日本語の認証のための文字


Bagserk2014.12.30 07:51

Hello tktk.

I was able to make a script that reads the scales directly and writes them to skyrim's log (I have no idea of how to write to my own text file, I'd love to be able to do that), couldn't make the script read the translations too though (the function reads the actual position in the game's space) so I did that with php.

Here's the script and the php http://kurisu.dysintropi.me/scales/nodescaling.php
Thanks to Halofarm for the hosting.

By the way, are you guys thinking about giving the RGB slider to the face warpaints in the race menu? If you aren't, is it possible to make an add-on for CME? I really don't want to use RaceMenu.

必須日本語の単語


s.a2014.11.28 08:47

まとめありがとうございます。
がんばってみます!


tktk2014.11.26 19:02

>名無しさん
基本は四則演算なのでそんなに難しくないですが、構造が分かるまでは結構大変だと思うのでゆっくり取り組んでみてください。


名無し2014.11.25 22:23

ここ最近スライダー拡張MODが出てきて体型を細かく弄れるようにはなりましたけどフォロワーを作る際にスケルトンをどう調整すればいいのか困っていたので嬉しいです!
…とは言ってもなんだか計算が難しそうに見えますね…
時間がある時にじっくり見てみようと思います