Насколько я знаю, из наших кардан реализован только у меня, вроде другой техники с карданом в РВ не видал. У меня реализовано через анимацию колеса, кардан вращается как положено (3 оборота за 1 оборот колеса), не поворачивается при поворотах (конечно изза этого на поворотах он не "попадает" в генератор, но такое место, там не видно). Иначе реализовать я не знаю как, да и смысл? Сей совет исходил от Андрея Mr.Angelo, он сказал что-то наподобие "зачем делать через скрипт, если можно сделать внутриигровыми средствами".
Подробнее:
1. Выделяешь колесо, которое ближе всего к кардану, и сам кардан (со всеми муфтами, шарнирами итд. В моём случае, пришлось делить кардан на 3 объекта, т.к. он у меня наклонен под углом, для того чтобы сам вал вращался вокруг своей оси. )
2. Кардан не нужно линковать к колесу - это важно.
3. Делаешь анимацию колеса, как описано в мануале.
4. Делаешь анимацию кардана тут же, так же как колеса, в соответствии с твоим передаточным числом.
5. В конфиге, когда будешь прописывать колеса - к нужному колесу в строку анимации прописываешь созданную анимацию колеса с карданом.
6. PROFIT
По поводу циклической анимации. Мне тогда помог Ista011 за что ему огромное спасибо. К нижеприведенному от меня добавочка - вентилятор дергался и со строчкой, и без - тут дело в самой анимации. Если делать её также, как у колеса - не прокатит. Тут нужно использовать все 17 кадров (от 0 до 16), чтобы в 16 кадре вентилятор имел позицию = в 0 кадре.
ista011 писал(а):BooYa писал(а):Привет!
Нужна помощь по скрипту, поможешь?
Суть такова. У вагона есть вентилятор. Нужно, чтобы он просто крутился, то есть запустить анимацию, и чтобы она повторялась по кругу бесконечно.
Я в скриптах ваще практически не шарю, попробовал по мануалу Макса сделать,
- Код: Выделить всё
Call( "AddTime", "vent", 600 );
Но ничо не работает.
Пробовал через конфиг чисто, через контрол запустить анимацию, тоже не работает.
Может ты знаешь, как это сделать? Тут скрипт то должен быть простейший
function Update(time)
if (Call( "AddTime", "vent", time) ~= 0) then
Call("Reset", "vent");
Call( "AddTime", "vent", time); --если будет дёргаться, то попробуй без этой строчки
end
end
ista011 писал(а):BooYa писал(а):Спасибо! Работает. Позволю себе еще вопрос. Анимация слишком быстро, а мне нужно сделать её медленней в 5 раз. Подскажешь, как?
SpeedAnim = 0.2;
function Update(time)
if (Call( "AddTime", "vent", time * SpeedAnim) ~= 0) then
Call("Reset", "vent");
Call( "AddTime", "vent", time * SpeedAnim);
end
end
Надеюсь я тебе помог, экспериментируй.