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

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

T0R0ブロマガ相關(guān)翻譯計(jì)劃(0.6)_PMDE插件的制作方法 骨骼操作篇5

2021-11-17 12:58 作者:文音_  | 我要投稿

※本文不保證百分之百的翻譯準(zhǔn)確僅供參考,具體內(nèi)容依然以日文原版為準(zhǔn)。

原作者T0R0的博客原地址:https://sp.ch.nicovideo.jp/t0r0/blomaga/ar155800

 本文內(nèi)容與暗鍋插件并無關(guān)系,但也可能能對(duì)他人有所幫助,所以也進(jìn)行翻譯。關(guān)于對(duì)本文翻譯內(nèi)容玩文字游戲、鉆空子,從而違反原文使用規(guī)約的行為,本人概不負(fù)責(zé)。

※非原文部分會(huì)使用灰色字色。對(duì)一些個(gè)人認(rèn)為重要的部分會(huì)進(jìn)行加粗/變色強(qiáng)調(diào)。

 PMXe相關(guān)名詞以Emil制作的“多功能信息處理與漢化插件”中的文本為準(zhǔn)。

 文中圖片均為本人依照原博客自作而非搬運(yùn),請(qǐng)注意。

 對(duì)個(gè)別詞的理解有一定的主觀成分,且本文有編程相關(guān)專業(yè)名詞可能會(huì)有誤譯,歡迎評(píng)論區(qū)理性討論。

※本篇翻譯文章并未獲得原作者授權(quán)/知悉,僅做交流用途。如有不妥,請(qǐng)?jiān)u論區(qū)留言告知,我會(huì)立刻進(jìn)行刪除。

請(qǐng)勿使用本文章內(nèi)任何文本/圖片個(gè)人參考以外的其他用途,包括但不限于用于漢化文本,二次上傳至公共網(wǎng)絡(luò)等。
○僅限于「PMDE插件的制作方法」系列文章,請(qǐng)自由地取用文章中的代碼部分文本(藍(lán)色文本)。對(duì)代碼中的注釋都進(jìn)行了翻譯,雖然并不專業(yè),但希望能為中文使用者提供些許的便利。

原文投稿日期為2013/03/12 21:11

PMDE插件的制作方法 骨骼操作篇4

雖說是插件但也只是普通的C#所以有很多種記載方法,但為了讓文章更加易懂,在此為記載方法添加限制。并不是只有這一種寫法,請(qǐng)注意。
與上次相同,本文會(huì)以此項(xiàng)目示例文件(http://bowlroll.net/up/dl15339)為基礎(chǔ)進(jìn)行說明,所以請(qǐng)務(wù)必下載。
在此文件中事先記載了骨骼操作所必需的功能。說明也會(huì)按照文件內(nèi)容的順序進(jìn)行。以及,可以使用此項(xiàng)目文件中的內(nèi)容制作插件。
接下來將會(huì)記載骨骼操作與對(duì)應(yīng)的代碼。與上次相同,應(yīng)該直接復(fù)制粘貼到項(xiàng)目示例文件中就可以使用。

1.來做多段化吧
作為示例將使右ひじ多段化。

//試著把右ひじ多段化。
IPXBone BaseBone = (IPXBone)this.PMX.Bone[this.GetBoneIndex("右ひじ", 1)];
//制作一個(gè)暫時(shí)儲(chǔ)存多段骨的箱子
List<IPXBone> LayerBoneList = new List<IPXBone>();
//多段數(shù)
int layer = 3;
for (int i = 0; i < layer; i++)
{

//從原骨骼中復(fù)制出多段骨
IPXBone LayerBone = (IPXBone)BaseBone.Clone();
//為了不重名進(jìn)行改名
LayerBone.Name = BaseBone.Name + "_" + i.ToString();
//將骨骼追加與原骨骼的上方(骨骼順序)
this.UpperInsertBone(LayerBone, BaseBone);
//保存于暫時(shí)儲(chǔ)存箱
LayerBoneList.Add(LayerBone);
}

//親骨的設(shè)置
LayerBoneList[0].Parent = BaseBone.Parent;
for (int j = 1; j < layer; j++)
{
LayerBoneList[j].Parent = LayerBoneList[j - 1];
}
BaseBone.Parent = LayerBoneList[layer - 1];


這樣就姑且是將右ひじ進(jìn)行了3段多段化。

但是,以各個(gè)單獨(dú)骨骼為單位來記載這些內(nèi)容比較麻煩
所以接下來試著把多段化的部分記為函數(shù)。

public void CreateLayerBone(IPXBone BaseBone,int layer = 3){
//暫時(shí)儲(chǔ)存多段骨的箱子
List<IPXBone> LayerBoneList = new List<IPXBone>();
for (int i = 0; i < layer; i++)
{
//從原骨骼中復(fù)制出多段骨
IPXBone LayerBone = (IPXBone)BaseBone.Clone();
//為了不重名進(jìn)行改名
LayerBone.Name = BaseBone.Name + "_" + i.ToString();
//將骨骼追加與原骨骼的上方(骨骼順序)
this.UpperInsertBone(LayerBone, BaseBone);
//保存于暫時(shí)儲(chǔ)存箱
LayerBoneList.Add(LayerBone);
}

//親骨的設(shè)置
LayerBoneList[0].Parent = BaseBone.Parent;
for (int j = 1; j < layer; j++)
{
LayerBoneList[j].Parent = LayerBoneList[j - 1];
}
BaseBone.Parent = LayerBoneList[layer - 1];
}


按這樣的感覺進(jìn)行函數(shù)化后添加到項(xiàng)目里的話
就可以只記載為以下內(nèi)容。
例)各自多段化右肩(10段)/右腕(10段)/右ひじ(10段)/右手首(3段)。
IPXBone RightShoulder = (IPXBone)this.PMX.Bone[this.GetBoneIndex("右肩", 1)];
IPXBone RightArm = (IPXBone)this.PMX.Bone[this.GetBoneIndex("右腕", 1)];
IPXBone RightElbow = (IPXBone)this.PMX.Bone[this.GetBoneIndex("右ひじ", 1)];
IPXBone RightWrist = (IPXBone)this.PMX.Bone[this.GetBoneIndex("右手首", 1)];
this.CreateLayerBone(RightShoulder,10);
this.CreateLayerBone(RightArm,10);
this.CreateLayerBone(RightElbow,10);
this.CreateLayerBone(RightWrist,3);


像這樣整理為處理單元后后續(xù)就會(huì)便利很多。

下次將會(huì)記載骨骼表示枠相關(guān)的內(nèi)容。



T0R0ブロマガ相關(guān)翻譯計(jì)劃(0.6)_PMDE插件的制作方法 骨骼操作篇5的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
砚山县| 深圳市| 天峻县| 疏附县| 桓仁| 海淀区| 滁州市| 万山特区| 化德县| 尼木县| 江都市| 清原| 德惠市| 常熟市| 宁强县| 石景山区| 广宁县| 张家界市| 宜阳县| 太谷县| 团风县| 廊坊市| 镇巴县| 宣武区| 九龙坡区| 辉县市| 临沭县| 浪卡子县| 平邑县| 来宾市| 青田县| 禹城市| 贡觉县| 大悟县| 健康| 洪雅县| 五莲县| 木兰县| 白银市| 西峡县| 屏东市|