diff --git a/Assets/Scenes/Version2.unity b/Assets/Scenes/Version2.unity index 16f521e..5e86c7f 100644 --- a/Assets/Scenes/Version2.unity +++ b/Assets/Scenes/Version2.unity @@ -15158,7 +15158,7 @@ GameObject: - component: {fileID: 790387849} - component: {fileID: 790387850} m_Layer: 0 - m_Name: PreviewCamera + m_Name: AnimationCamera m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -27050,7 +27050,7 @@ GameObject: - component: {fileID: 1468470378} - component: {fileID: 1468470379} m_Layer: 0 - m_Name: PreviewCameraRoot + m_Name: AnimationCameraRoot m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -28235,8 +28235,8 @@ MonoBehaviour: type: 2} CameraOverrideController: {fileID: 22100000, guid: 2074a3b49810aed419168eda443b9e1a, type: 2} - PreviewCameraAnimator: {fileID: 1468470379} - PreviewCamera: {fileID: 790387849} + AnimationCameraAnimator: {fileID: 1468470379} + AnimationCamera: {fileID: 790387849} --- !u!1 &1566898429 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/CameraOrbit.cs b/Assets/Scripts/CameraOrbit.cs index 73ee9ca..219b2df 100644 --- a/Assets/Scripts/CameraOrbit.cs +++ b/Assets/Scripts/CameraOrbit.cs @@ -85,7 +85,7 @@ public class CameraOrbit : MonoBehaviour if (AAMode != AAModeDropdown.value) { var postprocessLayerMain = Camera.main.GetComponent(); - var postprocessLayerPreview = UmaViewerBuilder.Instance.PreviewCamera.GetComponent(); + var postprocessLayerPreview = UmaViewerBuilder.Instance.AnimationCamera.GetComponent(); postprocessLayerMain.antialiasingMode = postprocessLayerPreview.antialiasingMode = (PostProcessLayer.Antialiasing)AAModeDropdown.value; Debug.Log($"Switched AntiAliasing to {(PostProcessLayer.Antialiasing)AAModeDropdown.value}"); AAMode = AAModeDropdown.value; diff --git a/Assets/Scripts/Screenshot.cs b/Assets/Scripts/Screenshot.cs index 09b5723..e511315 100644 --- a/Assets/Scripts/Screenshot.cs +++ b/Assets/Scripts/Screenshot.cs @@ -19,7 +19,7 @@ public class Screenshot : MonoBehaviour public static void TakeScreenshot() { - var camera = UmaViewerBuilder.Instance.PreviewCamera.enabled ? UmaViewerBuilder.Instance.PreviewCamera : Camera.main; + var camera = UmaViewerBuilder.Instance.AnimationCamera.enabled ? UmaViewerBuilder.Instance.AnimationCamera : Camera.main; int width = int.Parse(UmaViewerUI.Instance.SSWidth.text); int height = int.Parse(UmaViewerUI.Instance.SSHeight.text); width = width == -1 ? Screen.width : width; @@ -46,7 +46,7 @@ public class Screenshot : MonoBehaviour private IEnumerator RecordGif(int width, int height, bool transparent, int quality) { - var camera = UmaViewerBuilder.Instance.PreviewCamera.enabled ? UmaViewerBuilder.Instance.PreviewCamera : Camera.main; + var camera = UmaViewerBuilder.Instance.AnimationCamera.enabled ? UmaViewerBuilder.Instance.AnimationCamera : Camera.main; var ppLayer = camera.GetComponent(); bool oldPpState = ppLayer.enabled; ppLayer.enabled = false; diff --git a/Assets/Scripts/UmaViewerBuilder.cs b/Assets/Scripts/UmaViewerBuilder.cs index 4d0697f..4c9d14b 100644 --- a/Assets/Scripts/UmaViewerBuilder.cs +++ b/Assets/Scripts/UmaViewerBuilder.cs @@ -40,8 +40,8 @@ public class UmaViewerBuilder : MonoBehaviour public AnimatorOverrideController OverrideController; public AnimatorOverrideController FaceOverrideController; public AnimatorOverrideController CameraOverrideController; - public Animator PreviewCameraAnimator; - public Camera PreviewCamera; + public Animator AnimationCameraAnimator; + public Camera AnimationCamera; private void Awake() { @@ -954,6 +954,7 @@ public class UmaViewerBuilder : MonoBehaviour } else if (clip.name.EndsWith("_E")) { + CurrentUMAContainer.UmaAnimator.Rebind(); CurrentUMAContainer.OverrideController["clip_e"] = clip; } else if (clip.name.EndsWith("_loop")) @@ -1052,7 +1053,7 @@ public class UmaViewerBuilder : MonoBehaviour SetPreviewCamera(null); } CurrentUMAContainer.UmaAnimator.Play("motion_2", 0, 0); - CurrentUMAContainer.TrackTarget = PreviewCamera.gameObject; + CurrentUMAContainer.TrackTarget = AnimationCamera.gameObject; } else { @@ -1075,14 +1076,14 @@ public class UmaViewerBuilder : MonoBehaviour { if (controller) { - PreviewCameraAnimator.runtimeAnimatorController = controller; - PreviewCamera.enabled = true; - PreviewCameraAnimator.Play("motion_1", 0, 0); + AnimationCameraAnimator.runtimeAnimatorController = controller; + AnimationCamera.enabled = true; + AnimationCameraAnimator.Play("motion_1", 0, 0); } else { - PreviewCameraAnimator.runtimeAnimatorController = null; - PreviewCamera.enabled = false; + AnimationCameraAnimator.runtimeAnimatorController = null; + AnimationCamera.enabled = false; } } @@ -1181,9 +1182,9 @@ public class UmaViewerBuilder : MonoBehaviour private void FixedUpdate() { - if (PreviewCamera && PreviewCamera.enabled == true) + if (AnimationCamera && AnimationCamera.enabled == true) { - PreviewCamera.fieldOfView = PreviewCamera.gameObject.transform.parent.transform.localScale.x; + AnimationCamera.fieldOfView = AnimationCamera.gameObject.transform.parent.transform.localScale.x; } } } diff --git a/Assets/Scripts/UmaViewerGlobalShader.cs b/Assets/Scripts/UmaViewerGlobalShader.cs index 99c595a..b8c78dd 100644 --- a/Assets/Scripts/UmaViewerGlobalShader.cs +++ b/Assets/Scripts/UmaViewerGlobalShader.cs @@ -128,7 +128,8 @@ public class UmaViewerGlobalShader : MonoBehaviour //Used to calculate the correct outline if (UmaViewerBuilder.Instance.CurrentUMAContainer) { - var camera = Camera.main; + var aniCamera = UmaViewerBuilder.Instance.AnimationCamera; + var camera = aniCamera.enabled ? aniCamera: Camera.main; var distance = Vector3.Distance(camera.transform.position, UmaViewerBuilder.Instance.CurrentUMAContainer.transform.position); var outlineWidth = 40.0f * distance * Mathf.Tan(camera.fieldOfView * 0.5f * Mathf.Deg2Rad); Shader.SetGlobalFloat("_GlobalCameraFov", outlineWidth); diff --git a/Assets/Scripts/UmaViewerUI.cs b/Assets/Scripts/UmaViewerUI.cs index b5c6f34..fe2c815 100644 --- a/Assets/Scripts/UmaViewerUI.cs +++ b/Assets/Scripts/UmaViewerUI.cs @@ -582,7 +582,7 @@ public class UmaViewerUI : MonoBehaviour AnimationSlider.SetValueWithoutNotify(0); // Reset settings by Panel Builder.CurrentUMAContainer.UmaAnimator.speed = AnimationSpeedSlider.value; - Builder.PreviewCameraAnimator.speed = AnimationSpeedSlider.value; + Builder.AnimationCameraAnimator.speed = AnimationSpeedSlider.value; if (Builder.CurrentUMAContainer.UmaFaceAnimator) Builder.CurrentUMAContainer.UmaFaceAnimator.speed = AnimationSpeedSlider.value; } @@ -714,7 +714,7 @@ public class UmaViewerUI : MonoBehaviour { var animator = Builder.CurrentUMAContainer.UmaAnimator; var animator_face = Builder.CurrentUMAContainer.UmaFaceAnimator; - var animator_cam = Builder.PreviewCameraAnimator; + var animator_cam = Builder.AnimationCameraAnimator; var AnimeState = animator.GetCurrentAnimatorStateInfo(0); var state = animator.speed > 0f; if (state) @@ -754,7 +754,7 @@ public class UmaViewerUI : MonoBehaviour if (!Builder.CurrentUMAContainer) return; var animator = Builder.CurrentUMAContainer.UmaAnimator; var animator_face = Builder.CurrentUMAContainer.UmaFaceAnimator; - var animator_cam = Builder.PreviewCameraAnimator; + var animator_cam = Builder.AnimationCameraAnimator; if (animator != null) { var AnimeClip = Builder.CurrentUMAContainer.OverrideController["clip_2"]; @@ -781,7 +781,7 @@ public class UmaViewerUI : MonoBehaviour AnimationSpeedText.text = string.Format("Animation Speed: {0:F2}", val); if (!Builder.CurrentUMAContainer || !Builder.CurrentUMAContainer.UmaAnimator) return; Builder.CurrentUMAContainer.UmaAnimator.speed = val; - Builder.PreviewCameraAnimator.speed = val; + Builder.AnimationCameraAnimator.speed = val; if (Builder.CurrentUMAContainer.UmaFaceAnimator) { Builder.CurrentUMAContainer.UmaFaceAnimator.speed = val; @@ -837,7 +837,7 @@ public class UmaViewerUI : MonoBehaviour } var container = UmaViewerBuilder.Instance.CurrentUMAContainer; - var camera = UmaViewerBuilder.Instance.PreviewCamera; + var camera = UmaViewerBuilder.Instance.AnimationCamera; var rootbone = container.transform.Find("Position"); if(rootbone.gameObject.TryGetComponent(out UnityHumanoidVMDRecorder recorder))