custom rt added for split-screen

This commit is contained in:
2024-05-06 13:55:55 +01:00
parent 9a9096a57d
commit 811e97547b
25 changed files with 3590 additions and 1049 deletions

View File

@@ -3,6 +3,7 @@ using FMODUnity;
using System.Collections;
using System.Collections.Generic;
using System.Xml.Serialization;
using Unity.Barracuda;
using UnityEngine;
public class CameraManager : MonoBehaviour
@@ -10,6 +11,7 @@ public class CameraManager : MonoBehaviour
public static CameraManager _instance { get; private set; }
private GameObject m_Brain;
private GameObject m_BrainPose;
private Camera m_Camera;
@@ -49,7 +51,7 @@ public class CameraManager : MonoBehaviour
[Header("Shader")]
public Material m_HumanoidMaterial;
public Color m_BackgroundColor;
public GameObject m_PoseCanvas;
private void Awake()
{
if(_instance != null)
@@ -114,28 +116,39 @@ public class CameraManager : MonoBehaviour
private void SetCullingMask()
{
m_Camera = m_Brain.GetComponent<Camera>();
string currentTag = m_ActiveCamera.tag;
switch (currentTag)
{
case "vc_Agent":
m_Camera.cullingMask = m_Agent;
m_PoseCanvas.SetActive(false);
m_BrainPose.SetActive(false);
m_Rewards.SetActive(true);
break;
case "vc_Body":
m_Camera.cullingMask = m_Bodies;
m_PoseCanvas.SetActive(false);
m_BrainPose.SetActive(false);
m_Rewards.SetActive(false);
break;
case "vc_Environment":
m_Camera.cullingMask = m_Environment;
m_PoseCanvas.SetActive(false);
m_BrainPose.SetActive(false);
m_Rewards.SetActive(false);
break;
case "vc_Actuations":
m_Camera.cullingMask = m_Actuations;
m_PoseCanvas.SetActive(false);
m_BrainPose.SetActive(false);
m_Rewards.SetActive(true);
break;
case "vc_Compare":
m_BrainPose.SetActive(true);
m_Camera.cullingMask = m_Compare;
m_PoseCanvas.SetActive(true);
m_Rewards.SetActive(true);
break;
}
@@ -212,7 +225,7 @@ public class CameraManager : MonoBehaviour
if (AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Body", "vc_Agent") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Environment", "vc_Agent") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Environment", "vc_Body")
|| AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Environment", "vc_Environment") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Body", "vc_Body") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Actuations", "vc_Body")
|| AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Actuations", "vc_Environment") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Actuations", "vc_Agent") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Actuations", "vc_Actuations") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Actuations", "vc_Compare")
|| AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Compare", "vc_Compare") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Environment", "vc_Compare") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Body", "vc_Compare"))
|| AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Compare", "vc_Compare") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Environment", "vc_Compare") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Body", "vc_Compare") || AreDifferentPairs(pastCamera.tag, m_ActiveCamera.tag, "vc_Agent", "vc_Compare"))
blendtime = 0;
cmBrain.m_DefaultBlend.m_Time = blendtime;
@@ -252,6 +265,8 @@ public class CameraManager : MonoBehaviour
try
{
m_Brain = GameObject.Find("CM Brain");
m_BrainPose = GameObject.Find("CM Brain Compare");
m_BrainPose.SetActive(false);
// Set dissapear color same as sky color
m_Brain.GetComponent<Camera>().backgroundColor = m_BackgroundColor;
Debug.Log(m_BackgroundColor);