Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 23.06.2011, 21:31   #421
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Зачем так кричать?
var mycamera:GameObject;
var 
Distance=10;
function 
Update () {
mycamera.transform.position.transform.position.Mathf.Sin(mycamera.transform.rotation.Mathf.Deg2Rad)* Distance;
mycamera.transform.position.transform.position.Mathf.Cos(mycamera.transform.rotation.Mathf.Deg2Rad)* -Distance;

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 23.06.2011, 22:37   #422
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Фак по Юнити.

а ты сам пробувал что получилось? Теперь камера вообще стоит на месте, потому что результать произвидения: mycamera.transform.rotation.x * Mathf.Deg2Rad = 0.000**
я говорю о том что камера сначала двигается как надо (смотриш вниз = идеш вверх), а потом наоборот (смотриш вниз = идеш вниз) и сменяют они лруг друга постоянно по хрен знает какой причине
(Offline)
 
Ответить с цитированием
Старый 23.06.2011, 22:55   #423
Lestar
Бывалый
 
Аватар для Lestar
 
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений
(для 880 пользователей)
Ответ: Фак по Юнити.

Ты к Vector3 прибавляешь Quaternion .Это верно?

P.S.Сплю,проехали.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Lestar за это полезное сообщение:
pax (24.06.2011), Taugeshtu (24.06.2011)
Старый 24.06.2011, 04:23   #424
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Сообщение от is.SarCasm Посмотреть сообщение
а ты сам пробувал что получилось?
Нет, потому что задача не описана, какой вопрос, такой и ответ. Я посчитал что ты используешь градусы, вместо радиан, а на самом деле, ты использовал компонент кватерниона (как написали выше), который не несет полезной информации о повороте отдельно.

Комментарии:

1. Что такое нода?
2. Использование компоненты кватерниона бессмысленно.
3. Использовать даже компоненту transform.eulerAngles.x было бы не правильно, так как ее значение может прыгать (прыгает в зависимости от общего поворота модели), это не тоже самое что и в блице или 3ds max. Возможно угол стоит вручную считать для данной задачи (неизвестно какой).
4. Использовать в функциях Mathf.Sin/Mathf.Cos/и т.д. нужно радианы, а transform.eulerAngles возвращает градусы (Quaternion возвращает неизвестно что), т.е. transform.eulerAngles.x * Mathf.Deg2Rad.
5. В качестве mycamera в данном случае можно использовать переменную var mycamera:Transform, тогда отпадет надобность получать трансформ камеры каждый раз, т.к. это немного медленная операция.

Если исправить на использование "правильного" угла, то скрипт мог бы выглядеть так:
var mycamera:Transform;
var 
Distance=10;
function 
Update () {
var 
mycamera.eulerAngles.Mathf.Deg2Rad;
mycamera.position.transform.position.Mathf.Sin(x)* Distance;
mycamera.position.transform.position.Mathf.Cos(x)* -Distance;

Но вероятность, что камера иногда будет скакать остается.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 24.06.2011, 10:29   #425
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: Фак по Юнити.

Спасибо, понятия не имел что мне возвращают квате...ны
Ну тогда в скрипте поворота камеры считать "отдельно" градусы.
А как может зависеть один угол от другово?
(Offline)
 
Ответить с цитированием
Старый 24.06.2011, 14:37   #426
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Фак по Юнити.

А как может зависеть один угол от другово?
Если повернуть объект на 180 градусов по оси Y, потом ещё на 90 по оси X, то вполне возможно что юнити пересчитает углы поворота в более удобное для человека представление (может оказаться, что это то же самое, что 0, 0, -90; в коде я с таким не сталкивался, а вот в редакторе - полно такого)
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 24.06.2011, 14:42   #427
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Это из-за процесса конвертации Quaternion => EulerAngles и обратно.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 25.06.2011, 18:06   #428
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Фак по Юнити.

Привет всем.

Изучал сегодня postprocess эффекты для Юнити, посмотрел на Grayscale Image Effect, и вдруг я подумал... Помните "Город грехов"? Там была такая стильная черная-белая картинка с ярко-выраженными красными объектами...

Так вот, можно ли дополнить этот эффект, чтобы он не действовал на объекты с определенными, допустим, тегами? То есть, например, задаем какому-нибудь объекту (допустим, красному галстуку) тэг "AlwaysColored", и всё, Grayscale Image Effect больше не обесцвечивает этот объект, он всегда остается красным галстуком. Вот.
__________________
(Offline)
 
Ответить с цитированием
Старый 25.06.2011, 18:08   #429
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Фак по Юнити.

Зачем я прочитал предыдущее сообщение
(Offline)
 
Ответить с цитированием
Старый 25.06.2011, 19:04   #430
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Фак по Юнити.

А по теме - вот ссылки для размышления. Не проверял.
http://forum.unity3d.com/threads/890...TY-SHADER-quot
http://answers.unity3d.com/questions...one-color.html
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cahekp (25.06.2011)
Старый 26.06.2011, 20:23   #431
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Фак по Юнити.

Ага, отлично.
Решил, что подобный эффект можно сделать двумя камерами. Первая рендерит всё без, допустим, "красных объектов", а вторая - только "красные" (такие объекты лежат на отдельном слое, контролирую через "Culling Mask"). "Clear Flags" у второй камеры - "Don't Clear". Depth значения первой и второй камеры - 1 и 2 соответственно. Всё хорошо.
Но!

1) Если к первой камере применить "Grayscale Image Effect", а вторую отключить - увидим только серую часть изображения. Отлично, так и должно быть, эффект работает. Но если включить вторую, то вся серость куда-то пропадает. Пост-процесс эффект для первой камеры не выполняется. Нехорошо это. Почему так происходит?

2) Ладно, допустим, пост-процесс эффекты выполняются только для последней по Depth значению камеры, если они лежат ровно "друг на друге". Хорошо. Тогда рендер первой камеры вместе со всеми наложенными на нее эффектами можно запихнуть в "Target Texture". Вопрос: как эту текстуру можно использовать в качестве бэкграунда для второй камеры? Или можно решить это дело другим путем?

