Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Уголок Разработчика

Другие вопросы и проблемы разработки дополнений

Re: Уголок Разработчика

Сообщение Mr. Angelo » 10.04.2012, 10:23

А в статье про ПС, скорее всего, новый шейдер не упомянут по той причине, что для ПС им (официальным разработчикам) нужен шейдер с картой окружения (Environment Map).

Kazus
Ответ был во 2м сообщении темы
ista011 писал(а):Для того, что бы ваши плагины стали актуальными скопируйте из папки Railworks\dev\Shaders файлы App.fbk и ShaderDesc.txt в папку C:\Users\%User_name%\AppData\Local\Autodesk\3dsmax\2009 - 32bit\enu\plugcfg (У меня 2009 макс, для 2010 также) с заменой.
Аватара пользователя
Mr. Angelo
 
Сообщения: 3227
Зарегистрирован: 03.01.2004, 22:22
Откуда: Тюмень
Благодарил (а): 359 раз.
Поблагодарили: 526 раз.
Блог: Просмотр блога (9)
Играю в: Train Simulator Classic
Роль: Сотрудник РЖД
Имя: Андрей

Re: Уголок Разработчика

Сообщение sciff » 10.04.2012, 10:40

Mr. Angelo, спасибо, помогло, у меня этот шейдер после копирования файлов появился в списке :)
Аватара пользователя
sciff
 
Сообщения: 900
Зарегистрирован: 21.12.2010, 01:51
Откуда: Дублин; Латвия
Благодарил (а): 391 раз.
Поблагодарили: 927 раз.
Блог: Просмотр блога (1)
Роль: Видео-оператор
Имя: Ян

Re: Уголок Разработчика

Сообщение sharsh » 10.04.2012, 11:32

Для ПС этот шейдер не подойдёт. Ну разве что для наших грузовых вагонов. Бока локов, пас. вагонов должны использовать шейдеры с картой отражения, они должны отражать. В этих случаях этот шейдер не будет работать. Разве что придумают шейдеры с 4-мя, 5-ю слотами.
Аватара пользователя
sharsh
 
Сообщения: 1333
Зарегистрирован: 21.03.2005, 21:14
Благодарил (а): 63 раз.
Поблагодарили: 471 раз.

Re: Уголок Разработчика

Сообщение sciff » 10.04.2012, 11:42

За то для интерьеров пассажирских вагонов ,МСПС, кабин идеально подойдёт. И кто сказал, что абсолютно любой ПС должен отражать? Разве мало использования Specular Map?
Аватара пользователя
sciff
 
Сообщения: 900
Зарегистрирован: 21.12.2010, 01:51
Откуда: Дублин; Латвия
Благодарил (а): 391 раз.
Поблагодарили: 927 раз.
Блог: Просмотр блога (1)
Роль: Видео-оператор
Имя: Ян

Re: Уголок Разработчика

Сообщение Kazus » 10.04.2012, 12:52

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

В этом шейдере спекулар есть в альфе второго слота.
Mr. Angelo спасибо, незаметил.
Kazus
 
Сообщения: 189
Зарегистрирован: 07.10.2011, 17:20
Благодарил (а): 3 раз.
Поблагодарили: 271 раз.
Имя: Артем

Re: Уголок Разработчика

Сообщение sharsh » 10.04.2012, 13:33

Чтобы знать, как он работает, нужно поюзать полностью.
А отражать я имел ввиду, что отражать окружение. а не свет. Вот здесь как раз ни один шейдер с тенью не работает.
Аватара пользователя
sharsh
 
Сообщения: 1333
Зарегистрирован: 21.03.2005, 21:14
Благодарил (а): 63 раз.
Поблагодарили: 471 раз.

Re: Уголок Разработчика

Сообщение Rokky » 10.04.2012, 16:30

Как можно в скрипте, точнее какой функцией, можно заставить лампочку мигать? И есть ли в ЛУА что-то вроде sleep? Вернее слип есть, я прописал его в скрипте, выставил время 0.5 сек., но функция так и не начала выполняться.
Не лезь туда, куда не просят, а если и просят, всё равно не лезь...... Убьёт.
Жизнь сложная штука.... Либо ты с ней... Либо она с тобой...
Аватара пользователя
Rokky
 
