Финальный билд Unity 5 вышел в свет

Финальный билд Unity 5 вышел в свет

Still Loooking For Answer

I have been asking about something rather important for a many years, and it is still not answered. A few Unity staff members were actually perplexed by it as they hadn’t thought about it until I mentioned it… 2 of them said they’d be back with an answer and 0 of the 2 returned to answer. Please provide detailed/technical answer.

Here’s an outdated example to reinforce the oddity of the situation;
(please do not fanboi reply.. this is a very serious topic with a specific point that I/we/myteam needs an answer.)
If you had a perpetual license for version 4.x, when exactly did the update/fixes/updated-support for building to various platforms stop ? How was this data of updates/fixes ever provided to the users since Unity is a “download Gigs every release” system.
This has never made sense to me, nor many others I talk to about this.
AKA: same thing here in this current situation;
Perpetual Licensees of Unity 5.x, if they do not upgrade to the new engine versioning system, how long will they be provided updated support(the same as 1 year as noted under new sub model ?) *AND* how are these perpetual v5.x users provided with these platform support updates and any provided Unity bug fixes once Unity 2017.x.x is released ?
–>> I ask because I see engine downloads of Gigs each release.. but never update packages nor has Unity ever informed me it is performing updates to platform engines.
I would happily join in using Unity as an engine of choice, I have said this a few times in these messages, when the project calls for it I would happily use it, *if* details are provided regarding this topic. ..and please do not answer that a subscription model solves it, because after 2 years, you own a version with 1 years of support updates and such… which brings us back to the exact concern once again.

— This isn’t about money, it’s about principles within these missing details of your provided services.
***Thank You.*** I appreciate your time. This is a genuine and serious post/message.

@UnityTeam, if you prefer to answer me privately, I will oblige.

As awesome as this sounds, the one thing that needs to be solved is using GI with prefab objects. I am working on a game that uses the UFE Asset which requires the stages in the game to use Prefabs, but there is a PROBLEM: YOU CAN’T USE GI ON PREFABS. As soon as you drop in a prefab you lose all of your lighting information, which makes this a very painful process. The stage creation process in UFE is pretty straighforward.

I SERIOUSLY hope you guys fix this in some way. I am getting tired of mucking around with various scripts that don’t work and waste time. Also, it would be a severe hindrance for the UFE guys to have to rewrite their entire core just to use the .unity format to load into the engine.

The Unity team is satisfied with the approach they take, but not us. To use a simple interface.

a) Monobehaviour: You can store only a concrete class. Unity locks you out of inheritance. C# allows only 1 class inheritance, unfortunately that slot got grabbed by evil Monobehavior. Gratz, you got vendor locked. Why doesn’t unity allow “Composition – Delegate pattern” for monobehaviors?

b) ScriptableObjects: You can store subclasses but… Unity locks you out of inheritance. At the top of the chain will be ScriptableObject, which is a class, not an interface. An interface cannot inherit a class. Therefore you inherit from an abstract class which inherits ScriptableObject. Top slot got grabbed again by evil ScriptableObject. Gratz, you got vendor locked again! Why doesn’t unity allow “Composition – Delegate pattern” for ScriptableObjects?

Now suppose you try to use “new” on your simple innocent vendor locked class. Unity: How Dare you .
You are forced to carry a whole bag of “unity garbage” on your custom instance, just to make it viewable on inspector. Wow, nice job unity. No wonder why game development industry goes to hell with your efforts.
Gratz you invented assembly again, thanks for disabling object oriented programming.

Full Serialiser : https://github.com/jacobdufault/fullserializer , serialises interfaces normally. It is obvious you want to place artificial limits to the engine to prevent users from switching to another engine. Thanks for following the good old microsoft strategy (divide and conquer) to obtain market monopoly at the user’s expense.

I don’t understand what you are implying? I have used inheritance with no problems whatsoever.

What’s happening with the new splash screens and VR? Will that be patched into 5.5, or is it a feature for 5.6 (I don’t see it listed anywhere)

