Огляд бета-версії Unity 5. Перехід на нову версію Unity
Кілька днів тому «Unity 5 beta 1» злили в мережу. І я думаю, що настав час почати міграцію мого ігрового проекту на нову версію Unity.
Зміни
Повний список змін в Unity 5Unity надає вам інструмент для оновлення коду. Це буде повідомлення про помилку щодо оновлення коду, і вам потрібно натиснути його. Але мені це не дуже допомагає.
- Користувач GetComponent() замість властивості quick. Для javascript використовуйте GetComponent.<>()
Вилучено засоби швидкого доступу до властивостей, як-от .rigidBody, .rigidbody2D, .camera, .light, .animation, .constantForce, .renderer, .audio, .networkView, .guiTexture, .collider, .collider2D, .particleSystem, .particleEmitter, .guiText, .hingeJoint для модульності. Натомість використовуйте GetComponentЦе змусить вас змінити багато застарілого коду, оскільки воно було швидкішим і кориснішим для користувача short властивість замість GetComponent, але Unity вирішила відмовитися від неї з міркувань модульності., щоб отримати посилання.
-
«transform» тепер кешується на стороні C#, більше не потрібно кешувати його самостійно. І продуктивність GetComponent була покращена. Хороші новини. Для кращої продуктивності ми зазвичай кешуємо значення перетворення, оскільки перетворення доступу було таким самим, як GetComponent(), але ця операція була важкою.
-
Зміни методу та полів SetTriangles замість SetTriangleStrip orthographic замість isOrthographic (властивість камери) властивість “offset” замість “center” для BoxCollider2D
Зовнішній SDK
NGUI
Працює добре. Вам потрібно вручну змінити код відповідно до змін, які я згадав.Також не забудьте змінити ці рядки defines
#якщо !UNITY_3_5 && !UNITY_4_0 && !UNITY_4_1 && !UNITY_4_2 && !UNITY_4_3 && !UNITY_4_4 && !UNITY_4_5
Photon Cloud (плагін PUN)
Також добре працює, але у мене виникла проблема з класом Ping під час створення для Web GL. Тому просто змініть клас Unityengine.Ping на C# <код> за допомогою System.Net.NetworkInformation; ... System.Net.NetworkInformation.Ping ping = новий System.Net.NetworkInformation.Ping(); System.Net.NetworkInformation.PingOptions options = новий System.Net.NetworkInformation.PingOptions (); options.DontFragment = true; PingReply відповідь = ping.Send (regionIp); while (reply.Status != IPStatus.Success/*!ping.isDone && Time.time < startTime + timeout*/) { // іноді пінг Unity ніколи не повертається, тому тут ми використовуємо тайм-аут yield return 0; }App42 Cloud
Збій під час входу користувача. Десь усередині lib. Я вже надіслав Шеферцу звіт про аварію.Підтримка HTML5 (складання WebGL)
Цілі збірки Unity 5
Додано нове визначення UNITY_WEBGL.
Після перенесення я не зміг скомпілювати свій проект у HTML5. Я отримав повідомлення про помилку:
Рекурсивна серіалізація не підтримується. Ви не можете розіменувати PPtr під час завантаження
Фатальна помилка в Mono CIL Linker
Не вдалося вирішити System.Collections.Hashtable UnityEngine.WWWForm::get_headers()Демонстрацію Angly Bots було зібрано нормально для HTML5. Компіляція займає більше часу, ніж для веб-програвача.
