public void Init() { if (!body) { return; } //今のテクスチャを保持しながらタイプチェック Material[] sharedMaterials = body.GetSharedMaterials(); foreach (Material material in sharedMaterials) { //Debug.Log(material.name); if (material.name.IndexOf("_CLOTH", StringComparison.Ordinal) >= 0) { ClothesTypeCheck(material); } //服を来ていない場合にも対応する else { if (material.name.IndexOf("_SKIN", StringComparison.Ordinal) >= 0) { if (material.name.IndexOf("M0", StringComparison.Ordinal) >= 0) { myBodyType = BodyType.Man; } else { myBodyType = BodyType.Woman; } //スキン情報があればVRoidにしておこう isVRoid = true; continue; } else if (material.name.IndexOf("AccessoryNeckk", StringComparison.Ordinal) >= 0) { if (material.name.IndexOf("_001", StringComparison.Ordinal) >= 0) { myAccessoryNeck = AccessoryNeck.Tie; } } else if (material.name.IndexOf("Accessory", StringComparison.Ordinal) >= 0) { if (material.name.IndexOf("_001", StringComparison.Ordinal) >= 0) { // myAccessoryNeck = AccessoryNeck.Ribbon; } } } } }
//ヒット判定 void OnTriggerStay(Collider other) { if (isBodyHit) { return; } //レイヤーでフィルタかけたほうが安全です { isBodyHit = true; var Player = other.gameObject; if (Player != null) { if (Player.GetComponent <BackClothes>()) { var backClothes = Player.GetComponent <BackClothes>(); Body = backClothes.Body; isVRoid = backClothes.IsVRoid; bodyAcceeoryType = backClothes.IsAccessoryNeck; } } } }