You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

47 lines
1.7 KiB

using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace UnityEditor.VFX.HDRP
{
[VFXInfo(name = "Output Particle HDRP Distortion Mesh", category = "Output")]
class VFXDistortionMeshOutput : VFXAbstractDistortionOutput
{
public override string name { get { return "Output Particle HDRP Distortion Mesh"; } }
public override string codeGeneratorTemplate { get { return RenderPipeTemplate("VFXParticleDistortionMesh"); } }
public override VFXTaskType taskType { get { return VFXTaskType.ParticleMeshOutput; } }
public override bool supportsUV { get { return true; } }
public override CullMode defaultCullMode { get { return CullMode.Back; } }
public class InputProperties
{
[Tooltip("Specifies the mesh used to render the particle.")]
public Mesh mesh = VFXResources.defaultResources.mesh;
[Tooltip("Defines a bitmask to control which submeshes are rendered."), BitField]
public uint subMeshMask = 0xffffffff;
}
public override VFXExpressionMapper GetExpressionMapper(VFXDeviceTarget target)
{
var mapper = base.GetExpressionMapper(target);
switch (target)
{
case VFXDeviceTarget.CPU:
{
mapper.AddExpression(inputSlots.First(s => s.name == "mesh").GetExpression(), "mesh", -1);
mapper.AddExpression(inputSlots.First(s => s.name == "subMeshMask").GetExpression(), "subMeshMask", -1);
break;
}
default:
{
break;
}
}
return mapper;
}
}
}