Version: 2017.4
Actualizando a Unity 5.0
Animación en Unity 5.0

AI (Inteligencia artificial) en Unity 5.0

Estas son notas para tener en cuenta cuando actualice proyectos de Unity 4 a Unity 5, si su proyecto utiliza las características AI/Navmesh.

  • El Navmesh contour puede verse diferente debido a un cambio en la partición - en casos con corredores/puertas de entrada muy angostas o similar - esto puede llevar a una diferencia en la conectividad. Arregle el problema al ajustar el tamaño voxel para el navmesh building.

  • Configurando el destino para el NavMeshAgent no reanudará el agente después de llamar ‘Stop’ - llame ‘Resume’ explícitamente para reanudar al agente.

  • NavMeshAgent.updatePosition: Cuando updatePosition es falso y el transform del agente es movido, la posición del agente no cambia. Previamente la posición del agente se hubiera reset a la posición del transform - limitado al navmesh cercano.

  • NavMeshObstacle component: La figura predeterminada para nuevos componentes NavMeshObstacle creados es una caja. La figura seleccionada (caja o cápsula) ahora aplica a ambos carving y avoidance.

  • Navmesh construido con anteriores versiones de Unity no es soportado. Usted tendrá que reconstruirlo con Unity 5. Usted puede utilizar la siguiente script como un ejemplo acerca de cómo reconstruir los datos del NavMesh para todas sus escenas.

Script Ejemplo para Rebake

#if UNITY_EDITOR
using System.Collections.Generic;
using System.Collections;
using System.IO;
using UnityEditor;
using UnityEngine;
using UnityEngine.AI;
public class RebakeAllScenesEditorScript
{
    [MenuItem ("Upgrade helper/Bake All Scenes")]
    public static void Bake()
    {
        List<string> sceneNames = SearchFiles (Application.dataPath, "*.unity");
        foreach (string f in sceneNames)
        {
            EditorApplication.OpenScene(f);
 
            // Rebake navmesh data
            NavMeshBuilder.BuildNavMesh ();
 
            EditorApplication.SaveScene ();
        }
    }
    static List<string> SearchFiles(string dir, string pattern)
    {
        List <string> sceneNames = new List <string>();
        foreach (string f in Directory.GetFiles(dir, pattern, SearchOption.AllDirectories))
        {
            sceneNames.Add (f);
        }
        return sceneNames;
    }
}
#endif
Actualizando a Unity 5.0
Animación en Unity 5.0
Copyright © 2020 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961