Войти
Unity

Unity

Создание игр на движке Unity

СтатьиФорумИнфо

Статьи

Создание веревки в Unity на базовых SpringJoint.
Создание веревки в Unity на базовых SpringJoint.

В этой статье я расскажу к какому способу создания веревок (тросов, цепей) я смог прийти в ходе разработки игры для конкурса Платформеров на GameDev.ru. Пример будет разобран на 2Д проекте, но думаю нет никаких сложностей адаптировать его для 3Д проекта.

Читать
24 дек 2021

Контент-ориентированная генерация уровня в Unity в конкурсе «Храм Хаоса»
Контент-ориентированная генерация уровня в Unity в конкурсе «Храм Хаоса»

Я, как и обещал, делюсь своими идеями насчет процедурной генерации уровней. Все то, что я опишу далее, ни в коем разе не претендует на истину, новаторство и, тем более, на что-то амбициозно-гениальное. Все это родилось лишь из непонимания общепринятых принципов современной процедурщины и математики, а также жгучего желания облегчить себе жизнь.

Читать | Комментарии [8]
15 мая 2020

Unity Character Motor
Unity Character Motor

Когда-то давно, еще во времена Unity 3, мне стало интересно как работает физика персонажа. И я заглянул в класс CharacterMotor. Класс был написан на JavaScript, был огромный, страшный и непонятный. Я решил переписать его на C#, попутно отрефакторив. Недавно я вспомнил про свой старый CharacterMotor, решил еще немного подправить его и поделиться им. Тем более, тема физики персонажа не очень популярная (я вообще не видел никакой информации), хотя довольно интересная.

Читать | Комментарии [61]
29 июня 2016

Реализуем multi-touch жесты самостоятельно
Реализуем multi-touch жесты самостоятельно

В этой статье будет рассмотрена реализация pan (перемещения) и pinch zoom (масштабирования двумя пальцами) изображения. В результате получится некий аналог приложения для просмотра фотографий.

Читать | Комментарии [2]
20 окт 2012

Блог

Unity приобрела Ziva Dynamics

Компания Unity пополнила свои покупки компанией Ziva Dynamics – лидером в симуляции компьютерных персонажей. В линейку приобретений компании уже входят Weta Digital, SpeedTree, SyncSketch, Pixyz, and RestAR.
Подробнее…

Ссылка | Комментарии [46]
25 янв 2022

Unity приобрела создателя SpeedTree

Компания Unity приобрела компанию Interactive Data Visualization (IDV) — разработчика пакета SpeedTree. SpeedTree — инструмент моделирования растительности для игр и компьютерных симуляций.

Трехмерное моделирование вручную и с нуля растительности, такой как трава и деревья, достаточно сложное и трудоемкое занятие. Однако SpeedTree через автоматизацию позволяет ускорить и облегчить этот процесс. Инструмент SpeedTree достаточно популярен и занимает лидирующие позиции на рынке. SpeedTree использовался для моделирования растительности в таких проектах, как Horizon: Zero Dawn, Call of Duty: War Zone, The Witcher 3, Assassin’s Creed: Valhalla, Hitman III, and Ghost of Tsushima.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Ссылка | Комментарии [1]
22 июля 2021

На Stackoverflow добавлена community-документация

На Stackoverflow в рамках проекта Documentation создан раздел для Unity.
Это позволяет пользоваться документацией к Unity, созданной сообществом.

У такой документации есть преимущества:

  • Любую недоработку в документации может исправить кто угодно.
  • В любой момент можно добавить недостающую информацию.
  • Карма, полученная в рамках этого проекта, идёт в общую карму stackoverflow.

Есть и недостатки:

  • Данный ресурс не является официальным источником информации.
  • Поиск нужного раздела может быть затруднён, так как проект страдает от последствий унификации интерфейса с основным сайтом stackoverflow.

Запросы на добавление недостающей документации можно добавлять через кнопку "Request Topic".
Также можно голосовать за добавление недостающих разделов на главной странице тега Unity.

Ссылка
24 июля 2016

В Unity 5.4 будет прекращена поддержка WebPlayer

Согласно Unity 5.4.0b1 release notes и Роадмап Unity Web Player, в Unity 5.4, выпуск которого запланирован на март 2016 года, будет прекращена поддержка платформы WebPlayer.

Официальный блог Unity3D рекомендует переводить игры, использовавшие WebPlayer, на платформу WebGL.
Тем не менее, сами Unity признают, что WebGL всё ещё накладывает серьёзные ограничения на некоторые игры, изначально создаваемые для WebPlayer.

