55 lines
988 B
C#
55 lines
988 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Godot;
|
|
using System;
|
|
|
|
|
|
|
|
namespace Rokojori
|
|
{
|
|
[Tool]
|
|
[GlobalClass]
|
|
public partial class NormalBlenderSettings:Resource
|
|
{
|
|
public enum Mode
|
|
{
|
|
Over_Y
|
|
}
|
|
[Export]
|
|
public Mode mode;
|
|
|
|
[Export(PropertyHint.Range,"0,1")]
|
|
public float normalBlendAmount = 0.5f;
|
|
|
|
[ExportGroup("Over Y")]
|
|
[Export]
|
|
public Vector3 overY_blendDirection = Vector3.Up;
|
|
|
|
[Export]
|
|
public float overY_blendStartY = 0;
|
|
|
|
[Export]
|
|
public float overY_blendEndY = 0.25f;
|
|
|
|
[Export]
|
|
public Curve overY_blendCurve;
|
|
|
|
|
|
public MeshGeometry Blend( MeshGeometry mg )
|
|
{
|
|
if ( Mode.Over_Y == mode )
|
|
{
|
|
return BlendOverY( mg );
|
|
}
|
|
|
|
return mg;
|
|
}
|
|
|
|
MeshGeometry BlendOverY( MeshGeometry mg )
|
|
{
|
|
mg.BlendNormalsOverY( overY_blendDirection, normalBlendAmount, overY_blendStartY, overY_blendEndY, overY_blendCurve );
|
|
return mg;
|
|
}
|
|
|
|
}
|
|
} |