Воскресенье, 24 Ноября 2024, 19:58

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
LertmindДата: Вторник, 17 Мая 2016, 17:42 | Сообщение # 301 | Тема: Diforb - бесплатный конструктор для создания звуков
заслуженный участник
Сейчас нет на сайте
Gamingearz, после выключения/включения (mute) звуки начинают проигрываться чаще, а если несколько раз выкл/вкл, то вообще захлёбывается.
LertmindДата: Понедельник, 16 Мая 2016, 20:02 | Сообщение # 302 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Sanprabhu, нельзя, если под твёрдым ты понимаешь с Rigidbody. Запомни, если у объекта только Collider и нет Rigidbody, то его нельзя двигать, он считается Static и физической системе приходится делать сложные пересчёты. Когда будет срабатывать сообщения с Trigger смотри таблицу внизу http://docs.unity3d.com/Manual/CollidersOverview.html.

Добавлено (16 мая 2016, 20:02)
---------------------------------------------
Laush, в документации http://docs.unity3d.com/ScriptReference/Application-absoluteURL.html на JS есть пример, который как раз проверяет на "пиратство", но если ты хочешь только проверку на домен, есть класс Uri. Как узнать доменное имя до 2-ого уровня я не нашёл, но Host возвращает полное доменное имя и можно сравнить окончание строки с помощью String.EndsWith:
Код
using System;

class Program
{
    static void Main()
    {
        string[] urls = new string[]{
            "https://gcup.ru",
            "http://game.gcup.ru",
            "http://gcup.ru/igra",
            "http://ru.gcup.ru/games",
            "http://gcup.ru/ru/games/index.html",
            "http://gcup.com",
            "http://fakegcup.ru"
        };
        
        foreach (var url in urls)
        {
            var u = new Uri(url);
            string host = u.Host;
            if (host == "gcup.ru" || host.EndsWith(".gcup.ru"))
            {
                Console.WriteLine("OK    : " + u.Host);
            }
            else
            {
                Console.WriteLine("Failed: " + u.Host);
            }
        }
    }
}

Выводит:
Код
OK    : gcup.ru                    
OK    : game.gcup.ru                    
OK    : gcup.ru                    
OK    : ru.gcup.ru                    
OK    : gcup.ru                    
Failed: gcup.com                    
Failed: fakegcup.ru

UPD: сначала не учёл доменное имя с окончанием на gcup.ru.


Сообщение отредактировал Lertmind - Понедельник, 16 Мая 2016, 20:34
LertmindДата: Понедельник, 16 Мая 2016, 04:34 | Сообщение # 303 | Тема: [3D] - ZEX - [Logic/Arcade]
заслуженный участник
Сейчас нет на сайте
Недостатки/ошибки:
* Смещение камеры неудобное, движение игрока вниз происходит вслепую.
* Нет кнопки отключения звука, это как минимум жрёт ресурсы.
* Надпись Pause на кнопке излишня, и так все знаю что значит две полоски (хе-хе).
* Полоски с FR и ZP высокие и поэтому занимают много места.
* Уровни однообразные.
* После смерти или перехода на следующий уровень, точки обозначающие загрузку крутятся в нижней части экрана.
* Нажатие MAIN MENU или REPLAY из PAUSE MENU вешает игру.
* В меню проигрыша примерно 5 ошибок в орфографии, а на экране завершения игры - 3. Пусть кто-нибудь проверит ваш английский.
LertmindДата: Понедельник, 16 Мая 2016, 01:17 | Сообщение # 304 | Тема: Помогите плиз!!! Не компилирует Game maker под Android!
заслуженный участник
Сейчас нет на сайте
Возможно эта проблема http://stackoverflow.com/questio....rgument. Пишут, что надо не использовать build tools версии 24.0. То есть тебе надо зайти в SDK Manager и удалить Android SDK Build-tools версии 24 и поставить 23.0.3 (последняя не preview версия), скорее всего придётся также поставить Android SDK Platform-tools 23.1 и удалить версии 24.
LertmindДата: Воскресенье, 15 Мая 2016, 22:21 | Сообщение # 305 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
kot_11_22_, очевидно, что надо использовать алгоритмы поиска пути. Для 3D в Unity из коробки идёт Navigation Mesh, про использование его в 2D есть такой туториал https://www.youtube.com/watch?v=f6TVEvigbd0. Есть всякие ассеты и дополнения с поиском пути, выбор которых зависит от того, какой у тебя мир в игре и как должен двигаться AI.

Добавлено (15 мая 2016, 22:21)
---------------------------------------------
Alfe, прокатит только если препятствия имеют выпуклую форму и не стоят близко между собой, иначе бот застрянет.

