Initial
This commit is contained in:
commit
36a53f343e
1 changed files with 300431 additions and 0 deletions
58
UnityProject/Assets/Scripts/misc/peopleTurning.cs
Normal file
58
UnityProject/Assets/Scripts/misc/peopleTurning.cs
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
/* Minimális logika, hogy az animált emberek megfelelően változtassanak irányt.
|
||||
* A prefabs mappában található megfelelő prefab lerakásával lehet 90°-os fordulásra bíztatni az embereket.
|
||||
* Az előbbit lassan, szép átmenettel csinálja. Tud 180°-ot is fordulni, azt ugrásszerűen végzi.
|
||||
*/
|
||||
|
||||
public class peopleTurning : MonoBehaviour {
|
||||
|
||||
public float turningSpeed = 0.1f;
|
||||
|
||||
private float turningSpeedWithDirection;
|
||||
private bool isTurning = false;
|
||||
public float currentAngle;
|
||||
public float endAngle;
|
||||
|
||||
void FixedUpdate () {
|
||||
if(isTurning)
|
||||
{
|
||||
currentAngle += turningSpeedWithDirection * Time.deltaTime;
|
||||
transform.rotation = Quaternion.AngleAxis(currentAngle, transform.up);
|
||||
|
||||
if (Mathf.Abs(currentAngle % 360 - endAngle) < 10)
|
||||
{
|
||||
transform.rotation = Quaternion.AngleAxis(endAngle, transform.up);
|
||||
isTurning = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerEnter (Collider other)
|
||||
{
|
||||
if (!isTurning)
|
||||
{
|
||||
if (other.tag == "peopleTurnRight")
|
||||
{
|
||||
isTurning = true;
|
||||
currentAngle = transform.rotation.eulerAngles.y;
|
||||
endAngle = currentAngle + 90;
|
||||
turningSpeedWithDirection = turningSpeed;
|
||||
}
|
||||
else if (other.tag == "peopleTurnLeft")
|
||||
{
|
||||
isTurning = true;
|
||||
currentAngle = transform.rotation.eulerAngles.y;
|
||||
endAngle = currentAngle - 90;
|
||||
turningSpeedWithDirection = -turningSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
if (other.tag == "peopleTurnAround")
|
||||
{
|
||||
transform.rotation = Quaternion.AngleAxis(transform.rotation.eulerAngles.y + 180, transform.up);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue