static void Postfix(OcPlHeadPrefabSetting __instance) { OcPl pl = __instance.GetComponentInParentRecursive <OcPl>(); if (!Settings.isUseVRM(pl)) { return; } foreach (var mr in __instance.GetComponentsInChildren <MeshRenderer>()) { mr.enabled = false; } }
void Start() { plCam = GetComponent <OcPlCam>(); cam = GetComponent <Camera>(); head = FindObjectOfType <OcPlHeadPrefabSetting>(); var volume = FindObjectOfType <PostProcessVolume>(); var master = plCam.GetRefField <OcPlCam, OcPlMaster>("_Owner"); var playername = Settings.getPlayerName(master); if (Settings.ReadBool(playername, "UseBloom", false)) { bloom = volume.profile.GetSetting <Bloom>(); bloom.enabled.value = true; bloom.active = true; bloom.threshold.value = Settings.ReadFloat(playername, "BloomThreshold", 0.2f); bloom.intensity.value = Settings.ReadFloat(playername, "BloomIntensity", 0.5f); } if (Settings.ReadBool(playername, "UseAmbientOcclusion", false)) { ambientOcclusion = volume.profile.GetSetting <AmbientOcclusion>(); ambientOcclusion.enabled.value = true; ambientOcclusion.active = true; ambientOcclusion.intensity.value = Settings.ReadFloat(playername, "AmbientOcclusionInteisity", 1.0f); ambientOcclusion.thicknessModifier.value = 1.0f; ambientOcclusion.directLightingStrength.value = 1.0f; } if (Settings.ReadBool(playername, "UseVignette", false)) { vignette = volume.profile.GetSetting <Vignette>(); vignette.enabled.value = true; vignette.active = true; vignette.intensity.value = 0.45f; vignette.smoothness.value = 0.15f; vignette.roundness.value = 0.0f; } enableAdjustDoF = Settings.ReadBool(playername, "AdjustDoF", true); distanceRate = Settings.ReadFloat(playername, "CameraDistanceRate", 1.0f); basePos = plCam.SoCam.CamOfs_Base; swordPos = plCam.SoCam.CamOfs_Sword; sprintPos = plCam.SoCam.CamOfs_SprintStraight; swimPos = plCam.SoCam.CamOfs_Swim; jumpPos = plCam.SoCam.CamOfs_Jump; }
static void Postfix(OcPlHeadPrefabSetting __instance) { var slave = __instance.GetComponentInParentRecursive <OcPlSlave>(); if (slave && !slave.FindNameInParentRecursive("UI")) { var selfId = OcNetMng.Inst.NetPlId_Master; if (SingletonMonoBehaviour <OcPlMng> .Inst.getPlSlave(selfId - 1) != slave) { return; } } foreach (var mr in __instance.GetComponentsInChildren <MeshRenderer>()) { mr.enabled = false; } }
void Update() { if (head == null) { head = OcPlMaster.Inst.GetComponentInChildren <OcPlHeadPrefabSetting>(); } if (enableAdjustDoF) { var dist = Vector3.Distance(cam.transform.position, head.transform.position); plCam.SoCam.Dof_Def_FocusDist = Mathf.Min(dist, 4.4f); } if (distanceRate != 1.0f) { plCam.SoCam.CamOfs_Base = basePos * distanceRate; plCam.SoCam.CamOfs_Sword = swordPos * distanceRate; plCam.SoCam.CamOfs_SprintStraight = sprintPos * distanceRate; plCam.SoCam.CamOfs_Swim = swimPos * distanceRate; plCam.SoCam.CamOfs_Jump = jumpPos * distanceRate; } }
static void Postfix(OcPl __instance) { string playername = Settings.getPlayerName(__instance); if (playername == null) { GameObject obj = new GameObject("Delay_OcPlVRM"); DelayVRM dvm = obj.AddComponent <DelayVRM>(); dvm.StartCheck(__instance); return; } if (!Settings.isUseVRM(__instance)) { return; } if (Settings.ReadBool("DisableStool", false)) { SROptions.Current.DisableStool = true; } GameObject _vrmModel = null; if (playername != null) { if (dic_vrmModel.ContainsKey(playername)) { _vrmModel = dic_vrmModel[playername]; } } if (_vrmModel == null) { //カスタムモデル名の取得(設定ファイルにないためLogの出力が不自然にならないよう調整) var ModelStr = Settings.ReadSettings(playername, "ModelName"); var path = Environment.CurrentDirectory + @"\Player2VRM\player.vrm"; if (ModelStr != null) { path = Environment.CurrentDirectory + @"\Player2VRM\" + ModelStr + ".vrm"; } try { _vrmModel = ImportVRM(path, playername); } catch { string _settings_path = Settings.FindAvatarSettngs(playername); if (ModelStr != null) { UnityEngine.Debug.LogWarning("VRMファイルの読み込みに失敗しました。" + _settings_path + "内のModelNameを確認してください。"); } else { UnityEngine.Debug.LogWarning("VRMファイルの読み込みに失敗しました。Player2VRMフォルダにplayer.vrmを配置してください。"); } return; } OcPlHeadPrefabSetting hps = __instance.gameObject.GetComponentInChildren <OcPlHeadPrefabSetting>(); if (hps != null) { foreach (var mr in hps.gameObject.GetComponentsInChildren <MeshRenderer>()) { mr.enabled = false; } } var receiveShadows = Settings.ReadBool(playername, "ReceiveShadows"); if (!receiveShadows) { foreach (var smr in _vrmModel.GetComponentsInChildren <SkinnedMeshRenderer>()) { smr.receiveShadows = false; } } // プレイヤースケール調整 { var scale = Settings.ReadFloat(playername, "PlayerScale", 1.0f); __instance.transform.localScale *= scale; _vrmModel.transform.localScale /= scale; } } foreach (var smr in __instance.GetComponentsInChildren <SkinnedMeshRenderer>()) { if (Settings.ReadBool(playername, "UseRealToonShader", false)) { foreach (var mat in smr.materials) { mat.SetFloat("_EnableTextureTransparent", 1.0f); } } smr.enabled = false; Transform trans = smr.transform; while (_vrmModel != null && trans != null) { if (trans.name.Contains(_vrmModel.name)) { smr.enabled = true; break; } trans = trans.parent; } } __instance.Animator.gameObject.GetOrAddComponent <CloneHumanoid>().Setup(_vrmModel, __instance.Animator, __instance is OcPlMaster); if (playername != null) { dic_vrmModel[playername] = _vrmModel; } }