Сообщение отредактировал Lertmind - Воскресенье, 15 Мая 2016, 22:19
LertmindДата: Воскресенье, 15 Мая 2016, 20:47 | Сообщение # 306 | Тема: Как изменять Mesh модели?
заслуженный участник
Сейчас нет на сайте
Тебе нужен Rendering Mode -> Fade. Лучше добавить ещё всяких частиц, чтобы не было видно явного перехода.

Добавлено (15 мая 2016, 20:47)
---------------------------------------------
Кстати, с трансформерами сравнение немного некорректное, они раскладываются. Например, в игре https://youtu.be/CXmI-JdKTQU?t=486 похоже реализовано через простое раскладывание.

LertmindДата: Воскресенье, 15 Мая 2016, 20:23 | Сообщение # 307 | Тема: Как изменять Mesh модели?
заслуженный участник
Сейчас нет на сайте
Вообще, анимация через изменения положения отдельных вершин, называется Morph Animation или Blend Shape, в Unity такое поддерживается через Skinned Mesh Renderer и предполагается в первую очередь для анимации персонажей. Это реализуется непросто и тема сложная.
Если переход между совсем разными моделями, то будет сложно сделать в 3D-редакторе, тем более импортировать в Unity. У моделей разные материалы, а значит он не может быть единым целым во время трансформации.
pushka_, у тебя ссылки на так называемый Dissolve Shader, там нет прозрачности, там походу времени область становится из непрозрачной в прозрачную резко, никаких градацией. Хороший пак шейдеров на эту тему http://kylehalladay.com/all/graphics/2013/09/22/Dissolve-Shaders.html и объяснение работы http://kylehalladay.com/blog....ct.html.
Blus, стандартный шейдер поддерживает прозрачность, для простого эффекта тебе надо одну модель уводить в прозрачность, а другую делать видимой, можно с помощью кривых в окне Animation из Unity.


Сообщение отредактировал Lertmind - Воскресенье, 15 Мая 2016, 20:24
LertmindДата: Воскресенье, 15 Мая 2016, 19:54 | Сообщение # 308 | Тема: У персонажа слабая гравитация
заслуженный участник
Сейчас нет на сайте
Blus, всегда пожалуйста.
squire, кстати, заметил у тебя Scale 30, почитай опять же документацию, я не точно понял, но главное, что от размеров объекта зависит обработка физики, то есть большой объект должен вести себя как большой, причём правильный Scale ты должен ставить при импорте.
LertmindДата: Воскресенье, 15 Мая 2016, 19:46 | Сообщение # 309 | Тема: У персонажа слабая гравитация
заслуженный участник
Сейчас нет на сайте
Blus, плохо читаешь документацию:
Установка Mass одного твёрдого тела больше массы другого твёрдого тела не подразумевает того, что при свободном падении оно будет падать быстрее. Используйте для этого Drag.
squire, в Unity можно замедлить падение с помощью Drag, оно создаёт сопротивление, но чтобы быстрее падал скорее всего только через приложение силы сверху. Такой вопрос уже был на форуме и я на него отвечал.

Добавлено (15 мая 2016, 19:46)
---------------------------------------------
В документации ещё такой совет:
Маленькое значение Drag заставляет объект казаться тяжёлым, а большое лёгким. Типичные значения для Drag находятся между .001 (твёрдый блок или метал) и 10 (пёрышко).

LertmindДата: Воскресенье, 15 Мая 2016, 03:24 | Сообщение # 310 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Sanprabhu, у GameObject есть переменная tag и метод CompareTag для сравнения, это также есть у Component и всех его наследниках, то есть у Transform, Collider и других.
Чтобы сделать как у тебя, сначала надо получить объекты с этими тегами либо через GameObject.FindWithTag или GameObject.FindGameObjectsWithTag, либо сделав проверку:
Код
if (go1.tag == "игрок" && go2.tag == "враг")
Очевидно, в последнем случае предполагается какой-то перебор объектов.
Потом уже сравнивать:
Код
if (go1.transform.position == go2.transform.position)
Вообще, числа с плавающей точкой как и векторы нельзя так сравнивать, если только ты не присвоил точно такое же значение. Лучше сравнивать так:
Код
if (Vector3.Distance(go1.transform.position, go2.transform.position) < 0.001f)
Где 0.001f - расстояние между объектами, при котором считается равенство позиций.
Или так:
Код
if ((go1.transform.position - go2.transform.position).sqrMagnitude < 0.001f*0.001f)
Должно быть немного быстрее, за счёт избежания извлечения квадратного корня, собственно такой пример есть в документации.


