パラメータ追加

This commit is contained in:
kimura 2021-07-01 11:39:14 +09:00
parent 125379a0f7
commit f731f5794f
2 changed files with 20 additions and 13 deletions

View File

@ -2681,10 +2681,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
panController: {fileID: 402129742} panController: {fileID: 402129742}
thermoMeter: {fileID: 1928679192} thermoMeter: {fileID: 1928679192}
speed: 0.1 temperature: 0
panFactor: 0.01 panSpeed: 0
deadZone: 0.1 panFactor: 0.5
maxPanMagnitude: 2 deadZone: 0.08
baseIncreaseSpeed: 0.06
maxDecreaseSpeed: 0.09
--- !u!1001 &1883189159 --- !u!1001 &1883189159
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -5,11 +5,16 @@ public class ThermalControl : MonoBehaviour
{ {
[SerializeField] private PanController panController; [SerializeField] private PanController panController;
[SerializeField] private ThermoMeter thermoMeter; [SerializeField] private ThermoMeter thermoMeter;
[SerializeField] private float speed = .1f; [Space]
[SerializeField] private float panFactor = .01f; [SerializeField, ReadOnly] private float temperature;
[SerializeField, ReadOnly] private float panSpeed;
[Space]
[Header("フライパン感度/デッドゾーン")]
[SerializeField] private float panFactor = .5f;
[SerializeField] private float deadZone = .1f; [SerializeField] private float deadZone = .1f;
[SerializeField] private float maxPanMagnitude = 2f; [Header("熱くなるスピード/冷えるスピードの最大値")]
private float temperature; [SerializeField] private float baseIncreaseSpeed = .03f;
[SerializeField] private float maxDecreaseSpeed = .03f;
private void Start() private void Start()
{ {
@ -17,14 +22,14 @@ public class ThermalControl : MonoBehaviour
private void Update() private void Update()
{ {
var panMagnitude = panController.Delta.magnitude; panSpeed = panController.Delta.magnitude * panFactor;
if (panMagnitude >= deadZone) if (panSpeed > deadZone)
{ {
temperature -= Mathf.Min(panMagnitude, maxPanMagnitude) * panFactor; temperature -= Mathf.Min(panSpeed, maxDecreaseSpeed) * Time.deltaTime;
} }
else else
{ {
temperature += Time.deltaTime * speed; temperature += baseIncreaseSpeed * Time.deltaTime;
} }
temperature = Mathf.Clamp01(temperature); temperature = Mathf.Clamp01(temperature);
thermoMeter.SetValue(temperature); thermoMeter.SetValue(temperature);