Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/OvrAvatarProjectorRenderComponent.cs
2026-02-21 16:45:37 +08:00

57 lines
2.3 KiB
C#

using System.Collections.Generic;
using UnityEngine;
public class OvrAvatarProjectorRenderComponent : OvrAvatarRenderComponent
{
private Material material;
internal void InitializeProjectorRender(ovrAvatarRenderPart_ProjectorRender render, Shader shader, OvrAvatarRenderComponent target)
{
if (shader == null)
{
shader = Shader.Find("OvrAvatar/AvatarSurfaceShader");
}
material = CreateAvatarMaterial(base.gameObject.name + "_projector", shader);
material.EnableKeyword("PROJECTOR_ON");
Renderer component = target.GetComponent<Renderer>();
if (component != null)
{
List<Material> list = new List<Material>(component.sharedMaterials);
list.Add(material);
component.sharedMaterials = list.ToArray();
}
}
internal void UpdateProjectorRender(OvrAvatarComponent component, ovrAvatarRenderPart_ProjectorRender render)
{
OvrAvatar.ConvertTransform(render.localTransform, base.transform);
material.SetMatrix("_ProjectorWorldToLocal", base.transform.worldToLocalMatrix);
component.UpdateAvatarMaterial(material, render.materialState);
}
private void OnDrawGizmos()
{
Vector3 vector = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(-1f, -1f, -1f));
Vector3 vector2 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(1f, -1f, -1f));
Vector3 vector3 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(-1f, 1f, -1f));
Vector3 vector4 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(1f, 1f, -1f));
Vector3 vector5 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(-1f, -1f, 1f));
Vector3 vector6 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(1f, -1f, 1f));
Vector3 vector7 = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(-1f, 1f, 1f));
Vector3 to = base.transform.localToWorldMatrix.MultiplyPoint(new Vector3(1f, 1f, 1f));
Gizmos.color = Color.gray;
Gizmos.DrawLine(vector, vector2);
Gizmos.DrawLine(vector, vector3);
Gizmos.DrawLine(vector3, vector4);
Gizmos.DrawLine(vector2, vector4);
Gizmos.DrawLine(vector, vector5);
Gizmos.DrawLine(vector2, vector6);
Gizmos.DrawLine(vector3, vector7);
Gizmos.DrawLine(vector4, to);
Gizmos.DrawLine(vector5, vector6);
Gizmos.DrawLine(vector5, vector7);
Gizmos.DrawLine(vector7, to);
Gizmos.DrawLine(vector6, to);
}
}