Чтобы помочь разработчикам сориентироваться в новой технологии WebGL, на форуме Unity была создана специальная тема WebGL Roadmap, которая помогает понять, какие ограничения есть у WebGL и как их можно обойти. Тема была создана полгода назад, поэтому рекомендуется следить за Unity roadmap и официальным блогом, чтобы быть в курсе изменений платформы WebGL.

Ссылка | Комментарии [10]
14 янв 2016

Редактор Unity появится на Linux

Unity Technologies планируют портировать редактор Unity на Linux.
Он обязательно будет поддерживать Ubuntu версии не менее 12.04 и будет настолько же функциональным, как и его версии для Mac OS и Windows, кроме сборки игр под iOS.
В данный момент редактор существует в виде отдельной экспериментальной ветки внутри компании. Unity Technologies планируют в скором времени собрать экспериментальную сборку редактора и представить её публике.

Ссылка | Комментарии [9]
12 июля 2015

Видеоуроки по программированию на C# Unity для начинающих

Программирование на C# под Unity.
Смотрим на Ютубе.

Ссылка | Комментарии [2]
29 июня 2015

Вышел Unity 4.6

Сегодня вышла новая версия Unity 4.6. Главным нововведением в этой версии стала новая система создания пользовательского интерфейса, которая позволяет легко настраивать интерфейс игры в редакторе.
Подробнее…

Ссылка
27 ноя 2014

Открытая бета Unity 4.6 доступна для скачивания
Unity4.6 Open Beta | Открытая бета Unity 4.6 доступна для скачивания

Стала доступной открытая бета-версия Unity 4.6: http://unity3d.com/unity/beta/4.6
Главное новшество в ней - новая система UI, которая наконец-таки соответствует современным стандартам.

Приятным бонусом также является исходный код встроенных в Unity шейдеров, который можно скачать на той же странице. Это является следствием инициативы Unity по открытию исхдных кодов своих компонентов: http://blogs.unity3d.com/2014/08/20/more-open-source-initiatives-from-unity/

Ссылка | Комментарии [9]
21 авг 2014

Форум

Нужна помощь.3 окт 202310:1016up

Игру пригласили в Google Play Pass, для этого прислали инструкции по интеграции лицензии (чтоб если у тебя установлена игра и не проплачен PP ты не мог ее открыть), я все интегрировал (вроде верно, гугл тоже сказал все норм), загружаю в маркет, а она, после установки с маркета крашится при запуске, делаю ТАКУЮ ЖЕ сборку APK, запускаю, все окей, работает норм.
Есть лог краша https://pastebin.com/RX5EgXLW
Напишите в телеге пожалуйста, если нужны подробности
https://t.me/Y1P6V

Правка: 10:14

Исходники игр на Unity30 сен 202321:23IGamedevStudio

Игры на исходники которых стоит обратить внимание по тем или иным причинам.
Интересно, много ли их вообще ?

Помогите исправить ошибку зависания персонажа с ухода с платформы24 сен 202315:11Rus998

Здравствуйте, я написал код вот такой:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(CharacterController))]
public class RelativeMovement : MonoBehaviour
{
   
    [SerializeField] private Transform target;
    public float moveSpeed = 6.0f;
    private CharacterController _charController;
    public float rotSpeed = 15.0f;

    public float jumpSpeed = 15.0f;
    public float gravity = -9.0f;
    public float terminalVelocity = -10.0f;
    public float minFall = -1.5f;

    private float _vertSpeed;

    private ControllerColliderHit _contact;
    void Start()
    {
        _vertSpeed = minFall;
        _charController = GetComponent<CharacterController>(); 
    }

    // Update is called once per frame
    void Update()
    {
       

        Vector3 movement = Vector3.zero;
        float horInput = Input.GetAxis("Horizontal");
        float vertInput= Input.GetAxis("Vertical");
        if(horInput != 0|| vertInput != 0)
        {
            movement.x = horInput*moveSpeed;
            movement.z = vertInput*moveSpeed;
            movement = Vector3.ClampMagnitude(movement, moveSpeed);
           
            Quaternion tmp = target.rotation;
            target.eulerAngles = new Vector3(0, target.eulerAngles.y,0);
            movement = target.TransformDirection(movement);
            target.rotation = tmp;

            Quaternion direction = Quaternion.LookRotation(movement);
            transform.rotation = Quaternion.Lerp(transform.rotation, direction, rotSpeed*Time.deltaTime);

        }
        bool hitGround = false;
        RaycastHit hit;
        if (_vertSpeed < 0 && Physics.Raycast(transform.position, Vector3.down, out hit))
        {
            float check = (_charController.height + _charController.radius) / 1.9f;
            hitGround = hit.distance <= check;
        }


        if (hitGround)
        {
            if (Input.GetButtonDown("Jump"))
            {
                _vertSpeed = jumpSpeed;
            }
            else
            {
                _vertSpeed = minFall;
            }
        }
        else
        {
            _vertSpeed += gravity * 5 * Time.deltaTime;
            if (_vertSpeed < terminalVelocity)
            {
                _vertSpeed = terminalVelocity;
            }


            if (_charController.isGrounded)
            {
                 
                if (Vector3.Dot(movement, _contact.normal) < 0)
                {

                    movement = _contact.normal * moveSpeed;
                }
                else
                {
                    movement += _contact.normal * moveSpeed;

                }
             
            }
        }

        movement.y = _vertSpeed;
        movement *= Time.deltaTime;
        _charController.Move(movement);
    }

