HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: unity, ресурсы, шаблонные экземпляры</p>
1 <p>Теги: unity, ресурсы, шаблонные экземпляры</p>
2 <p>Ресурсами в Unity называют расположенные на диске сущности, из которых и состоит игровой проект. В частности, к ресурсам относят сети (модели), звуки, спрайты, текстуры и пр.</p>
2 <p>Ресурсами в Unity называют расположенные на диске сущности, из которых и состоит игровой проект. В частности, к ресурсам относят сети (модели), звуки, спрайты, текстуры и пр.</p>
3 <p>Когда<a>сцены</a>, создаваемые разработчиком, сериализуются на диск, система представляет их в качестве ресурсов, которые, в свою очередь, состоят из<a>игровых объектов</a>.</p>
3 <p>Когда<a>сцены</a>, создаваемые разработчиком, сериализуются на диск, система представляет их в качестве ресурсов, которые, в свою очередь, состоят из<a>игровых объектов</a>.</p>
4 <p>Кстати, если игровые объекты часто переиспользуются, их можно превратить в ресурс, называемый "шаблонным экземпляром" (<strong>prefab</strong>), но об этом чуть ниже. Кроме того, ресурсы могут представлять собой менее "осязаемые" объекты, допустим, те же карты контроля ввода, настройки графики, строковые БД для интернационализации и так далее. Еще разработчик может создавать свои типы ресурсов, используя<strong>ScriptableObjects</strong>.<a>Вот</a>, к примеру, соответствующая статья на эту тему.</p>
4 <p>Кстати, если игровые объекты часто переиспользуются, их можно превратить в ресурс, называемый "шаблонным экземпляром" (<strong>prefab</strong>), но об этом чуть ниже. Кроме того, ресурсы могут представлять собой менее "осязаемые" объекты, допустим, те же карты контроля ввода, настройки графики, строковые БД для интернационализации и так далее. Еще разработчик может создавать свои типы ресурсов, используя<strong>ScriptableObjects</strong>.<a>Вот</a>, к примеру, соответствующая статья на эту тему.</p>
5 <p>В чем важность ресурсов? Дело в том, что когда проект находится в разработке, ресурсы являются<strong>ключевой информационной составляющей кодовой базы</strong>, вместе с кодом как таковым. Что касается готового пакета с игрой, то в нем содержится большая часть ваших ресурсов. И эти ресурсы будут сохранены на диске того устройства, на которое инсталлирована игра.</p>
5 <p>В чем важность ресурсов? Дело в том, что когда проект находится в разработке, ресурсы являются<strong>ключевой информационной составляющей кодовой базы</strong>, вместе с кодом как таковым. Что касается готового пакета с игрой, то в нем содержится большая часть ваших ресурсов. И эти ресурсы будут сохранены на диске того устройства, на которое инсталлирована игра.</p>
6 <h2>Шаблонные экземпляры</h2>
6 <h2>Шаблонные экземпляры</h2>
7 <p>Как известно, игровые объекты, параметры ввода и<a>компоненты</a>игровых объектов существуют в сцене в качестве отдельных экземпляров. Однако бывают ситуации, когда объекты определенного класса постоянно повторяются. В таком случае<strong>объекты можно оформить в качестве шаблонов</strong>, причем каждый их этих шаблонов будет, по факту, являться объектом в виде ресурса.</p>
7 <p>Как известно, игровые объекты, параметры ввода и<a>компоненты</a>игровых объектов существуют в сцене в качестве отдельных экземпляров. Однако бывают ситуации, когда объекты определенного класса постоянно повторяются. В таком случае<strong>объекты можно оформить в качестве шаблонов</strong>, причем каждый их этих шаблонов будет, по факту, являться объектом в виде ресурса.</p>
8 <p>Шаблоны экземпляров в сцене можно локально модифицировать - это позволит вам их различать. К примеру, если у нас есть объект<em>дерево</em>, выполненный в виде шаблона, то мы сможем создавать экземпляры деревьев различной высоты. Таким образом, все экземпляры, которые будут выполнены по одному шаблону, станут наследовать от него соответствующие данные и переопределять их.</p>
8 <p>Шаблоны экземпляров в сцене можно локально модифицировать - это позволит вам их различать. К примеру, если у нас есть объект<em>дерево</em>, выполненный в виде шаблона, то мы сможем создавать экземпляры деревьев различной высоты. Таким образом, все экземпляры, которые будут выполнены по одному шаблону, станут наследовать от него соответствующие данные и переопределять их.</p>
9 <h4>Вложенные шаблоны</h4>
9 <h4>Вложенные шаблоны</h4>
10 <p>Уже, начиная с Unity 2018.3, появилась поддержка вложенных шаблонов. Основные концепции следующие:</p>
10 <p>Уже, начиная с Unity 2018.3, появилась поддержка вложенных шаблонов. Основные концепции следующие:</p>
11 <ol><li>Родительский объект с дочерними объектами, которые представлены в качестве шаблонов, можно представить тоже в виде шаблона. При этом внутри родительского шаблона у дочернего шаблона допускается наличие собственных модификаций. Кроме того, в сцене инстанцируется сразу вся шаблонная иерархия, и поверх нее тоже можно надстраивать модификации, которые специфичны для конкретной сцены.</li>
11 <ol><li>Родительский объект с дочерними объектами, которые представлены в качестве шаблонов, можно представить тоже в виде шаблона. При этом внутри родительского шаблона у дочернего шаблона допускается наличие собственных модификаций. Кроме того, в сцене инстанцируется сразу вся шаблонная иерархия, и поверх нее тоже можно надстраивать модификации, которые специфичны для конкретной сцены.</li>
12 <li>Шаблонный экземпляр, который находится в сцене и снабжен своими локальными модификациями, можно сохранить в качестве самостоятельного ресурса "Prefab Variant". Данный вариант - это шаблонный ресурс, который наследует от другого шаблона, причем поверх него задействованы дополнительные модификации.</li>
12 <li>Шаблонный экземпляр, который находится в сцене и снабжен своими локальными модификациями, можно сохранить в качестве самостоятельного ресурса "Prefab Variant". Данный вариант - это шаблонный ресурс, который наследует от другого шаблона, причем поверх него задействованы дополнительные модификации.</li>
13 </ol><p>Вышеописанные концепции можно, кстати, компоновать: в частности, возможен шаблонный вариант вложенного шаблона либо даже шаблонный вариант шаблонного варианта.</p>
13 </ol><p>Вышеописанные концепции можно, кстати, компоновать: в частности, возможен шаблонный вариант вложенного шаблона либо даже шаблонный вариант шаблонного варианта.</p>
14 <p><em>По материалам статьи "<a>Basic Concepts in Unity for Software Engineers</a>".</em></p>
14 <p><em>По материалам статьи "<a>Basic Concepts in Unity for Software Engineers</a>".</em></p>
15  
15