1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

2 проблемы камеры вьюпорта

Тема в разделе "RealSoft3D", создана пользователем FSV141, 23 ноя 2008.

Модераторы: Moderator.
  1. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Давно меня мучили две вещи, которые здорово отравляли жизнь с RealSoft 3D. Сам найти решение так и не смог.

    Итак, первая проблема. Во время навигации во вьюпорте, когда я верчу камерой (с помощью Alt+RMB) при каких-то условиях камера начинает вращаться вокруг своего центра вместо того, чтобы, напимер, вращаться вокруг центра выделенного объекта, что было бы не в пример удобней. Как сделать так, чтобы при вышеупомянутой навигации камера крутилась вокруг центра выделенного объекта?

    Вторая проблема - искажение перспективы. При большом поле зрения камеры (которое достигается с помощью Shift+RMB или с помощью вращения колеса прокрутки) происходит искривление перспективы (как при очень широкоугольном объективе). Скорее всего это происхоит из-за того, что при вышеназванных манипуляциях изменяются парамеры виртуального объектива камеры, вместо того, чтобы приближать/удалять саму камеру. Как сделать так, чтобы камера приближалась к объекту или удалялась от него при навигации с помощью Shift+RMB или колеса прокрутки.
     

    Вложения:

    • 981174.jpg
      981174.jpg
      Размер файла:
      6 КБ
      Просмотров:
      90
  2. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Хорошие вопросы. Я понимаю, что мы не ищем простых путей и по этому не отправляю в User Mаnual

    1. Очень просто. Нужно сделать так что бы фокус видовой камеры окна находлся в цетре координат объекта. Для этого достаточно выбрать объект в иерархии и перетащить его (drag&drop) на видовое окно. еще более быстрый вариант - выбрать объект и нажать клавишу "F"

    2. Не прото, а очень просто:). Shift+RMB - увеличение угла объектива камеры без изменения дистанции камеры до точки фокуса. Поэтому и такой эффект искривления перспективы при больших значениях. Вообще не рекомендуется использовать значения этого параметра больше 90градусов.
    Сочетание Ctrl+Shift+RMB - изменяет дистанцию (наезд камеры на объект) БЕЗ изменения угла объектива.
     
  3. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Здравствуйте, Дима!
    Огромное спасибо за столь оперативный ответ!
    И за это особая благодарность. Знаю, что глубокого профессионала такие детские вопросы раздражают, но вы, набравшись терпения и все же ответили.
    Попробую оправдаться: Дело в том, что в User Manual я был, но, видимо, недостаточно проникся программой, потому как не нашел решения. Я обратил внимание на строку состояния при Shift+RMB. Там менялось значение Focal lenght. Вот слово "focal" я и искал в мануале. Глядел список шоткатов, но, видимо, недостаточно внимательно.

    1. Про "F" я знаю. Но вот в таком ключе как-то не догадался использовать. Каюсь. Ступил.

    2. Вот тут просто поклон до земли! Спасибо. В общем, проблему решили.
    Однако, вылезла еще одна проблема вьюпорта. Видимо все-таки что-то там ползет. Может в переменных из-за недостаточной точности ошибка накапливается... не знаю. Суть вот в чем:

    После игрищ с Ctrl+Shift+RMB как-то странно стали вести себя плоскости отсечения (что-то типа Clipping plans в терминах OpenGL).
    Итак, создал самую обычную сценку. Обычные размеры объектов (по умолчанию). Располагаются в центре сцены, но дальняя плоскость отсечения почему-то располагается очень близко. И, как бы, срабатывает слишком рано. Проще это увидеть на приаттаченной картинке.

    Что это? Как с этим бороться?
     

    Вложения:

    • 982339.jpg
      982339.jpg
      Размер файла:
      7,4 КБ
      Просмотров:
      96
  4. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Эт окак раз и есть Clipping plans:) В дефолтных настойках установлено значение 100 единиц (для Far). Что бы каждый раз его не переставлять рекомендую сразу после загрузки программы войти в настройки View Properties и установить очень большое значение (например, 10 000 000).. После этого сохранить настройки File>Save as Startup. Теперь программа будет загружаться с новыми занчениями автоматичеки. Кстати, точно также можно подогнать под себя и с другие настройки интерфейса и сохратить себе уйму времени для плодотворной работы.
     

    Вложения:

    • 982429.jpg
      982429.jpg
      Размер файла:
      49 КБ
      Просмотров:
      83
  5. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Ну все! Вот оно и счастье! Вот эти две мелкие неприятности ("искажение перспективы" и "плоскости отсечения") мне все время и отравляли жизнь! А теперь прям слов нет! Спасибо, Дима! Вы сегодня одного человека сделали ОЧЕНЬ и ОЧЕНЬ счастливым.

    А я призняться, сам себя перехитрил. Полез в File->Preferences. Там в Classes, а там.... ну вы понимаете ;)..... там я просто потерялся :) Хотя местечко любопытное, если знаешь "чего и как".
     
  6. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Ну ДА. Как всегда. Самые простые решения лежат на поверхности. Главное их вовремя заметить:)
     
  7. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    А вот кстати, не такие уж мы (в смысле, обычные юзеры НЕ зубры R3D) глупые. Заглянул в intro.pdf, а там на третьей странице вверху про навигацию во вьюпорте написано следующее:
    To Pan a view window (scroll it): Ctrl + drag right mouse.
    Zoom a view window: Shift + drag right mouse vertically
    To Rotate a view window: Alt + drag right mouse.

    Вот.
    Ну мы привыкли доверять разработчикам... Shift+RMB и пользуем... Думаю, стоит поправить это место, дабы новые пользователи не наступали на мои грабли.
    Да и Far Clipping plan в свежеустановленной программе по-умолчания установить хотя бы в 1000 было бы полезно...
     
  8. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    По Far Clipping plan понлостью согласен. Я напишу разработчикам.
     
  9. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Коли пошла такая пьянка!... может напишите еще несколько чаяний пользователей?
    1) Количество Undo побольше бы. 20 в общем-то в 90% случаев хватает, но бывает что из-за собственного ротозейства надо больше.
    2) А вообще есть одна БОЛЬШУЩАЯ мечта, чтобы все моделирование было нелинейным. Как в Гудини например. Ноды вводить, я думаю, никто не будет, да оно не очень то и нужно. А вот что-то типа стека модификаторов.... что-б "каждый чих"... ну в смысле, каждое движение полигона, вершины или ребра, например, где-то откладывалось и его потом можно было бы подправить...
    3) Интерактивный real-time движок. Наподобие Блендеровского. Знатная штука. В будущем, ИМХО, без этой возможности 3D пакетов не останется. Real-time графика день ото дня все круче и круче становится. А если бы с помощью VSL можно было создаваться OpenGL и Direct3D шейдеры, то конкурентов такому пакету небыло бы вообще в целом свете.
    Дабавить сюда еще какой-нибудь WEB-плагин (чтобы можно было публиковать интерактивные real-time сцены в сети) и вот вам кандидат на роль главного 3D пакета! С его помощью и "Second Life" можно строить и игрушки всякие ваять...
     
  10. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    На самом деле количество Undo сейчас неограничено. Но это не путь развития. В реально работе требуется максимум 1 уровень отката. А чаще всего и без него:) Т.е Undo =0 существенно повышает быстродейстие. В Гудини нелинейное моделирование реализовано не с целью возврата на несколько шагов назад а для организации нелинейного workflow. Кстати система построения NURBS в RealSoft-te работает очень похоже. Изменение образующих кривых приводит к автоматическому NURBS изменению поверхности.
    С "ротозейством" можно и нужно бороться, но не увеличение числа Undo, а продумыванием на несколько шагов вперед рабочего процесса:) По секрету, о чень помогает экономить машинные ресурсы.

    по п.2 и 3 все правильно. Но пока без комментариев. Могу сказать только, что с разрабочиками это уже все обсуждалось перед началом работ по V7:)
     
  11. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    О как!? Проверил. У меня ровно 20 получилось (как установлено) и все! А больше сам Realsoft установить не позволяет :(

    Согласен. Но ведь больше - не меньше! Пусть будет больше, если кому нужно! Раз в программе есть такой механизм, то практически ничего не стоит дать возможность пользователю установить нужное ему количество Undo. Так, например, сделано в Cinema 4D.

    Ну это, ИМХО, спорное утверждение ;) Кому как :)

    Согласен. Тем не менее, это взаимосвязанные вещи. Не часто, но если уж пришлось, то радуешься как дитя, когда можно залезть на одну из ранних стадий моделирования и что-то подправить. Причем, это скорее не исправление ошибки, а коррекция раннего этапа, удобная именно после того, как определились основные "контуры" модели.
    Непередаваемый восторг испытываешь в такие минуты, дарящий чувство всемогущества ;) А чувство благодарности к разработчикам не поддается измерению!

    Да, конечно, но это процентов 10 от настоящего нелинейного моделирования. То же самое есть и у Синемы 4D. Видите, для NURBS такая штука есть. Почему-ж не сделать ее и для Полигонов?

    Что-ж, это уже радостно. Будем надеяться... И вправду, куда им (разработчикам) еще двигаться в радиционном русле 3D редакторов? Они и так практически всего достигли. Самое время осваивать новые горизонты real-time графики!
     
  12. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    ДА, действительно не устанавливается больше 20-ти. Не залезал в эту область начиная с V4:). Просто не было такой необходимости. Отписал разработчикам. Спасибо за внимательность:)

    Я не раз говорил и повторяю:) 3D не область для экспериментов:) Перд началом работы в 3D настоятельно рекомендуется взять бумагу и карандаш и порисовать. При таком подходе потребность в "откатах" практически отпадает. Да и время экономится существенно.


    реализация для NURBS вполне обоснована workflow. В большинстве случаев задача этапа NURBS моделирования - быстро получить заготовку (первоначальную форму). Далее переводим ее в SDS прорабатываем детали. Есть и второй. Когда при помощи Colision Detection SDS поверхность с нужной топологией стоиться по NURBS "болванке".

    Да, подождем выхода V7
     
  13. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Все верно. Со всем согласен. Но без экспериментов жить не интересно! :)
     
  14. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Согласен. Но любой эксперимент должен иметь прогнозируемый (осознаный) результат. На этапе "карандаш+бумага" или Photoshop+перо эсперементировать намного эффективнее чем в реальном 3D.
     
  15. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Ну да. Иначе это алхимия какая-то получается ;)

    Думаете?
    Ну на том и сойдемся :)
     
  16. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    О! Меня осенило! ;)
    Дима, напишите пожалуйста вот такое пожелание разработчикам: пусть в tool-tip-ах вместе с описанием отображается и шоткат, назначенный на эту функцию. Вот эта ерундовая фишка могла бы здорово помочь в изучении шоткатов и как следствие, в их повсеместном использовании. Результат - непревзойденная скорость работы с пакетом.
    Не помню где еще, но в Синьке и в Гудини это реализовано и здорово работает!
     
  17. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Идя отличная. Но все на так просто:)
    1. Не всем удобно читать подписи под кнопками.
    2. Дефолтные расладки клавиатуры разложены в User Manual:Chapter 14. Miscellaneous>HotKey. Можно распечатать и использовать как подсказку на первое время.
    3. В любой момент времени пользователь может переназначить HotKey через key bindings. И что тогда получится? Клавиша на иструмент пользователем назначена одна, а описание к инструменту написано совсем другое. В результате возникнет путаница.

    Т.е "забивать" в интерфейс HotKey это не совсем эффективный путь.

    Однако решение есть и очень простое:) Можно воспользоваться системой локализации программы Chapter 12. User Interface>Localization. Ни что не мешает нам добавить самостоятельно в подписи иконке инструмента нужный HotKey:). Вся работа займет не больше часа. В результате - непревзайденная скорость работы и счастье на каждый день.

    По количеству откатов Undo. Я написал разработчикам по этому вопросу. Где то начиная с 5-той версии ввели ограничения в 20. Это не ограничения самой программы (можно сделать хоть 10 000) а ограничеения на ввод численного значения >20 в настройках Undo. Сделано это изходя из здравого смысла и экономии ресурсы памяти.
     
  18. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Насчет шоткато в tool-tips-ах.
    1. Никаких подписей под кнопками не предполагается. Tool-tips - это всплывающий желтый прямоугольник, который появляется если подвести к кнопке курсор мыши и заржать его над кнопкой на несколько секунд. В Realsoft все это есть. У него появляется краткое описание инструмента. Я предлагаю всего-лишь добавить к этому описанию шоткат. Пусть шоткат отображается в конце описания. Через пробел или в квадратных кнопках - не важно. Главное чтобы он был. Реализовать это - пустяк для разработчиков.
    2. Знаю-знаю. Распечатал. Но это не то же самое. Там оно по группам разбито. Пока найдешь... А тут сразу - подвел мышку к кнопке OpenGL Shading, например. Посмотрел, что шоткат ей соответствующий - h и следующий раз уже глядишь, запомнил и кнопку дергать не стал, а просто с клавки набрал "h". То же самое и со всем остальным.
    3. А ничего плохого не получится. Назначили-ли разработчики шоткаты сами или их пользователь переопределил, - список этих шоткатов где-то храниться. Скорее всего в одном из конфигурационных файлов. При инициализации программы этот файл скорее всего считывается в память в некую базу данных шоткатов. Когда пользователь нажимает клавишу на клавиатуре (то есть, шоткат) идет сверка с этой базой данных и по результатам сверки в программу передается некий код операции/комманды, которую ядро Realsoft исполняет.
    Так вот, нет никаких проблем простой конкатенацией добавить к строке описания инструмента строку описывающую шоткат.

    Есть конечно вероятность, что tool-tips-ы разработчики жестко забили в виде ресурсов. Это не красит архитектуру программы, но и далеко не фатально. Собирались ревизию кода в 7-й версии делать? ВОт и отличный повод пересмотреть алгоритм вывода tool-tips-ов на экран. Сделать это надо один раз и потом забыть про эту проблему вообще. Во всех версих, какие бы шоткаты не взбрели в голову разработчикам или переопределившим их пользователям - они всегда будут актуальны. Даже если управляющий элемент (кнопка) контекстно-зависимый. Правильный шоткат будет отображаться согласно контексту.

    Насчет Undo. Очень жаль, что разоработчики вот так жестко взялись решать за пользователя, что тому нужно :( А про ресурсы нынче как-то даже смешно вспоминать. У современных компов такие объемы памяти, что съесть их под силу лишь композеру, перемалывающему HD видео. Трехмерки нынче недостатка в памяти практически не испытывают.
     
  19. ODA

    ODA Знаток

    С нами с:
    13.01.2006
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Сергей, ты видимо меня не слышишь или я пишу консперативными чернилами:)
    "Tool-tips - это всплывающий желтый прямоугольник, который появляется если подвести к кнопке курсор мыши и заржать его над кнопкой на несколько секунд. В Realsoft все это есть" - так вот система локализации программы предусматривает, что пользователь САМ может написать все что угодно в этих областях и на любом языке. Я дал подсказку где искать, что бы это сделать. Точно таким же образом можно в Tool-tips добавить информацию о HotKey. Т.е это делается очень просто и разработчики все предусмотрели.
     
  20. FSV141

    FSV141 Активный участник

    С нами с:
    17.06.2008
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    11
    Слышу. Я ответил на "Т.е "забивать" в интерфейс HotKey это не совсем эффективный путь."

    А вот самостоятельная локализация интерфейса не имеет смысла. Времени на нее потратишь уйму, а смысл? Если ты выполнил локализацию, то значит все понимаешь что написано и все шоткаты уже знаешь. Спрашивается, зачем тогда этим заниматься?

    Я же предлагаю простую фишку (отображение шоткатов в тул-типах) и она должна быть, как это принято сейчас говорить, "из коробки"! Тогда пользователь ей воспользуется.
     
Модераторы: Moderator.

Поделиться этой страницей