ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Перемещение движений Unity (https://forum.antichat.xyz/showthread.php?t=770598)

8999aka 27.10.2018 14:00

всем привет написал такой код при клике ходить через NavMeshAgent

я только изучаю так что строго не судить )

[QUOTE="Спойлер"]
[COLOR="#363940"]
using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.AI;

public class Move_anim : MonoBehaviour {

NavMeshAgent nav;

GameObject Enemy;

Animator animator;

[SerializeField]float dist;

[SerializeField]float time;

float radius=10f;

float normalizedTime;

float length;

int dts;

void Start () {

Enemy = null;

animator=GetComponent();

nav=GetComponent();

nav.updateRotation = false;

normalizedTime = animator.GetCurrentAnimatorStateInfo (0).normalizedTime%1;

length = animator.GetCurrentAnimatorStateInfo(0).length;

if (nav == null)

return;

}

void Update () {

dts =(int)dist;

if (Enemy != null) {

range.text = Enemy.name + " " + dts.ToString ();

}

if (animator.GetCurrentAnimatorStateInfo(0).IsName("a tack")&&normalizedTime 0.1f)

animator.SetFloat("V",nav.velocity.magnitude);

else

animator.SetFloat("V",0);

}

}

void Move_click()

{

if (Input.GetMouseButton (0))

{

Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);

RaycastHit hit;

if(Physics.Raycast(ray,out hit,100))

{

if(hit.transform.tag=="Plan"){

nav.destination=hit.point;

klick=false;

}

if(hit.transform.tag=="Enemy"){

Enemy=hit.collider.gameObject;

nav.SetDestination(Enemy.transform.position);

klick=true;

}

}

if(nav.velocity.magnitude !=0){

Vector3 dir = hit.point - transform.position;

dir.y = 0;

transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation(dir),15f*Time.deltaTime);

}

}

}

void Move_attack()

{

if (Enemy == null)

return;

dist = Vector3.Distance (Enemy.transform.position, transform.position);

if (dist > radius) {

}

if (dist 2f) {

animator.SetBool("enemyClicked",false);

}

if (dist


Время: 22:57