3) И последнее: как в Юнити можно оперировать с буфером глубины? Можно ли перекинуть буфер глубины с одной камеры на буфер глубины другой?

4) Ну и самое последнее: как бы Вы делали подобный эффект (с условием, конечно, что все текстуры - цветные)?
__________________
(Offline)
 
Ответить с цитированием
Старый 26.06.2011, 21:02   #432
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: Фак по Юнити.

Если не ошибаюсь, где-то в Clear Flags или нердах настройки камеры есть свистелка, которая включает запись буфера глубины для RenderTexture - остаётся убедиться, что грейскейл его не похерит, и отрисовать цветное второй камерой.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cahekp (27.06.2011)
Старый 27.06.2011, 20:05   #433
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Фак по Юнити.

to Taugeshtu: нашел свистелку, которая переключает буфер рендера (или как там правильно) на буфер глубины.
Вот она: myRenderTexture.format = RenderTextureFormat.Depth;

Всё работает, грейскейл не мешает. Но как мне теперь применить этот буфер ко второй камере?
Неужели придется писать отдельный шейдер, который будет смешивать 2 текстуры глубины с двумя текстурами рендера? Это мне что, как минимум 4 камеры нужно иметь? Что-то слишком уж накладно.

Может все-таки есть более простой путь?
__________________
(Offline)
 
Ответить с цитированием
Старый 27.06.2011, 20:35   #434
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Фак по Юнити.

Обычно на шейдерах пишут постэффект который обесцвечивает картинку везде кроме как на отмеченных объектах.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nex (27.06.2011)
Старый 27.06.2011, 20:58   #435
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Фак по Юнити.

Воот... И как это можно сделать-то? Как мне сказать шейдеру, чтобы он тут обесцвечивал, а тут - нет? В этом-то вся и проблема!

Как создать маску, по которой будет работать шейдер?
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:04.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com