Сообщения: 123
Зарегистрирован: 20.09.2007, 20:02
Откуда: Казахстан, Экибастуз
Благодарил (а): 35 раз.
Поблагодарили: 212 раз.
Играю в: Train Simulator Classic
Роль: Разработчик
Имя: Дмитрий

Re: Уголок Разработчика

Сообщение Mr. Angelo » 10.04.2012, 16:46

Написать скрипт внутри функции Update который будет проверять две переменные- - время прошлого вызова этого скрипта и текущее состояние лампочки. Если текущее время минус время предыдущего вызова больше определенного интервала - действуем дальше, а именно смотрим в каком состоянии лампочка - и меняем состояние на противоположное. Это будет где-то 5-7 строк скрипт.
Аватара пользователя
Mr. Angelo
 
Сообщения: 3227
Зарегистрирован: 03.01.2004, 22:22
Откуда: Тюмень
Благодарил (а): 359 раз.
Поблагодарили: 526 раз.
Блог: Просмотр блога (9)
Играю в: Train Simulator Classic
Роль: Сотрудник РЖД
Имя: Андрей

Re: Уголок Разработчика

Сообщение supermax » 10.04.2012, 18:07

Mr. Angelo писал(а):Это будет где-то 5-7 строк скрипт.

Ну почти :) С комментариями, думаю лишним не будет.
Код: Выделить всё
function Setup()--Если использовать не Simulation, а Engine скрипт, то это добро добавлять в initialise()
Light_on = 0.5; -- Промежуток, когда лампочка горит
Light_off = 0.5; -- Промежуток, когда лампочка не горит
FirstLightFlash = true;--Первое зажигание лампочки
LightFlashOn = false;--Лампочка выключена
TimeLastFlash = 0; --Время последнего вызова
end

function Update( time )
 if FirstLightFlash then --если первое зажигание, то:
    LightFlashOn = false;--лампочка выключена   
    FirstLightFlash = false;--уже не первое зажигание   
   TimeLastFlash = 0;--время с последнего вызова
 else
    TimeLastFlash = TimeLastFlash + time; --к последнему вызову прибавляем время обновления
      if (not LightFlashOn) and TimeLastFlash >= Light_off then
     --если лампочка выключена и время последнего вызова
     --больше времени выключенной лампочки
        Call ( "ActivateNode", "lampochka", 1 );
      --включаем лампочку, если через Ambient light output,
      --то вместо ActivateNode используем GetControlValue
        TimeLastFlash = 0;--время с последнего вызова       
        LightFlashOn = true;--лампочка включена
       
       elseif LightFlashOn and TimeLastFlash >= Light_on then
      --если лампочка включена и время последнего вызова
     --больше времени включенной лампочки
       Call ( "ActivateNode", "lampochka", 0 );
       TimeLastFlash = 0;--время с последнего вызова       
       LightFlashOn = false;--лампочка выключена
     end
 end
end

UPDATE: Извиняюсь "Ы" пропустил :)
Последний раз редактировалось supermax 10.04.2012, 20:15, всего редактировалось 1 раз.
7 раз подумай - 1 раз напиши.
supermax
 
Сообщения: 596
Зарегистрирован: 24.08.2011, 14:03
Откуда: Краснодар
Благодарил (а): 66 раз.
Поблагодарили: 237 раз.
Блог: Просмотр блога (2)
Играю в: Train Simulator Classic
Имя: Максим

Re: Уголок Разработчика

Сообщение sciff » 10.04.2012, 19:43

supermax
Позволь указать на пару, на мой взгляд, ошибок:
(но я могу ошибаться)

1. initialize(), а не initialise()
2. в фукнции Setup() у тебя написано LightFlashOn = false; и при этом комментарий "--Лампочка включена", тогда как имя и устанавливаемое значение булевой переменной однозначенно указывают на выключенное состояние
3. "elseif" точно должно быть слитно?

