This commit is contained in:
CroakFang
2022-11-13 23:43:39 +08:00
parent cbdb4dbc57
commit a1c0904ee2
6 changed files with 25 additions and 23 deletions
+4 -4
View File
@@ -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
+1 -1
View File
@@ -85,7 +85,7 @@ public class CameraOrbit : MonoBehaviour
if (AAMode != AAModeDropdown.value)
{
var postprocessLayerMain = Camera.main.GetComponent<PostProcessLayer>();
var postprocessLayerPreview = UmaViewerBuilder.Instance.PreviewCamera.GetComponent<PostProcessLayer>();
var postprocessLayerPreview = UmaViewerBuilder.Instance.AnimationCamera.GetComponent<PostProcessLayer>();
postprocessLayerMain.antialiasingMode = postprocessLayerPreview.antialiasingMode = (PostProcessLayer.Antialiasing)AAModeDropdown.value;
Debug.Log($"Switched AntiAliasing to {(PostProcessLayer.Antialiasing)AAModeDropdown.value}");
AAMode = AAModeDropdown.value;
+2 -2
View File
@@ -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<PostProcessLayer>();
bool oldPpState = ppLayer.enabled;
ppLayer.enabled = false;
+11 -10
View File
@@ -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;
}
}
}
+2 -1
View File
@@ -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);
+5 -5
View File
@@ -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))