Инструмент привязки ошибается на 0.001 в большинстве случаев, и это никак не понять, почему это случается.
Я понимаю это различие глазом невозможно заметить, но во время моделирование бесит когда выделяешь Vertex на плоской поверхности, а там условно, значение у половины точек "50.152", а у другой половины "50.153"
Как это справить? Перепробовал все что пришло в голову, ничего не помогло.
нужно найти в меню Customize -> Preferences.. -> закладку General -> И в области Spinners (счётчики) выставить значение Precision (точность) 2. Тогда Макс перестает показывать третью цифру после запятой.
На сайте c 27.12.2016
Сообщений: 107
Україна, Київ
Цитата 43block:
Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))
Если не решится, придется сделать так)
Все же, может кто то знает как решить, неужели это не настроить? Очень помогли бы подсказкой.
ну во первых параметр отвечает за точность, если добавить значение точности - будет точнее, второе - 3ds max не инженерный инструмент, если вам нужна супер точность используйте инженерные 3д пакеты
gridsize = 100 for vert in $.selectedVerts do ( vert.pos.x = floor(vert.pos.x/gridsize+0.5)*gridsize vert.pos.y = floor(vert.pos.y/gridsize+0.5)*gridsize vert.pos.z = floor(vert.pos.z/gridsize+0.5)*gridsize )
выделяем вершины, Ctrl+E в максскрипт-едиторе. работает вроде ток с EditablePoly.
Капец, я ничего не понимаю. Я далек от кодов.
Если на человеческий перевести, это может мне помочь?
Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))
Почему самообман? Тогда любое округление - это смообман ) Допустим Вы добьётесь точности до третьего знака после запятой, а в четвертом знаке будет расхождение. Разве что-то принципиально изменится?
Это из-за проблем с точностью чисел с плавающей точкой. Тот кто изучал программирование тот понимает почему так происходит.
Если интересно, то можете почитать здесь: https://habr.com/ru/articles/337260/ , а если не хочется читать, то просто поверьте, все так и должно работать, это не глюк 3Ds Max.
копипастим текст в maxScriptEditor, выделяем весь текст. далее лезем в редактирование вершин геометрии, выбираем нужные. возвращаемся в maxScriptEditor давим Ctrl+E.
выбранные вершины выровняются по сетке с шагом gridsize = 100. хотим иной порог округления, меняем значение gridsize.
стоит оно того? не знаааю. ))
Надо попробовать, завтра за компом когда буду, посмотрю. Спасибо большое за помощь!
Цитата Denis_21:
Цитата 43block:
Denis_21, Спасибо большое за попытку помочь, только это как самообман получается)))
Почему самообман? Тогда любое округление - это смообман ) Допустим Вы добьётесь точности до третьего знака после запятой, а в четвертом знаке будет расхождение. Разве что-то принципиально изменится?
Кстати, да) Я как написал, потом об этом подумал.
Был бы макс менее глючным, цены бы не было.
Вылетал бы по меньше, не появлялись бы артефакты из-за 5 лучей при наклоне сетки, и привязка работала бы четко :))
Цитата kexer79:
Все так и должно быть.
Это из-за проблем с точностью чисел с плавающей точкой. Тот кто изучал программирование тот понимает почему так происходит.
Если интересно, то можете почитать здесь: https://habr.com/ru/articles/337260/ , а если не хочется читать, то просто поверьте, все так и должно работать, это не глюк 3Ds Max.
То есть, например, в место "154.172", можно оставить "154.171", и моя сетка, в местах где различия на 0.001, будет считаться ровной?
Кстати, да) Я как написал, потом об этом подумал. Был бы макс менее глючным, цены бы не было.
Всё-таки это не совсем глюк ) Полагаю, что коллеги, которые говорят, что абсолютная точность в данном случае невозможна, правы. А самое главное, что это не влияет приблизительно ни на что ) Во всяком случае я за без малого 5 лет работы в максе, не припоминаю случая, чтобы мне чем-то помешала стандартная точность (ну или не точность) привязки
это загоны разрабов. Да, я читал про плавающую точку. Но она применяется для неопределённо огромных разностей вычислений. А извините(*** без мата не могу тут) - какая неопределенность вычислений?? Разрабы пытались сделать нечно глобальное и впихнуть невпихуемое. Никто тут не работает на МАКРО или МИКРО уровне. Никто не строит что-то ГАЛАКТИЧЕСКИХ масштабов или МИКРОНЫ! Есть довольно четкие масштабы - от десятков миллиметров до километров (десятков) и не более того. То что они назакладывали в математику применялось бы для намного БОЛЬШЕГО разброса значений параметров.
И вообще в Максе куча дури - начиная с дебильной системы - ИНЧИ миллиметры Футы и тд, условные единицы, и заканчивая постоянными переконвертациями одно в другое. Ни в одной программе - ни архитектурной ни визуальной - нет такого в мире!
+ к пограшеностям работы с float, у макса точность завязана на общем размере объекта, системных единицах и расстоянии от начала коородинат. Если системные единицы будут метры, а пытаться перемещать доли миллиметра, особенно далеко от 0, то могут ожидать сюрпризы )
154.172 вместо 154.171 - это вообще фигня, можно просто забить. Но вот когда у тебя вместо 1050 1049,999 - вот это просто ппц как замедляет работу! Нормально не скопируешь ни в калькулятор, ни из калькулятора, ни в блокнот, запаришься выделять, глаз начинает "путаться" в цифрах...
154.172 вместо 154.171 - это вообще фигня, можно просто забить. Но вот когда у тебя вместо 1050 1049,999 - вот это просто ппц как замедляет работу! Нормально не скопируешь ни в калькулятор, ни из калькулятора, ни в блокнот, запаришься выделять, глаз начинает "путаться" в цифрах...
Зачем запариваться? Двойной щелчок по цифре и она выделена.