Сообщение отредактировал Lertmind - Воскресенье, 15 Мая 2016, 03:28
LertmindДата: Суббота, 14 Мая 2016, 20:50 | Сообщение # 311 | Тема: Перемещение вертексов.
заслуженный участник
Сейчас нет на сайте
JessyStorm, посмотрел Mesh, похоже надо ещё RecalculateNormals() вызывать, а судя по описанию, самому tangets обновлять, если необходимо.
LertmindДата: Суббота, 14 Мая 2016, 16:39 | Сообщение # 312 | Тема: Перемещение вертексов.
заслуженный участник
Сейчас нет на сайте
MANMANA, скрипт работает правильно, насколько я пробовал опускать сферу на plane и цилиндр на plane и сферу одновременно. Конечно, надо снимать коллайдер с объекта на котором скрипт, чтобы не попадать на себя. Z-fighting тоже предсказуем. В чём кривость-то?
LertmindДата: Пятница, 13 Мая 2016, 22:55 | Сообщение # 313 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
beril, WaitForEndOfFrame не нужен там тоже, я не это имел в виду под кадром, а один update. Страницей ранее у него было поле с квадратами и я так понял, что он хочет сразу вставить объект в свободное место, поэтому он смещает ровно на клетку объект и делает Raycast.
LertmindДата: Пятница, 13 Мая 2016, 21:03 | Сообщение # 314 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
beril, в данном случае, ему надо в одном кадре проверить, а не размазывать по кадрам.
Если говорить про циклы, бывает, что циклы ограничивают количеством итераций, но только при определённых условиях. Полагаю, у него можно было обойтись структурой данных, типа двумерного массива, тогда придётся написать дополнительный код с синхронизацией и т. п., но зато проверять будет проще и быстрее.
LertmindДата: Пятница, 13 Мая 2016, 00:02 | Сообщение # 315 | Тема: TDS - особенности геймплея
заслуженный участник
Сейчас нет на сайте
Цитата Потенциал ()
полоска жизней
Вокруг персонажа круговая полоска жизни с градацией цвета в зависимости от количества здоровья, как у Neon Chrome. Там также процесс перезарядки и количество патронов отображается у прицела. Не играл, но по видео удобно выглядит, хотя не везде подойдёт. Как говорили выше зависит сильно от сеттинга.
LertmindДата: Четверг, 12 Мая 2016, 20:27 | Сообщение # 316 | Тема: Где достать PhysX SDK ?
заслуженный участник
Сейчас нет на сайте
Alfe, качать там, только PhysX SDK это не LAB и APEX, возможность загрузки PhysX SDK появляется после регистрации и нескольких действий.
AlexsSyr, не знаю актуально ли, вот инструкция по регистрации http://physxinfo.com/news....nd-apex, возможно у тебя ещё не утверждённый аккаунт.
LertmindДата: Четверг, 12 Мая 2016, 09:30 | Сообщение # 317 | Тема: Вопрос-[ответ] по Unity
заслуженный участник
Сейчас нет на сайте
Sanprabhu, проверил в Unity, как и думал в этом коде нет проблемы, скорее всего где-то что-то ещё происходит.
Замечу, что код для IsEmpty() эквивалентен этому:
Код
bool IsEmpty()
{
    return !Physics.Raycast(transform.position, transform.up, 0.3f);
}

Добавлено (12 мая 2016, 09:30)
---------------------------------------------
Виснуть может, если дочерний объект висит у объекта с этим скриптом, тогда при смещении всё равно срабатывает проверка.

LertmindДата: Среда, 11 Мая 2016, 12:47 | Сообщение # 318 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
Цитата LP ()
а по самому коду? Читается норм?
Код не большой разобраться можно, но можно было бы избавиться от магических чисел и подобрать более подходящие названия переменных и методов.
LertmindДата: Среда, 11 Мая 2016, 12:11 | Сообщение # 319 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
LP, с enum это просто приведение типа, полагаю потому что перечисление может принимать только ограниченное число значений.
Кстати, в этом коде нет смысла:
Код
while(sizeof(PlDeck) < 6)
{
    PlDeck[GetCard] = d1.deck_give_card();
    GetCard++;
}

Здесь sizeof(PlDeck) всегда будет равен количеству байт массива, а точнее в ideone: 288.
LertmindДата: Среда, 11 Мая 2016, 11:57 | Сообщение # 320 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
LP, у тебя ошибка, вот весь код:

Цитата LP ()
m =(Mast)j; не подскажешь где искать описание?
Читай про enum, там каждый элемент это целое число.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг