Peningkatan ke Unity 5.0
Animasi di Unity 5.0

AI di Unity 5.0

Ini adalah catatan untuk menyadari ketika proyek upgrade dari Unity 4 ke Unity 5, jika proyek Anda menggunakan fitur AI / NavmeshSebuah mesh yang Unity menghasilkan perkiraan daerah dan hambatan yang dapat berjalan di lingkungan Anda untuk mencari jalan dan navigasi yang dikendalikan AI. More info
Lihat di Glossary
.

  • Kontur Navmesh mungkin terlihat berbeda karena mengubah partisi - dalam kasus dengan koridor / pintu sempit atau serupa - ini dapat menyebabkan perbedaan konektivitas. Soal masalah dengan mengubah ukuran voxelPiksel 3D. More info
    Lihat di Glossary
    untuk bangunan navmesh.

  • Menyiapkan tujuan untuk NavMeshAgent tidak melanjutkan agen setelah memanggil 'Stop' - memanggil 'Resume' secara eksplisit untuk melanjutkan agen.

  • NavMeshAgent.updatePosition: Ketika updatePosition adalah salah dan transformasi agen dipindahkan posisi agen tidak berubah. Sebelumnya posisi agen akan disetel ulang ke posisi transformasi - dibatasi ke navmesh terdekat.

  • Komponen NavMeshObstacle: Bentuk default untuk komponen NavMeshObstacle baru adalah kotak. Bentuk yang dipilih (kotak atau kapsul) sekarang berlaku untuk ukiran dan penghindaran.

  • Navmesh dibangun dengan versi Unity sebelumnya tidak didukung. Anda harus membangun kembali dengan Unity 5. Anda dapat menggunakan script berikut sebagai contoh bagaimana membangun kembali data NavMesh untuk semua scenesAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
    Lihat di Glossary
    .

Rebake script contoh

#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
Peningkatan ke Unity 5.0
Animasi di Unity 5.0