• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Новости:

Форум Quest3D восстановлен!

Главное меню

Математическая проблемка

Автор anval, 23 января 2009, 21:33:00

« назад - далее »

anval

Всем привет.Чегото заклинило меня.Никак не соображу.Значение вручную,кнопкой,меняется с 18 до 30.Мне нужно,чьобы у другого value менялось параллельно с 29 до 32.
Прибдлизительно сделать не проблема,а вот точную формулку никак.

Const_47

Очень просто :)))
Если шаг не имеет значения, то используй Envelope сhannel
х координата входной параметр, y координата выходной.
NewKey 1 = (x=18,y=29) 
NewKey 2 = (x=30,y=32)
И не нужно никаких формул:)))

Но!!! припустим у тебя специфическое задание и Envelope из каких-то чисто твоих соображений тебе не подходит.
Тогда давай посчитаем диапазон
1) 30 - 18 = 12
2) 32 - 29 = 3

Пусть у тебя 5 кликов кнопкой чтобы твое значение изменилось
из 18 до 30 тогда один клик в диапазоне 12 = 12\5 = 2,4
а в 3 = 3\5 = 0,6. То есть один шаг твоего диапазона 12 =  2,4 а 3 = 0,6, тогда 4 шага диапазона 12 = 2,4*4 = 9,6 
а диапазона 3 = 0,6*4 = 2,4 :)))       

anval

Конечно же Envelope!!!Вот я торможу:) А  уже собрался повторно курс математики проходить.Спасибо.

Glow

А вот просто в Expression сделать A=1?29:18 можно поставить  B и С  - A=1?B:C енвелопе по ламерски:)

Const_47


IYV

Помогите простую задачку решить,второй день уже бьюсь,все в пустую.Как известно,при срабатывания условия у IF значение из левой части копируется в правую,а я пытаюсь добиться,что бы значение в правой части осталось прежним и только после  изменении значения левой части менялось.Мне это нужно для переключения текстур.Прикрепляю скрин.Спасибо заранее.

Const_47

Дело в том что твое значение изменится тогда, когда будет собсно вызван канал set value, а не тогда, когда изменится какая то его часть;)

Я припускаю что ты пытаешся обойти какой то свой глюк, изобретая велосипед. Может ты поставиш задачу более шире, тогда бы я смог помочь более конкретно.           

IYV

Возможно это действительно бредовая идея.Я даже не знаю как более шире то рассказать,трудно сформулировать... Ну перед тем как вызвать канал set value он же в правой части хранит значение.Это значение уже используется как индекс в массиве.Т. е определенной кнопке соответствует определенная текстура.Вот канал вызывается,но у него в левой части другое значение,в данном случае 3 и это значение в момент вызова переходит в правую часть. 4 меняется на 3. Т е я кликаю  на кнопку,что бы активизировалось меню выбора текстур для этой кнопки и тут же слетает прежняя текстура,для которой индекс в массиве был 4 и меняется на другую,которой соответствует тройка.Вот я и пытался сделать так,что бы при вызове set value правая часть оставалась прежней(чтоб текстура не слетала),до момента пока не поменяется значение левой части.Но похоже что это пустая затея и ни какими формулами ее не решишь. :)Надо просто идти другим путем.

Const_47

Я мало что понял. Загрузи на файлообменник .сgr, со своей проблемой, только все лишнее пообрезай, оставь только то, что явно или коственно имеет отношение к вопросу. Я обязательно посмотрю.

KBECT0MAH

IYV, я хоть и русский но тоже не совсем понял что ты написал ;)
Ты хочешь при помощи только одного "Сет валуе" переключать несколько текстур?
Так же ты упоминал "меню", но как ты его делал совсем не понятно, ведь меню
можно сделать несколькими способами.

Лучше сделай как посоветовал уважаемый Const_47, выложи исходник.

Ещё можешь посмотреть мой вариант переключения текстур из массива. Только сразу
предупреждаю, это моя первая встреча с массивами и там нет оптимизации  ::) делал
как получится, что бы заработало. Там на каждую кнопку свой "Сет валуе" с разными
значениями (0, 1, 2), то есть - сколько кнопок, столько "Сетов" с номером строки.
Возможно тебе не пригодятся колонки "On", поясню для чего они у меня:
у меня кнопки имеют две текстуры, простая(0) и с рамкой(1).
В таблице массива - сколько кнопок, столько колонок "On". Они отвечают за смену
текстуры при нажатие на другую кнопку.
.

IYV

Прошу пращения,обманул запутал :)Проблемма оказалась совсем в другом,тупил целый день и не заметил,отдыхать надо больше.Вот выкладываю исходник,но теперь не могу осилить две задачи.1) У меня в меню выбора объекта,происходит активизация кнопки только при наведения курсора,а хочется сделать чтобы совместно с ЛКМ.
2)В верхнем меню выбора текстур не получается зафиксировать подсветку кнопки.Буду очень благодарен,если поможите разобраться с этим.
KBECT0MAH,посмотрел твой вариант,прикольно,у меня кстати  почти тоже самое выходит,правда я еще использовал ForLoop.Только у меня своиством материалла подсвечивается нажатие,а не сменой текстуры.

Const_47

& IYV

Если я правильно понял ты это хотел (смотря на исходник, и перечитывая твои посты сверху)
http://rapidshare.com/files/209881423/testFIX.rar.html

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



IYV

#12
& Const_47
Спасибо огромное ;D,именно этого я и пытался сделать.И как всегда,все оказалось на много проще.И я до этого вряд ли бы додумался :(.