Every Unity.Mathematics using, alias and qualified name under Assets\Scripts and tools now names CultMath. The nine `using static ...noise;` lines are gone: snoise lives on CultMath's math. UnityExtensions loses float4.ToColor and Color.ToFloat4, which duplicate the bridge's ToColor and ToCultMath; the float3 colour pair stays because the bridge has none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using MessagePack;
|
|
using Newtonsoft.Json;
|
|
using CultMath;
|
|
using static CultMath.math;
|
|
|
|
[Serializable, MessagePackObject, JsonObject]
|
|
public class ExponentialCurve
|
|
{
|
|
[JsonProperty("exponent"), Key(0), Inspectable]
|
|
public float Exponent;
|
|
|
|
[JsonProperty("multiplier"), Key(1), Inspectable]
|
|
public float Multiplier;
|
|
|
|
[JsonProperty("constant"), Key(2), Inspectable]
|
|
public float Constant;
|
|
|
|
public float Evaluate(float value) => Multiplier * pow(value, Exponent) + Constant;
|
|
}
|
|
|
|
[Serializable, MessagePackObject, JsonObject]
|
|
public class ExponentialLerp
|
|
{
|
|
[JsonProperty("exponent"), Key(0), Inspectable]
|
|
public float Exponent;
|
|
|
|
[JsonProperty("max"), Key(1), Inspectable]
|
|
public float Minimum;
|
|
|
|
[JsonProperty("min"), Key(2), Inspectable]
|
|
public float Maximum;
|
|
|
|
public float Evaluate(float value) => Minimum + pow(saturate(value), Exponent) * (Maximum - Minimum);
|
|
}
|