Что делать если перестаёт работать камера в Blender(не рендера)?
Это происходит когда ты находишься не в ортогональной проекции, а в перспективе, если нажмешь 5 на Numpad`е, то попадешь в ортографию и там эта проблема будет устранена. Но если же ты привык работать в перспективе, то точка, так называемого «центра обзора», находится либо на том месте где ты смотрел последний объект либо по центру между объектами которые были выделены, если коротко выдели какой ни будь объект на сцене и нажми Точку на нумпаде. Тебе приблизит к объекту и пересчитает место от которого будет зависеть движение камеры. Но тут есть нюанс, тебе постоянно придется эту точку перенажимать, если ты работаешь в перспективном обзоре. Советую работать в ортографии.
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Проблема с приближением камеры
Проблема в том, что периодически (не понятно от чего зависит) приближение выполняется не плавно, а с поддергиванием (Почти всегда, в большей или меньшей степени). С функцией rotate_camera() модуля camera а так-же target_set_pivot_translation() таких проблем нет.
Отчего это происходит и как можно исправить?
01 сентября 2017 15:09
сообщений: 1450
Прикрепите, пожалуйста, минимальный пример, в котором воспроизводится такое поведение. Посмотрим, в чем может быть дело.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
04 сентября 2017 12:51
сообщений: 38
Как мне кажется, проблема зависит как-то от сложности сцены, чем сложнее — тем заметнее. Постарался сделать проект без всего лишнего:ссылка
Видео с этой проблемой На замедлении видно, что камера сначала приближается, затем перемещается без отдаления, затем снова отдаляется, такие кадры чередуются
Если загрузить видеокарту по полной, например, рендером, получается вообще треш:еще видео Но даже на 60 FPS проблема заметна
06 сентября 2017 17:09
сообщений: 38
Поставив в функцию target_set_distance лог:
exports.target_set_distance = function(camobj, distance) < . // +y move backward m_trans.move_local(camobj, 0, 0, dist_needed - dist_curr); console.log( dist_needed - dist_curr, dist_needed, dist_curr) . >
увидел вот такое «замечательное» поведение:
0.24475202916423555 24.061330553648283 23.816578524484047
camera.js:713 -0.002985531451095369 24.303095136192763 24.306080667643858
camera.js:713 0.24445855879496392 24.54456826053044 24.300109701735476
camera.js:713 0.0007275665451444979 24.789757477004887 24.789029910459742
camera.js:713 0.24045552017281935 25.030939143135758 24.790483622962938
camera.js:713 0.0024001074795059196 25.273796693955752 25.271396586476246
camera.js:713 0.23725294153727816 25.513448204500904 25.276195262963626
camera.js:713 0.012307774318468745 25.763009294077413 25.750701519758945
camera.js:713 0.22537703427405376 26.000693461726627 25.775316427452573
camera.js:713 0.019593957348543967 26.245664084545968 26.226070127197424
camera.js:713 0.223557283593113 26.48881309357278 26.265255809979667
camera.js:713 0.020250171180155263 26.73261788356489 26.712367712384737
camera.js:713 0.22384764640497679 26.976714131763813 26.752866485358837
camera.js:713 0.019448220698897956 27.220008869894027 27.20056064919513
camera.js:713 0.22275413399766109 27.46221063974871 27.23945650575105
camera.js:713 0.021707906559004897 27.70667121070614 27.684963304147136
camera.js:713 0.21961826199371615 27.947998605940416 27.7283803439467
camera.js:713 0.0220736616171493 28.1896903239332 28.16761666231605
camera.js:713 0.2209988407701431 28.432766468408303 28.21176762763816
camera.js:713 0.02375494666916822 28.67751849757254 28.65376355090337
camera.js:713 0.22041607355007642 28.921687610323158 28.70127153677308
camera.js:713 0.023898771806805996 29.16600245217719 29.142103680370383
camera.js:713 0.21531733017551247 29.40521677541212 29.18989944523661
camera.js:713 0.023314184772736724 29.643848182233455 29.62053399746072
camera.js:713 -0.021420446748784627 29.645742660577678 29.667163107326463
как видите, камера передвигается то на одну величину, то на другую, в 10 раз меньше… Я было подумал, что это возможно из-за того, что я перемещаю сам pivot камеры, но дело в том, что даже если отключить rotate_camera и target_set_pivot_translation все равно наблюдается тоже самое…
В общем, либо неверно определяется расстояние m_trans.obj_point_distance() либо m_trans.move_local() двигает объект слишком сильно… Вцелом, если сделать следующее:
exports.target_set_distance = function(camobj, distance) < if (!m_cam.is_target_camera(camobj)) < m_print.error("target_set_distance(): Wrong camera object or camera move style"); return; > var dist_curr = m_trans.obj_point_distance(camobj, camobj.render.pivot); var dist_needed = Math.max(0, distance); // +y move backward m_trans.move_local(camobj, 0, 0, (dist_needed - dist_curr)/2 ); // примерно в 2 раза меньше надо двигать. m_trans.update_transform(camobj); m_phy.sync_transform(camobj); >
Картинка двигается гооооораздо плавнее. Но, разумеется, не идеально, тк во-первых, сдвиг не совсем в 2 раза больше, чем должен быть, а во-вторых проблема в целом не в этом, а в m_trans.obj_point_distance() либо m_trans.move_local()
Медленная навигация в blender
При навигации в пользовательской перспективе, при приближении к объекту камера становится ОЧЕНЬ медленной, пожалуйста подскажите как это исправить.
Лучший ответ
Можно попробовать установить в настройках чек Auto Depth для улучшения функциональности
Ctrl+Alt+U и перейти на вкладку Interface и установить чек Auto Depth (и можно еще попробовать Zoom to Mouse Position).
https://www.blender.org/manual/ru/preferences/interface.html#view-manipulation
Остальные ответы
Мощности не хватает, качество предпросмотра снизить
UbiquitousЗнаток (319) 1 год назад
Отброс, если не разбираешься в теме не пиши.
Посмотри по этой ссылке. Я понимаю что я очень вовремя:)
https://sudo.in/id504
tyktuk gogoМастер (2239) 1 год назад
Тебе нужно сбросить начальную центральную точку (Shift +C, затем Alt + home) (это более легкий вариант чем в лучшем ответе)
HIM — ХИМ ХудяковУченик (78) 1 год назад
Я сделал комбинацию, но проект в принципе пропал. Что-то не так сделал?
Алексей ГлущукУченик (136) 4 месяца назад
Да, спасибо именно это и помогло. Я в одном из объектов добавлял центральную точку, потом его переместил и появилась такая шляпа. Сбросил центр и все нормально.
Орхан АгададиевУченик (244) 4 месяца назад
Alt Home в принципе не работают. Что они должны делать, менять центр точку? Если да, есть ли альтернатива?
5 проблем в Blender, которые ставят новичков в тупик
Разбираем ситуации, с которыми сталкивается большинство пользователей программы.
Иллюстрация: Nakaridore / Freepik / Pngwing / Annie для Skillbox Media
Леон Балбери
Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.
Во время работы в Blender зачастую встречаются проблемы «на ровном месте». В лучшем случае они существенно замедляют процесс моделирования, в худшем — приводят к откату на предыдущую стадию проекта или к полной его переделке. Подобные ситуации случаются со всеми, но именно новичков они приводят в замешательство, так как опытные пользователи уже знают, как их решить. В этом материале мы разбираем несколько распространённых проблем в Blender и предлагаем способы их устранения.
Проблема №1
Камера во вьюпорте Blender не двигается
Во время работы над проектом пользователь рано или поздно заметит, что приближение и перемещение по осям с помощью колёсика мыши не срабатывает. Угол обзора достигает определённой точки и блокируется.
Проблема №2
Грани, рёбра и вершины дублируются при экструдировании
Пользователь обнаруживает проблему во время последующих корректировок модели или непосредственно при создании UV-развёртки.
Причина. Подобные «сюрпризы» возникают из-за специфики экструдирования в Blender при отмене операции. Если пользователь начал процесс экструдирования Вершин (Vertices), Рёбер (Edges) или Граней (Faces) с помощью клавиши E и по привычке отменил действие, нажав ПКМ/Esc — операция всё равно считается выполненной. Продублированную геометрию можно увидеть, если включить отображение сетки во вьюпорте.
Решение. Параметры объекта нужно привести к единому знаменателю. Переходим в Объектный режим (Object Mode) и нажимаем Ctrl + A; во всплывающем меню выбираем Вращение и масштаб (Rotation & Scale). Таким образом, произойдёт сброс параметров, после чего срез с каждой стороны будет под углом в 45॰.
Даже если модель корректно отображается в режиме просмотра материалов, проблему выдают разные дефекты шейдеров, которые периодически возникают при освещении и текстурировании. Отсутствие нормалей можно заметить не только после экспорта модели в другую программу, но и в самом вьюпорте, если выбрать Сплошной тип затенения (Solid) — значок с белым кругом в правой верхней части окна, — а затем включить Полупрозрачность (X‑Ray) при помощи Alt + Z.
Примечание
Также можно зайти в настройки типа затенения и отметить галочкой опцию Не рисовать задние грани (Backface Culling). В этом случае пустые участки будут более заметными.
Причина. При сборке модели отдельные грани выстроены с изнаночной стороны.
Решение. Выбираем Сплошной тип затенения (Solid) во вьюпорте, открываем настройки Наложения вьюпорта (Overlays) и в опциях геометрии выставляем галочку напротив пункта Ориентация грани (Face Orientation). Теперь все вывернутые грани отмечены красным. Выделяем их в режиме редактирования, жмём Alt + N и выбираем Отразить (Flip). Теперь, когда на модели не осталось ни одного красного участка, можно смело экспортировать её в другие программы.
Примечание
Важно знать, что меши по типу Плоскости (Plane) изначально состоят из одной нормали. Поэтому во время создания объектов вроде лепестков, травинок, ремешков, прядей волос (для низкополигональных персонажей) помните, что у них всё равно существует изнанка. Следовательно, они будут отображаться лишь с одного ракурса (например, в Unreal Engine). Чтобы объект стал двусторонним, используйте модификатор Объёмность (Solidify). Если при создании элементов окружения важна экономия полигонов, моделируйте плоскости таким образом, чтобы их очертания отображались с каждого ракурса.
Проблема №5
После экспорта на модели появились дефекты, но в Blender они не отображаются
Причина. Часто эти изъяны возникают из-за топологии. Как правило, сетка модели состоит из треугольников и четырёхугольников , но иногда встречаются и многоугольники, известные как «нгоны» (от англ. N-gon). С последними не возникает проблем в Blender, но другие программы, в том числе игровые движки, плохо воспринимают подобную геометрию. На примере выше сетку из четырёхугольников разрезали инструментом Нож (Knife). В результате образовались многоугольники, из-за которых модель может некорректно отображаться в сторонних программах.
Решение. Разбиваем геометрию на проблемных участках. Для этого переходим в Режим редактирования (Edit Mode), выделяем многоугольные грани и нажимаем Ctrl + T. После этого нгоны превратятся в скопления треугольников.
Рассмотренные ситуации подтверждают тот факт, что в Blender существует немало «подводных камней». И часто виной тому не ошибки пользователей, а их неосведомлённость в специфике некоторых операций. Зная особенности программы, начинающий 3D-художник сможет потратить время не на поиск и решение проблем, а на совершенствование своих навыков.
В данном случае мы подразумеваем угол обзора при навигации во вьюпорте, а не камеру как объект для визуализации.
В сообществе также распространены определения «трианглы» (от англ. triangles) и «квады» (от англ. quads).