Исправь, пожалуйста :)
Аватара пользователя
sciff
 
Сообщения: 900
Зарегистрирован: 21.12.2010, 01:51
Откуда: Дублин; Латвия
Благодарил (а): 391 раз.
Поблагодарили: 927 раз.
Блог: Просмотр блога (1)
Роль: Видео-оператор
Имя: Ян

Re: Уголок Разработчика

Сообщение Mr. Angelo » 10.04.2012, 19:46

Предлагаю сначала разбираться в вопросе, а потом искать ошибки :)

Именно "Initialise".
Именно "elseif".

В комментах похоже просто опечатка.
Аватара пользователя
Mr. Angelo
 
Сообщения: 3227
Зарегистрирован: 03.01.2004, 22:22
Откуда: Тюмень
Благодарил (а): 359 раз.
Поблагодарили: 526 раз.
Блог: Просмотр блога (9)
Играю в: Train Simulator Classic
Роль: Сотрудник РЖД
Имя: Андрей

Re: Уголок Разработчика

Сообщение sciff » 10.04.2012, 19:51

Значит не зря я написал, что могу ошибаться ;)

P.S. только что проверил, оказывается, в английском языке верны оба варианта, Initialise и Initialize. Я этого не знал.
Последний раз редактировалось sciff 10.04.2012, 19:57, всего редактировалось 1 раз.
Аватара пользователя
sciff
 
Сообщения: 900
Зарегистрирован: 21.12.2010, 01:51
Откуда: Дублин; Латвия
Благодарил (а): 391 раз.
Поблагодарили: 927 раз.
Блог: Просмотр блога (1)
Роль: Видео-оператор
Имя: Ян

Re: Уголок Разработчика

Сообщение Mr. Angelo » 10.04.2012, 19:54

Предполагается, что если человек берется критиковать или искать ошибки в чужой работе, то этот человек делает заявку на свою бОльшую компетентность в обсуждаемом вопросе :) А посты типа "мне кажется у тебя тут ошибка, но я могу ошибаться" - это выглядит нелепо, помоему :) Так вот я предлагаю - давайте сначала разбираться и искать ошибки сначала у себя, а потом у соседа :)
Аватара пользователя
Mr. Angelo
 
Сообщения: 3227
Зарегистрирован: 03.01.2004, 22:22
Откуда: Тюмень
Благодарил (а): 359 раз.
Поблагодарили: 526 раз.
Блог: Просмотр блога (9)
Играю в: Train Simulator Classic
Роль: Сотрудник РЖД
Имя: Андрей

Re: Уголок Разработчика

Сообщение sciff » 10.04.2012, 20:04

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

Mr. Angelo писал(а):В комментах похоже просто опечатка.

Вот пусть исправит, и тогда всё будет пучком :)
Аватара пользователя
sciff
 
Сообщения: 900
Зарегистрирован: 21.12.2010, 01:51
Откуда: Дублин; Латвия
Благодарил (а): 391 раз.
Поблагодарили: 927 раз.
Блог: Просмотр блога (1)
Роль: Видео-оператор
Имя: Ян

Re: Уголок Разработчика

Сообщение supermax » 10.04.2012, 20:17

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

Mr. Angelo писал(а):В комментах похоже просто опечатка.

Вот пусть исправит, и тогда всё будет пучком :)

Ян не кипишуй, я исправил свой казус, впредь буду повнимательней.
А насчёт elseif - это всё специфика LUA, стоит почитать, тогда многое станет понятным, а что-то покажется невероятным открытием :)
Последний раз редактировалось supermax 10.04.2012, 20:25, всего редактировалось 1 раз.
7 раз подумай - 1 раз напиши.
supermax
 
Сообщения: 596
Зарегистрирован: 24.08.2011, 14:03
Откуда: Краснодар
Благодарил (а): 66 раз.
Поблагодарили: 237 раз.
Блог: Просмотр блога (2)
Играю в: Train Simulator Classic
Имя: Максим

Пред.След.

Вернуться в [RW] Другие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5