2021년 4학년 1학기 기업연계프로젝트2 컴퓨터소프트웨어공학과 <원광투어팀> 팀장 : 송유진 팀원 : 김나영, 이경희, 한유진
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.
 
 
 
 
 

83 lines
1.9 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Valve.VR.InteractionSystem.Sample
{
public class WheelDust : MonoBehaviour
{
private WheelCollider col;
public ParticleSystem p;
public float EmissionMul;
public float velocityMul = 2;
public float maxEmission;
public float minSlip;
[HideInInspector]
public float amt;
[HideInInspector]
public Vector3 slip;
private float emitTimer;
private void Start()
{
col = GetComponent<WheelCollider>();
StartCoroutine(emitter());
}
private void Update()
{
slip = Vector3.zero;
if (col.isGrounded)
{
WheelHit hit;
col.GetGroundHit(out hit);
slip += Vector3.right * hit.sidewaysSlip;
slip += Vector3.forward * -hit.forwardSlip;
//print(slip);
}
amt = slip.magnitude;
//print(amt);
}
private IEnumerator emitter()
{
while (true)
{
while (emitTimer < 1)
{
yield return null;
if (amt > minSlip)
{
emitTimer += Mathf.Clamp((EmissionMul * amt), 0.01f, maxEmission);
}
}
emitTimer = 0;
DoEmit();
}
}
private void DoEmit()
{
p.transform.rotation = Quaternion.LookRotation(transform.TransformDirection(slip));
#if UNITY_2017_1_OR_NEWER
ParticleSystem.MainModule mainModule = p.main;
mainModule.startSpeed = velocityMul * amt;
#else
p.startSpeed = velocityMul * amt;
#endif
p.Emit(1);
}
}
}