The new splash screen is in 5.5. Any fixes that it may need will be patched in.

Why are only two people working on the new input system? That is a serious question.

It still boggles my mind that this is so low priority. Every game needs input. Right now, one is forced to buy a 3rd party asset…is this the not-publically-acknowledged thought process?: The 3rd party asset solves the problem mostly, so it can be pushed aside while new shiny features get made?

I can’t say I’m thrilled about the new course that Unity is taking. Although the new model well benefit people who do Android and IOS games, those of us that are only interested in PC releases are getting pulled along a road we don’t have any real interest in.

I really wish you would reconsider your model and possibly keep a somewhat modified version of the old perpetual license setup. You could offer a dumbed down version that excludes the mobile platforms.

As a small time indie that has only done this so far as a hobby (though I would eventually like to make this my next job), I find the new model too costly to support. While 1500$ wasn’t cheap, it was still affordable.

Sadly I won’t be financially supporting the new Unity cycles, and just use Unity 5 until it becomes defunct.

In a company, 125 per month is probably nothing, but as a one-man indie developer I thought I bought Unity3D once when saving up money for the pro version.

I think it is time to look for a new engine if this subscription thing goes through.

In all fairness, what’s wrong with the Personal or Plus versions?
I’ve been on Personal the entire time. Sucks with the white theme, but everything’s pretty much functionally equivalent to the upper tiers.

I don’t understand one thing about the new subscription model.

If the new cycle is supposed to last for just one year (2017, 2018, etc) and lets say I start my subscription on the 31st Dec ’16, by the end of 2018 I should be entitled to own the current version I am using… that’s 2018? Or by that point I would be getting the 2020, getting it for “free” during all the 2020 cycle?

If its the 2018, then I don’t see how that can make any sense for us, as after paying for two consecutive years we would being entitled to own an obsolete cycle… where is the benefit in there?

Also, there is any offer for Pro perpetual users to switch to Plus?

And, if I pay two consecutive cycle subscriptions of Plus, do I get the right to own it as with the Pro?

Whilst it’s pleasing to see Unity Personal remaining free, it’s somewhat unclear what version it’s going to be exactly. Will the Unity Personal version be 5.6 or 2017? If the former, what will happen to Unity Personal once 5.6 stops receiving updates? How will features currently available in the Experimental namespace (such as the current Playables API) be handled?

Whilst I have a perpetual license, and maintained it over several version increases despite upgrade fees, I cannot afford the constant drain of the subscription model. I suspect few independent developers will be fond of it, particularly starters.

A rent method is a scam. A lot of companies change to rent because once someone buys their product and own it, they won’t receive profit from that person again. Companies are brainwashing people into thinking that if you rent, you own it. But that’s not the case.

When I pay for something, I would like to own it for life. I will probably use a different engine that is free.

I absolutely, 100% agree. I am having a problem with the fact I bought a ‘forever license’ for $1200.00 and now after a while not getting updates and forced to upgrade to the new cycle. NOT HAPPY…Making me wish I didn’t use Unity.

This feedback request has 2774 votes and has been ‘under review’ for almost 6 years:

Runtime navmesh is on the timeline for 5.6 alpha and is labelled green, or “on time.”
That and nested Prefabs please.

I don’t want to be mean and say stop working on everything else, because maybe there is somebody who wants those features…

But yeah, stop working on everything else until that’s done if you have to. Seriously.

Nested Prefabs have been demanded for a long while and would be helpful to all, and should really be on the roadmap for 5.6.

Not that there aren’t other upgrades I real want to see – like Vulcan, and definitely the GC upgrade, but I can do without one and work around the other to an extent.

Right now I’m on the fence about U2017, but leaning against. Mainly because I’m really just sick of upgrading unity and having all my 3rd party assets breaking (I just upgraded to 5.5 finally though, so the pain is fresh). I’m not sure what would change my mind, but not any of the features mentioned. When you think of it, there’s not a lot of tech features Unity could add that come to mind. Maybe a “click here to make you game” button, I dunno.

