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

目次



方針A:マウスのレイキャスト又はVRのレーザーポインタの当たっている箇所の衣装を脱がす

方針B:ボタンを押すことで着脱状態を順送りする(現在こちらだけ実装)

バニラの問題点:各部位毎に着脱の状態を選ぶ必要があり操作量が多く直感的ではない
目標:衣装の着脱に関する操作量をへらす
今回の課題点:マウス等で選択した箇所の衣装の着脱ができる方が没入感がでるが、今回は実装の簡単さを優先した
WIP版(2023-02-14)脱衣機能キーバインド.cs

・半脱ぎの状態がない衣装も考慮する必要がある
・アクセサリー同期MODを考慮する場合「SetClothesStateNext();」を入れる必要がある
・レイキャストでは服のオブジェクトが取れない?
・アクセサリーの同期は現在トップスしか対応していない

コーデの状態では無く、4段階の脱衣フラブで管理
1:全着
2:半脱ぎA
3:半脱ぎB
4:全脱ぎ

1.全着→2.半脱ぎA→3.半脱ぎB→4.全裸→1.全着

1:全着から半脱ぎAへ

完全な着衣状態から半脱ぎA状態へ移行する
トップス、ブラ、ボトムズを半脱ぎ状態にする

                        //全着→半脱ぎA
                        //   トップス(0)    →半[1]
                        //   ブラ(2)        →半[1]
                        //   ボトムズ(1)    →半[1]
                        UnityEngine.Debug.Log(":脱衣A:");
                        //アクセサリー同期対策
                        cha_chaF_001.SetClothesStateNext(0);//トップス
                        cha_chaF_001.SetClothesStateNext(2);//ブラ
                        //直接コーデの状態を指定
                        cha_chaF_001.chaFile.status.clothesState[0] = 1;//トップス
                        cha_chaF_001.chaFile.status.clothesState[2] = 1;//ブラ
                        cha_chaF_001.chaFile.status.clothesState[1] = 1;//ボトムズ

2:半脱ぎA→半脱ぎB

                        //半脱ぎA→半脱ぎB
                        //   ブラ(2)→全[3]
                        //   ボトムズ(1)→脱[3]
                        //   ショーツ(3)→半[1]
                        //   パンスト(5)→半[1]
                        //  靴(7・8)→脱[3]
                        UnityEngine.Debug.Log(":脱衣B:");
                        //
                        cha_chaF_001.chaFile.status.clothesState[2] = 1;//ブラ
                        cha_chaF_001.chaFile.status.clothesState[1] = 3;//ボトムズ
                        cha_chaF_001.chaFile.status.clothesState[3] = 1;//ショーツ
                        cha_chaF_001.chaFile.status.clothesState[5] = 1;//パンスト
                        cha_chaF_001.chaFile.status.clothesState[7] = 3;//靴A
                        cha_chaF_001.chaFile.status.clothesState[8] = 3;//靴B

3:半脱ぎB→全裸へ

                        //全脱ぎ
                        UnityEngine.Debug.Log(":脱衣C:");
                        //
                        cha_chaF_001.chaFile.status.clothesState[0] = 3;//トップス
                        cha_chaF_001.chaFile.status.clothesState[2] = 3;//ブラ
                        cha_chaF_001.chaFile.status.clothesState[1] = 3;//ボトムズ
                        cha_chaF_001.chaFile.status.clothesState[3] = 3;//ショーツ
                        cha_chaF_001.chaFile.status.clothesState[5] = 3;//パンスト
                        cha_chaF_001.chaFile.status.clothesState[7] = 3;//靴A
                        cha_chaF_001.chaFile.status.clothesState[8] = 3;//靴B
                        cha_chaF_001.chaFile.status.clothesState[4] = 3;//手袋

4:全裸から完全着衣へ

                        //全着
                        UnityEngine.Debug.Log(":脱衣C:");
                        cha_chaF_001.SetClothesStateNext(1);
                        cha_chaF_001.SetClothesStateNext(2);
                        cha_chaF_001.SetClothesStateNext(3);
                        cha_chaF_001.SetClothesStateNext(4);
                        cha_chaF_001.SetClothesStateNext(5);
                        cha_chaF_001.SetClothesStateNext(6);
                        cha_chaF_001.SetClothesStateNext(7);
                        cha_chaF_001.SetClothesStateNext(8);
                        cha_chaF_001.chaFile.status.clothesState[0] = 0;
                        cha_chaF_001.chaFile.status.clothesState[1] = 0;
                        cha_chaF_001.chaFile.status.clothesState[2] = 0;
                        cha_chaF_001.chaFile.status.clothesState[3] = 0;
                        cha_chaF_001.chaFile.status.clothesState[4] = 0;
                        cha_chaF_001.chaFile.status.clothesState[5] = 0;
                        cha_chaF_001.chaFile.status.clothesState[6] = 0;
                        cha_chaF_001.chaFile.status.clothesState[7] = 0;
                        cha_chaF_001.chaFile.status.clothesState[8] = 0;

半脱ぎメモ

「chaF_001」→「GetComponent<ChaControl>()」→「SetClothesStateNext(1)」
0:トップス  ::Chest:BreastL :BreastR
1:ボトムズ ::Hip:Anal:.Kokan
2:ブラ    :Chest:BreastL :BreastR
3:ショーツ ::Hip 
4:手袋   ::Arm
5:パンスト ::
6:靴下   ::Leg
7:靴    ::
8:靴

(0:全着、1;半脱ぎ、2:前脱ぎ)


cf_hit_bust02_L
tag:H/Aibu/Hit/muneL

KKAPI.MainGame.TalkSceneUtils.TouchLocation
RaycastHit?

トップス・ブラ
Chest BreastL BreastR

ショーツ・ボトムズ
  • Hip Kokan Ana

脱衣、Kプラグイン、Pキー
kPlug.clothCtrl = gameObject.AddComponent<ClothesCtrl>();
kPlug.CmpBase→ClothesCtrl


kPlug.Tools→ToolClothes?
public static bool StripInAdv(ChaControl c, Def.BodyPart part)


		public static bool StripClothes()
		{
			return Input.GetKeyUp(KeyCode.P);
		}

コーデ切り替えメモ


AssistVR.lstFemale[0].ChangeCoordinateTypeAndReload((ChaFileDefine.CoordinateType)num2, true);

コメントをかく


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

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

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

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