В уроке рассматривается стандартная система навигации (поиска пути) в Unity на примере перемещения персонажа в место клика мышью. В видео будет показано как пользоваться окном Navigator и компонентами NavMeshAgent, NavMeshObstacle и OffMeshLink. А также как сделать статичные и динамические препятствия.
Скрипт из урока:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { Animator animator; NavMeshAgent agent; public Camera cam; // Use this for initialization void Start () { animator = GetComponent<Animator> (); agent = GetComponent<NavMeshAgent> (); } // Update is called once per frame void Update () { if (Input.GetMouseButtonUp (1)) { Ray ray = cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit)) { agent.destination = hit.point; } } if (agent.velocity.magnitude > 2f) { animator.SetBool ("walk", true); } else { animator.SetBool("walk", false); } } } |