    void OnControllerCollliderHit(ControllerColliderHit hit)
    {
        _contact = hit;
    }
   
}
Все хорошо, C# ошибки не выдает и юнити вроде принял,но стоит персонажу попытаться сойти с платформы, он зависает а консоль выдает такую ошибку:

NullReferenceException: Object reference not set to an instance of an object
RelativeMovement.Update () (at Assets/scripte/RelativeMovement.cs:83)

Я понимаю что ошибка находиться вот в этом фрагменте:

if (Vector3.Dot(movement, _contact.normal) < 0)

А если точнее то в переменной  _contact.normal. Но я не знаю как это исправить. Понимаю что накосячил где-то или строчку не ввел,но не могу понять что за строчка и что вообще тут надо написать

Фреймворки для UI, и ваши отзывы на них22 сен 202321:09IGamedevStudio

Есть вообще такие ассеты, которые скачал и забыл про UI ?

Сам делать не хочу, был плохой опыт.

Правка: 25 сен 2023 16:09

iOS Hot Patch19 сен 20237:32slav_dev

Вопрос к знатокам, в некоторых играх в app store игры самообновляются минуя магазин приложений, т.е. есть своего рода launcher который динамические подгружает скрипты/ресурсы и после запускает игру, возможно ли такое с Unity реализовать ? и как вообще решается такая проблема ?

Как сделать переключение между интерфейсами?13 сен 202320:51Entvess

Делаю кликер на unity, и для каждого окна (основной экран, пауза, магазин и тд) использую отдельный канвас, и хочу сделать возможность переключения между этими окнами (т.е. мне надо чтобы код определял активный канвас, выключал его и включал другой по нажатию кнопки). Можете подсказать, что делать?

Как корректно сохранить сгенерированную нормалку?12 сен 20230:51pyro

Проблема: комбинирую в шейдреграфе нормалки, в самом графе всё работает на ура.
Но если результат сохраняю в текстуру, получается что-то не то.
Сохранённую текстуру самплю уже как дефаулт, так что дело не в этом.
Буду рад любой подсказке.

Правка: 0:52

Unity Ads7 сен 202317:34Alex-Rod

Коллеги, привет, в этом большой навичок, но может быть кто сталкивался, сделал игру для Google Play, установил туда Unity Ads, настроил рекламу, пробовал в закрытом тестировании проверить, реклама отрабатывает, но самой рекламы я не вижу, на весь экран идет реклама "Unity Ads" - может кто подскажет актуальные видео по настройке этого добра, прям по шагам, так же буду благодарен если еще скинете видео по настройке внутриигровых покупок, пока не понимаю даже где искать.

SpeedTree и Terrain3 сен 202322:58Ascanio

Здравствуйте! Сделал немножко травы с анимацией ветра в спидтри, но добавить ее в TerrainDetails я не могу, потому что на ней есть лоды. Лоды для экспорта в быстромдереве как я понял убрать не возможно, 1 лод всегда остается. Можно засунуть эти лоды в PaintTrees но в нем нет функции привязки к земле и на склонах такой переход сразу бросается в глаза. Сам префаб тоже никак не редактируется(его настройки просто заблокированы), можно только достать этот самый лод, запихнуть в TerrainDetails, но у него уже не будет анимации ветра. Может есть какой-то способ избавиться от дефолтого лода спидтрии или может есть другой инструмент для рисования травой?

Проблема с туманом под webgl билд.30 авг 20239:35SaintRQ

Всем привет.
При билде под web вылазят такие гличи с туманом(со светом).

+ Показать

Unity 2022.3.8
Туман - gamma, exponential.
Свет - все динамика.
Без тумана проблем нет.
Менял настройки качества для билда - результат 0.
В сцене используются 3 камеры - (depth -1 - только небо(depth only), 1 - все кроме некоторыx партиклов(depth only), 2 - партиклы(depth only)).
В индексе "config['webglContextAttributes'] = {"preserveDrawingBuffer": true};" прописал.

Кто нибудь может подсказать, в чем может быть проблема?