|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
31.03.2016, 22:08
|
#2341
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от RegIon
Ща проверю. Если не будет дрыгаться - как доктор прописал, не нужен будет кастыль. Не знал о такой хрени.
UPD. Хорошая штука, но анимация встает на паузу , а так как на всех она одна, то все выглядит как под копирку.
Как задать рандомное смещение по времени в аниматоре? Костыль: - после старта отключить аниматор,
- запустить на рандомное (небольшое) время корутину
- Включить в корутине аниматор
- Профит. Инстансы аниматора запустятся в разное время.
А можно как-то иначе?
|
GetComponent<Animator>().Play("Idle",0,Random.Rang e(0,1f));
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.04.2016, 19:11
|
#2342
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Вопросы от новичка
Нашёл полезный класс, может кому-то тоже пригодится ColorUtility .
В частности, функция TryParseHtmlString.
|
(Offline)
|
|
08.04.2016, 00:16
|
#2343
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Это нормально, что иногда PlayerPrefe забивает на некоторые сохраненные ключи, причем рандомно на разных устройствах?
Пишу и читаю не в Awake, после установки ключей сохраняю на диск. Все происходит по событиям (не в Update)
Вот у меня 4 параметра, пишу так:
public static void SaveOnlySettings () { PlayerPrefs.SetInt ("settings_cheater", CheaterMode? 1:0); PlayerPrefs.SetInt ("settings_tilt", useTilt ? 1 : 0); PlayerPrefs.SetInt ("settings_music", useMusic ? 1 : 0); PlayerPrefs.SetInt ("settings_vibration", useVibration ? 1 : 0); PlayerPrefs.Save (); }
Читаю так:
public static void LoadParams () { CheaterMode = PlayerPrefs.GetInt ("settings_cheater", 0) == 1; MoneyCount = PlayerPrefs.GetInt ("game_money", 0); useTilt = PlayerPrefs.GetInt ("settings_tilt", 1) == 1; useMusic = PlayerPrefs.GetInt ("settings_music", 1) == 1; useVibration = PlayerPrefs.GetInt ("settings_vibration", 1) == 1; rocketConfig = new RocketConfig (); rocketConfig.LoadConfig (); Debug.Log ("[GLOBAL] LOAD SETTINGS"); }
Во втором случае читаю все параметры махом, которые существуют, а пишу только настройки, так как они чаще меняются.
Так вот useMusic и useVibration на компе иногда не читаются как бы, useTilt всегда нормально работает.
Еще у друга на HTC не читается useVibration в определенных случаях, а на моем он не может воспроизвести баг.
Что за фигня такая и как лечится, а то проще сериализовать в json наверное будет.
|
(Offline)
|
|
08.04.2016, 01:41
|
#2344
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Выведи в дебаг, в каком порядке вызываются твои события. Есть вероятность что сохранение раньше загрузки вызывается?
|
(Offline)
|
|
08.04.2016, 08:03
|
#2345
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
Выведи в дебаг, в каком порядке вызываются твои события. Есть вероятность что сохранение раньше загрузки вызывается?
|
Да, неожиданно вышло так, а все из-за того, что изменение Toogle.isOn вызывает событие OnChange даже если объект выключен, я через событие делал запись параметров. Можно как-то подавить колбек?
С одной стороны удобно, что можно поменять вручную, и зависимости выполнятся, а с другой стороны плохо
UPD. Убрал логику сохранения из обработчиков, сохраняю по OK.
|
(Offline)
|
|
08.04.2016, 11:30
|
#2346
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Я обычно при инициализации ставлю флаг, который обозначает не обрабатывать события (в событиях выхожу по флагу). Как все загрузил - убираю флаг.
|
(Offline)
|
|
14.04.2016, 13:49
|
#2347
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Подскажите как рендерить из юнити в видео файл?
Можно конечно рендерить отдельно по кадрам, но так не будет звука и нужен софт для создания видео файла из картинок.
|
(Offline)
|
|
14.04.2016, 14:43
|
#2348
|
Бывалый
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений (для 995 пользователей)
|
Ответ: Вопросы от новичка
Запиши чем-то внешним, OBS тот же, зачем тебе именно рендер из юнити?
|
(Offline)
|
|
14.04.2016, 14:50
|
#2349
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Andvrok
Запиши чем-то внешним, OBS тот же, зачем тебе именно рендер из юнити?
|
1) Нужно разбираться с настройками этой проги для лучшего качества.
2) Надо много ресурсов компа (или хорошую видеокарту в зависимости от настроек захвата). С этим как раз могут возникнуть проблемы.
3) Нельзя отрендерить в разрешении больше чем монитор.
4) Через Юнити рендер как я понимаю можно рендерить даже с 1 фпс/сек, а видео будет с нормальным фпс (подобно рендеру 3дмакс).
???
Много профита в общем.
|
(Offline)
|
|
14.04.2016, 15:10
|
#2350
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Ничего встроенного нет для этого, можешь смело идти на ассетстор искать готовые вещи.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.04.2016, 03:05
|
#2351
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
Ничего встроенного нет для этого, можешь смело идти на ассетстор искать готовые вещи.
|
Все только за даллары. От 150-400$, что сильно много для создания короткого промо-ролика бесплатной игры на Android.
С захватом видео частично проблема решена. Рендер кадров через RenderTexture с записью на диск.
Плюсы:
Фпс можно задавать любой.
Размер кадра ограничивается только видеокартой.
Не сильно тормозно.
Можно "измазать сцену жиром" и рендерить даже с 1фпс/сек и на выходе все будет хорошо.
Минусы:
Для гарантированной плавности все надо двигать и вращать в FixedUpdate используя Time.fixedDeltaTime или через Rigidbody.MovePosition и Rigidbody.MoveRotation.
Нужно иметь VirtualDub что бы создать видос из кадров при этом нужно попотеть с кодеком иначе ролик будет очень много весить.
Нельзя сворачивать и снимать фокус с Юнити иначе получим много одинаковых кадров.
using UnityEngine; public class Capture : MonoBehaviour { public int frameRate = 30; public string folder = "ScreenshotFolder"; private string realFolder = ""; public bool isRec; private RenderTexture rt; private Texture2D screenShot; void Start () { rt = new RenderTexture(Screen.width, Screen.height, 24); screenShot = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false); Time.captureFramerate = frameRate; realFolder = folder; int count = 1; while (System.IO.Directory.Exists(realFolder)) { realFolder = folder + count; count++; } System.IO.Directory.CreateDirectory(realFolder); } void LateUpdate() { if (isRec) { string name = string.Format("{0}/shot {1:D04}.png", realFolder, Time.frameCount); Screenshot(); byte[] bytes = screenShot.EncodeToPNG(); System.IO.File.WriteAllBytes(name, bytes); } } private void Screenshot() { Camera.main.targetTexture = rt; Camera.main.Render(); RenderTexture.active = rt; screenShot.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0); Camera.main.targetTexture = null; RenderTexture.active = null; } }
Если еще нужно будет делать монтаж видео, то получается весьма геморно и возможно потеря качества при перегоне из кадров во временное видео. Так же предпросмотр полученных кадров например в VirtualDub требует мощный проц(?) иначе видео будет рывками.
Может знатоки напишут код где кадры будут сохранятся сразу в видео файл хотя бы без сжатия? Ну или подскажите по каким словам гуглить это дело...
С сохранением звука вроде бы проблем не должно возникнуть, но из за покадрового рендера добавляется еще геморой со сведением звука.
|
(Offline)
|
|
15.04.2016, 06:23
|
#2352
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
А гуглить не пытался? http://www.nrecosite.com/video_converter_net.aspx
Кстати, xvid кодек оказался самым менее энергозатратным, при записи, на моём 2x2Gh потребляет 30% , другие гонят ЦП до 100. Размер файла раза в 1.5 больше чем h263.
|
(Offline)
|
|
15.04.2016, 08:41
|
#2353
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от RegIon
|
Если бы нагугли, то не спрашивал бы жи.
У этого nreco семплы за отдельную плату. Без семплов не совсем понятно как это правильно использовать.
|
(Offline)
|
|
15.04.2016, 10:02
|
#2354
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Nex
Если бы нагугли, то не спрашивал бы жи.
У этого nreco семплы за отдельную плату. Без семплов не совсем понятно как это правильно использовать.
|
блин, и это не проблема.
http://stackoverflow.com/questions/2...g-through-rtmp
На таких ленивых и держится AssetStore
|
(Offline)
|
|
15.04.2016, 11:39
|
#2355
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от RegIon
|
Получается если понадобилась горсть гвоздей, то надо построить станок по их производству?
На самом деле затуп вышел смешной. Оказывается я все правильно изначально делал, но юнити тыкал ошибкой связанной со Stream и из за этого я думал, что делаю не так. Но оказалось что в юнити старый mono и какие то затупы с IO.Compression. Для фикса нужно искать левые библы, которые явно будут медленней работать.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:53.
|