I kind of like the idea of Unity buying out some of the more popular Asset Store projects and officially integrating and supporting them and/or hiring their devs – if only so they’ll stay updated and compatible with new versions and other similarly integrated assets.

And director was planned for 5.X lifecicle, and now goes to 2017 or 2018, já…

Low level API for Runtime NavMesh building is available from 5.6.0b1, open-sourced components available here : https://github.com/Unity-Technologies/NavMeshComponents

I paid $1500 for Unity pro and basically you’re charging people an upgrade price of

$75 x 12 = $900 1 year
$125 x 12 2nd year

Pay nothing until April, 2017; at that time, 12 month commitment period starts at $75/month/seat
After first 12 months, option to renew for 12 more months at $125/month/seat =$2400

You are lucky, I paid 4500$ for ios and android.

I feel your pain…I did the same thing. What in Sam Hill is going on at Unity. Are they new at this or something? Not a great business model to piss off long term and faithful customers.

In order to release a small extra feature in a game for iOS and Android (and hopefully WinPhone) with AR 3d animated graphics I had the choice between coding native or go smart with Unity3d.
I purchased unity 4 (android + iOS) and shortly after unity 5 magically appeared. I paid for the update and for iOS and for Android. Then it turned out that the image tracker plugins would never work on all 3 platforms and I had to ditch using unity3d.
Bought a licence for Metaio iOS, made it work and then bought a license for Metaio Android and that worked too. A month later iOS required 64bit support and I had to upgrade Metaio to get that support. I did not need any new features, just 10% of the entire product framework.
Apple bought Metaio and ditched security updates for Android and support. Now I can’t submit even small updates for the game and the libraries can’t be patched for all the security flaws (used for validating the License, not for actual features).
In the end I paid > $15.000 for Unity3d and Metaio (android and iOS and generic). For these amount of money I would have expected to OWN the sourcecode so it could be fixed.
Now I am moving back to Unity3d just to discover that I probably have to go for a monthly fee just to be able to make a yearly security and feature update of our game.
This is not going to happen. I will have to re-write everything in latest/last Unity3d and then let it live for as long it can.
It’s really painful as a 1 man company to use Unity3d, Metaio and other frameworks. It’s probably a great product for medium/large game companies who use it EVERY DAY. Paying for a “seat” when I only have to use a fraction of the product maybe 14 days a year writing a few scripts and updating 1-2 animation models. This is crazy.
I fear that the awesome Unity3d will end up like Adobe. A huge set of expensive tools with features that only 5% need while people who just need to convert graphics in photoshop, export 3d models, export illustrator… Buying the huge package is something you do once when starting your company.
As a consultant I developed the code and published it. Suddenly the customer wanted THEIR name as publisher but then THEY had to pay for Unity3d android+ios & Metaio android + iOS & … So in the end we just ditched the awesome 3d AR part of the game.
This “seat” business model is not good for small companies or freelancers. Adobe “seat”, Unity3d “seat”, Microsoft office “seat”, Sketch, paintCode, Dropbox, Bitbucket, Jira … Neither of those are my primary development tool. Maybe using it 1 day a month.

Maybe pay a lifetime fee per released Project?

For now I look forward to put some hours into Unity 5.6 but after that It’s a dead end.

Теория и примеры использования света в Unity 2018

Выпуск Unity 2018.1 ознаменовал собой новую эру в создании визуальных эффектов в играх. По сути, разработчики Unity получили инструменты для создания красоты в своих играх. Среди всех нововведений новичку очень тяжело понять что зачем идет и как оно работает. Вы из таких? Знакомо? В этой статье вы узнаете про основы работы с освещением в Unity, поймете, что всё не так страшно и с этим можно и нужно работать. Ведь освещение сильно влияет на восприятие игры пользователями.

А в конце статьи вас ждут примеры того, что можно создать с помощью настроек освещения.

Основные понятия

Напомним себе, что такое свет в реальном мире, где таки действуют законы физики. Итак, мы видим предметы цветными, потому что часть света ими поглощается, а часть отражается. Тут всё понятно. При этом важно понимать, что свет падает не одним лучом, как часто рисуют в учебниках, а пучком света. Поэтому свет отражается в различных непредсказуемых направлениях, это зависит от свойств поверхности с которой они отражаются.

Realtime и Baked

Это типы освещения, они указывают когда происходит расчет освещений, отражений и тд.

Для тех, кто работает в Unity уже стало второй натурой понимать, что существуют расчеты в реальном времени и в “офлайне”. Собственно это и есть разница между этими двумя типами освещения. Realtime расчеты происходят во время работы и нагружают девайс. Baked же проходит до работы приложения и не влияет на производительность во время работы. У каждого из этих типов есть свои особенности применения, но понятно, что там где требуется экономия ресурсов следует обратить внимание на Baked, а там где можно этим пренебречь в пользу реалистичности – Realtime.

Baked часто использует статичные объекты, поэтому при работе с этим типом следует не забывать про выбор Static свойств объектов.

Глобальное освещение (GI)

Разберемся, что это и зачем это. На самом деле это набор техник и принципов, в основе которых лежит определенные математические расчеты. Этот набор инструментов призван создать эффект реального освещения в сценах, созданных в Unity. Речь идет именно о симуляции прямого и отраженного света. Именно с этими терминами познакомимся дальше.

Прямое освещение (Direct Illumination) создается светом, падающим на объект. Непрямое же освещение – это отраженный свет от всех освещенных объектов. Такой свет может влиять на объекты сцены, которые не попадают под прямое освещение. Именно подсчеты непрямого освещения тратят много ресурсов ПК. Однако именно это освещение добавляет атмосферности играм.

Окружающее освещение (Ambient Lighting или Environment Lighting)

Это освещение по сути представляет собой глобальное освещение которое идет со всех сторон. Этот стиль освещения можно использовать для создания определенного настроения сцены – например убрать слишком темные тени или немного подправить общий цвет. Еще одно применение этого освещения – задать яркость света в игре не меняя параметры отдельных источников света или интенсивность GI.

Важной особенностью использования Ambient Light есть то, что это достаточно простое по расчетам освещение, а значит его 100% имеет смысл использовать в разработке для мобильных устройств.

Еще один важный момент. В Unity 2018.2 (да и 2018.1 тоже) настройки этого освещения находятся тут: Lighting -> Scene -> Environment Lighting. По каким-то причинам на официальном сайте Unity все еще указана старая версия.

Итак, как и почему оно работает? Для начала, нужно понимать что есть так называемый “источник” окружающего света. И он может быть в 3 вариантах.

По умолчанию установлен Skybox. Очень коротко про скайбоксы – это текстура, которая прорисована за всеми объектами сцены и чаще всего представляет собой небо, хотя есть варианты. Больше можно почитать на официальном сайте Unity. Итак, в таких настройках свет исходит от скайбокса. Все что видимо влияет на сцену – это бегунок Intensity Multiplier. Он и задает яркость всего освещения сцены. При этом скайбокс не меняется – его интенсивность, цвет, картинка – все остается таким как было. Пример на картинке:

Стандартные настройки освещения (слева). Интенсивность выставлена на 2 (справа). Как вы можете заметить горизонт не изменился. Использовался стандартный скайбокс и стандартные материалы.

Следующий вариант настроек – градиент. Тут вы можете выбрать цвет неба, цвет горизонта и цвет земли. Все эти цвета потом будут смешаны.

Пример использования градиента. Видно, как выбранные цвета отображаются на сцене.

Последний вариант довольно очевидный – это выбор цвета, которым будет подкрашена вся сцена. Важно отметить, что в последних двух рассмотренных вариантах интенсивность тоже можно настраивать, но бегунок интенсивности находится в окне выбора цвета. Зная про такой инструмент, как Environment Lighting можно внести разнообразие в разные локации и при этом это не потребует высокой производительности целевых устройств.

Отражения (Reflections)

Важно понимать, что свет по разному отражается от поверхностей. Это зависит от материала и его свойств. В стандартном шейдере есть две важные настройки – это Metallic (то насколько “металлическим” кажется материал – чем больше значение, тем больше) и Smoothness (насколько шероховатая поверхность материала). Эти настройки не влияют на 3d модель, а просто задают параметры того как этот объект должен реагировать на освещение. Работа с материалами и Standard Shader заслуживает еще одной статьи, а сейчас мы обсудим то, что касается работы с освещением и отражением света.

Материал с свойством Metallic выставленным на 1 (это максимум) будет “отражать” свет. Понятно, что второй бегунок – Smoothness также на это влияет. Чем более гладкий материал тем проще ему отражать лучи. Вспомните зеркало. Именно эти физические свойства оказывают максимальное влияние на то, как объект будет представлен при освещении.

Отражения в юнити обрабатываются Reflection Probes. Это “зонды” которые указывают что и как должно отражаться на наших супер-гладких, супер-металлических поверхностях. Каждый такой зонд работает внутри параллелепипеда и является точкой на которую ориентируются расчеты отражений.

По умолчанию в сцене юнити есть один такой зонд. Он отражает скайбокс. Поэтому если вы делаете сцену в помещении и вам нужно сделать отражение, то недостаточно будет выкрутить бегунки материалов на максимум. Просто получите отражение неба в полностью закрытом помещении, что согласитесь, абсолютно не реалистично. Вот это и есть работа того самого дефолтного зонда. Чинится это просто – добавлением своего зонда: GameObject>Light>Reflection Probe.

Пример сцены “в помещении” на сферу повешен отражающий материал. Слева – результат без добавления зонда, справа – после добавления. Видно, что в первом случае сфера не реагирует на окружающие ее элементы, а справа они отражаются.

Одно важно замечание, вот эти Reflection Probes могут стоить много в вопросах производительности. По умолчанию, в настройках зонда стоит тип Baked. Если поставить на Realtime, то придется ориентироваться на высокую производительность. И чтобы ваши объекты могли участвовать в отражении они должны быть помечены Reflection Probe Static. Выставляется в инспекторе в менюшке Static.


Помимо рассмотренных методов освещения, есть еще свойство материалов к излучению света. Это Emissive materials. От стандартных они отличаются тем, что в них поставлена галочка напротив Emission. Там же можно выбрать цвет излучения.

Эти материалы будут излучать свет, который плавно затухает. У них нет настроек дальности освещения. Излучающие материалы вносят свой вклад в освещение сцены только если они обозначены Lightmap static. Воспринимать такой свет тоже должны статические объекты.

Использована та же сцена что и в предыдущем примере, однако добавлен Plane с излучающим материалом. Окружающее освещение выставлено немного ниже по интенсивности. Видно, что за шариком появилась тень, а стенки окрашены в красный от излучающей плоскости. Плоскости назначено Lightmap Static.


В сцене убран скайбокс как источник света. Environment light – Color. Выбран неинтересный серый цвет. По центру – шар с излучающим материалом, а вокруг статические объекты с материалом, где настройки Metallic и Smoothness выставлены на 0.5. Также убран из сцены Directional light.

Наоборот включен скайбокс и Directional light, однако окружающее освещение выставлено на градиент. Ни одна из сфер не обозначена Static. Материалы на сферах выставлены по умолчанию.


Умение работать с инструментами отличает хорошего разработчика. Понимание того, какие инструменты есть и когда их лучше всего использовать добавляет профессионализма.

В этой статье была рассмотрена часть таких инструментов, как они работают и указано какие из них влияют на производительность. С помощью рассмотренных материалов – таких как ambient light или reflections можно создавать сцену для мобильных устройств, либо добавлять атмосферности игре.

Рассмотренные механизмы можно использовать самостоятельно, либо в добавку к источникам освещения. Источники освещения в Unity требуют отдельной статьи, они являются простым способом добавить изюминку в игру, но каждый источник света может добавлять нагрузку на устройство. Всегда приходится помнить, что есть целевые платформы и на них нужно ориентироваться в выборе инструментов.


Ссылка на основную публикацию