четверг, 24 мая 2018 г.

Возможна ли анонимность в интернете?

Анонимность в интернете не интересует только того, кто им не пользуется. Я сама тот еще параноик — не хочу, чтобы мою переписку о котиках кто-то читал. Веб-камеру тоже заклеила, на всякий случай. Решила разобраться, насколько это оправданно.

Почему сложно быть анонимным в интернете

Абсолютной анонимности достичь практически невозможно. Андрей Заикин, руководитель направления информационной безопасности КРОК объясняет: «Существуют средства, обеспечивающие маскировку реальных IP-адресов, их подмену, шифрование трафика и другие. Однако, стоит понимать, что, во-первых, эти средства серьезно снижают удобство использования интернет-сервисов, а во-вторых, уровень анонимности также определяется ресурсами и квалификацией специалистов “на другом конце провода”. Поэтому задача обеспечения анонимности носит вероятностный характер».
Вадим Чакрян, инженер по информационной безопасности в компании DataArt, считает, что анонимность в интернете больше похожа на иллюзию. Социальные сети, поисковые системы, торговые площадки, коммерческие и некоммерческие веб-сервисы и браузеры собирают информацию о пользователях.
«Нас уверяют, что данные, которые собираются, анонимизированы, во многих случаях это так и есть. Но можно ли быть уверенными, что используемое ПО не собирает “немного больше”? Яркий пример нарушения конфиденциальности и приватности — история с Facebook и Cambridge Analytica. Данные обрабатываются алгоритмами машинного обучения, которые могут знать о вас намного больше, чем вы сами», — говорит эксперт.
Многие действия, направленные на сохранение анонимности, бесполезны — они  успокаивают только психологически.
Заклеили веб-камеру, но оставили микрофон включенным, например, чтобы использовать голосового помощника? Вас могут слушать, по крайней мере — искусственный интеллект. Используете Tor-браузер и VPN-сервисы, но посещаете сайты, которыми вы пользовались без них, или хвастаетесь новеньким тату? Вы не анонимны. Случайно раскрыть личность можно, даже обсуждая погоду.
Чем дольше вы под одним и тем же псевдонимом, тем выше вероятность допустить глупую ошибку, по которой вас можно будет вычислить. Мы люди, от этого никто не застрахован. Поэтому нужно постоянно менять свою «цифровую личность».
Есть много банальных способов «спалиться».
Помните, что ваше устройство оставляет уникальный отпечаток. Вас можно вычислить по ходу часов, списку шрифтов и плагинов, информации об установленных расширениях, размеру экрана и прочим параметрам. Это как отпечаток пальца, но в сети. По этой уникальной комбинации данных можно определить конкретного пользователя. Даже Tor не так безопасен, как кажется. Вадим Чакрян замечает: «Не забывайте о косвенных методах идентификации устройствачерез анализ его уникальной информации, даже если вы выходите в интернет через приватный режим браузера и вычищаете куки или используется Tor/I2P».
В общем, всё сложно, и вряд ли стоит по-настоящему заморачиваться, если вы не делаете ничего недостойного.

Как стать «немного анонимным»

Достичь базового уровня анонимности, когда большинство людей не знают, кто вы — простая задача даже для «чайника». «Все, что нужно — это VPN, блокировщик рекламы и инструмент конфиденциальности (privacy tool), например, Privacy Badger. Этот уровень контроля поможет запутать ваши следы в интернете и сбить с толку тех, кто попытается собрать личные данные», — объясняет Бен Уильямс, операционный директор блокировщика рекламы Adblock Plus.
Фото c сервиса limitlessvpn.com
Следующий уровень — достижение анонимности от государства. «Государство может заставить технические компании сдавать информацию, которая заперта в вашем телефоне, — информацию, которую даже сами компании не знают (например, как в ситуации с Apple в случае массовой стрельбы в Сан-Бернардино). Используя специальные браузеры, отказываясь от смартфонов и предпринимая множество других шагов, которые я даже не рассматривал, можно отвоевать приватность в интернете. Однако, оставаясь активным пользователем гаджетов, для достижения реальной онлайн-анонимности нужно быть ученым-программистом», — продолжает Бен Уильямс.

Радикальная прозрачность как альтернатива шифропанку

Многие эксперты пророчат радикально прозрачное будущее. Даниэль Лаример, разработчик, сооснователь BitShares и Steemit, считает, что лучший способ достичь свободы в интернете — использовать метод Айкидо. Это значит — не принимать удар, а тянуть оппонента за собой, выводя из равновесия. То есть не сопротивляться с помощью всевозможного шифрования, а требовать от всех (и правительства в том числе) максимальной открытости.
«Когда заходит речь о приватности, выясняется, что мы, как общество, живем по двойным стандартам. Мы хотим знать всё обо всех и одновременно заботимся о том, чтобы никто не знал ничего лишнего о нас. Просить других добровольно не шпионить за нами означает просить их действовать вопреки их собственным интересам», — считает Даниэль.
С такой логикой соглашается и Вячеслав Золотухин, идеолог и основатель умной системы управления задачами EvoDesk: «Я уверен, что тренд на ближайшее время — это не только максимальная открытость, но и так называемая “подтверждаемая открытость”. То есть меньше голословной информации, и все больше той, которой действительно можно доверять. Если вы нанимаете сотрудника, вы хотите знать максимум информации о нем до его вступления в должность. Если вы пытаетесь устроиться на работу, то хотели бы заранее узнать о том, какое начальство и коллеги вас будут окружать. Если вы собираетесь совершить покупку, то собираете отзывы и комментарии о товаре и продавце». Эксперт считает, что информационный вакуум не может быть односторонним: если мы хотим знать всё обо всех, то и нам придется рассказать всё о себе.
«Анонимность сильно переоценена. Это как в анекдоте про Неуловимого Джо, который неуловим только потому, что никому не нужен. Люди пытаются быть максимально скрытными, при этом не понимая, какие блага дает им открытость. Например, знание о том, какие запросы вы делаете в поисковиках, позволяет системам контекстной рекламы давать вам максимально таргетированные объявления вместо того чтобы показывать все подряд, увеличивая информационный шум вокруг вас», — продолжает Вячеслав.


Шифропанк VS радикальная открытость

Достижение абсолютной анонимности, «шифропанковой нирваны» звучит романтично, но на деле — это опасно, так как моральный уровень многих людей может быть невысоким. «Эта свобода далась бы ценой предоставления опасным лицам права воровать, вымогать и похищать людей за выкуп. Это позволило бы опасным лицам стереть свое криминальное досье и продолжать обманывать других», — считает Лаример. Можно возразить, что злоумышленники всегда найдут способ обмануть людей. Но, с другой стороны, порог вхождения для них будет выше. Вопрос только в доверии к регуляторам.
По мнению Вадима Чакряна, нужно найти золотую середину: «Я — убежденный сторонник прозрачности и доверия в системах, которые касаются социальных аспектов жизни, и настолько же убежденный сторонник приватности каждой частной жизни в отдельности. Не хотелось бы очутиться в мире из серии «Нырок» сериала «Черное зеркало», где у каждого человека есть социальный рейтинг, от которого зависит, как ему позволено жить. В Китае, кстати, уже есть подвижки в эту сторону».
Как по мне, переход к открытости уже происходит и за некоторыми явлениями наблюдать очень смешно. Люди постят в соцсети дорогие покупки, интимные подробности быта. Даже Павел Дуров публикует фотографии из путешествий в Instagram. При этом мало кто думает, что это может быть опасно, но за свои «привет, как дела?» многие очень переживают. Возможно, в 2030 году будет нормой постить свой поток мыслей в новомодную социальную сеть на блокчейне. Главное, чтобы анонимность не давала преимуществ и все были одинаково открыты.
Автор: Юлия Фролова

В топе киберугроз — майнеры и эксплойты

Майнеры заменили вымогателей

В конце 2017 года аналитики предсказывали, что из-за роста интереса к криптовалютам и их стоимости увеличится число киберпреступлений, связанных с майнингом. И прогнозы подтвердились.
По данным компании Comodo, первый квартал 2018 года значительно отличается от аналогичного периода 2017 года. Подавляющее большинство инцидентов связано с криптомайнерами, которые сместили вымогателей с места угрозы номер один. Специалисты в течение нескольких лет наблюдают за увеличением числа программ, которые проникают в чужие компьютеры, чтобы добывать криптовалюту. Однако подорожание биткоина до 20 тысяч долларов ускорило этот рост в разы, что и вызвало изменение приоритетов на криминальной киберарене. В первом квартале в Comodo Cybersecurity выявили 28,9 миллионов преступных инцидентов с криптомайнерами, что составило 10% от общего числа нарушений безопасности.
Однако эксперты считают, что списывать вымогателей со счетов рано. В частности, более опасными и изощрёнными становятся программы, похищающие пароли. Не исключено, что этот инструмент начнут использовать не для получения денег, а для уничтожения данных.
В «Лаборатории Касперского» тоже подвели итоги первого квартала и выяснили, что число атак с использованием эксплойтов Microsoft Office увеличилось в четыре раза. В компании их поставили на первое место в топе киберугроз.
Атаки, основанные на эксплойтах, считаются мощными, потому что не требуют взаимодействия с пользователем и добавляют вредоносный код незаметно. Но в начале 2018 года значительный рост показало распространение ПО, ориентированного именно на взлом Microsoft Office. При этом уменьшилось число атак с использованием эксплойтов на Adobe Flash Player. Однако это вызвано не потерей интереса со стороны хакеров, а совместными усилиями двух компании по борьбе с угрозами.
В 2018 году, когда хакеры нацелены не только на конфиденциальную информацию и похищение денег, но и на использование мощностей чужого оборудования, в безопасности себя не может чувствовать практически никто. В первом квартале специалисты Comodo Cybersecurity обнаружили 18 типов вредоносных программ. Причём лидером по числу обнаруженного опасного ПО стала Россия. Наиболее распространены были вредоносные приложения, трояны, вирусы, изменяющие файлы, самораспространяющиеся черви.

Хакеры VS человеческий фактор

Одним из наиболее громких нарушений безопасности 2018 года стало обнаружение взлома «облака» компании Tesla. Поведение хакеров подтверждает выводы Comodo об интересах злоумышленников. На платформе хранились закрытые данные, в том числе патенты, разработки. Но документы остались нетронутыми, а облачные сервера Tesla были использованы для майнинга криптовалют. С аналогичными целями хакеры атаковали Федеральную судебную систему США и Национальную службу здравоохранения Великобритании.
Жертвой крупнейшей в истории DDoS-атаки в феврале стал GitHub. Объём входящего трафика на пике составил 1,35 терабит в секунду. Сначала сервера GitHub были недоступны, затем работали с перебоями. К отражению атаки подключился специализированный сервис Akmai Prolexic, который перенаправлял вредоносные пакеты в обход цели, и работу сайта удалось восстановить.
В январе киберпреступник похитил у владельцев кошельков IOTA токенов на 3,9 миллионов долларов. Он создал фишинговый генератор ключей, которым пользовались обладатели криптовалюты, чтобы зарегистрировать кошелёк. Сайт был создан за шесть месяцев до кражи, всё это время хакер терпеливо собирал данные.
Атака злоумышленников на оборудование Cisco привела к массовым сбоям в работе интернета. Через уязвимость в Cisco Smart Install Client хакеры стирали конфигурационный файл. В итоге из строя выводились сегменты сети и даже провайдеры целиком.
Примечательно, что один из наиболее заметных случаев с нарушением безопасности был связан не с атаками хакеров. Причиной стала человеческая безалаберность. Оказалось, что из-за ошибки пароли пользователей Twitter несколько месяцев хранились в незашифрованном виде, и доступ к ним теоретически мог получить кто угодно. Это в целом характерно для сферы безопасности. По информации одного из преподавателей факультета Информационной безопасности GeekUniversity, Мефодия Келевры, 70% взломов происходит без технических премудростей, через людей. Основная опасность человеческого фактора в том, что злоумышленнику не нужно быть гениальным IT-специалистом, достаточно разбираться в психологии.

Новые стратегии и BugBounty-программы

Хакеры совершенствуются, и это заставляет усиливать меры безопасности на государственном уровне. В 2018 году в США представили новую национальную стратегию кибербезопасности. Ожидается, что к 2020 году в стране будет подключено к интернету более 20 млрд устройств. При этом фиксируется всё больше сложных таргетированных атак на цифровые объекты. В Министерстве внутренней безопасности США опасаются, что действия злоумышленников будут связаны со шпионажем, политическими и идеологическими интересами. Причём жертвами могут стать и технологические компании, и простые граждане.
Обновили государственную стратегию и в Дании. Скандинавы намерены подойти к отражению киберугроз комплексно. Новая политика информационной безопасности в этой стране направлена на укрепление систем энергетики, транспорта, финансов, коммуникаций, здравоохранения и морского движения. В ближайшее время основам кибербезопасности могут начать учить в школе.
Есть изменения и в российской стратегии. Власти обещали платить за найденные уязвимости в отечественных IT-системах. На эти цели отводилось 500 миллионов из бюджета и 300 миллионов внебюджетных рублей. Идея своевременная. Например, по данным московского департамента информационных технологий, хакеры атакуют правительственные ресурсы в столице каждые 20 секунд. В прошлом году попытки взлома фиксировались каждые 30 секунд.
Компании также готовы платить за помощь специалистов по безопасности. В апреле программу Bug Bounty обновили в Facebook. Из-за скандала с утечкой данных компания начала строже относиться к сторонним приложениям и сосредоточилась на их злоупотреблении информацией о пользователях. Сейчас Facebook обещает до 40 тысяч долларов тем, кто обнаружит, что сторонние разработчики пытаются получить доступ к закрытым данным. Причём в особо сложных случаях вознаграждение могут увеличить.
Создатели Half-Life, Portal, Counter-Strike и Dota 2 из Valve в мае запустили программу HackerOne и уже в первую неделю проекта выплатили исследователям 110 тысяч долларов. В основном речь шла о нарушениях безопасности в Steam. С закрытого формата на открытый сменили программу Bug Bounty в Netflix. Компания обещает за находки вознаграждение до 15 тысяч долларов.
Расширили BugBounty-программы в Microsoft, Intel, «Лаборатории Касперского». Последняя увеличила размер максимального вознаграждения в 20 раз — до 100 000 долларов.

Увеличивая финансирование, компании пытаются в том числе стимулировать интерес к IT-безопасности. Специалистов в этой сфере не хватает во всём мире, и Россия не исключение. В частности, директор продуктового офиса «Информационная безопасность» «Ростелекома» Станислав Барташевич заявил, что дефицит кадров связан с тем, что вузы готовят их неправильно: в университетах обучают узких специалистов, а отрасли требуются люди, владеющие большим набором современных инструментов.
О потребности в специалистах по компьютерной безопасности говорит заработок специалистов по информационной безопасности. Уже сейчас средняя зарплата штатного сотрудника в этой сфере в 2,3 раза превышает среднюю по России.

Популярные среды разработки и их недостатки

Важнейшим элементом в процессе разработки приложения является выбор правильной IDE, зависящий не только от платформы, но и уровня собственной подготовки. Давайте познакомимся с наиболее популярными из них методом «от противного», представляя не столько их преимущества, сколько наиболее часто встречаемые укоры со стороны разработчиков.
Начнём с официальных представителей лидеров мобильного рынка: Windows, Google и Apple.

Visual Studio 2015

Описание: один из старейших программных продуктов для создания как консольных приложений, так и обладающие графическим интерфейсом. Добавление сторонних плагинов позволяет серьёзно расширить функциональность среды, в том числе до кроссплатформенного состояния.
Недостатки: новичку будет просто невозможно самостоятельно разобраться с Visual Studio без прохождения специальных курсов и чтения литературы. Это продукт скорее для опытных разработчиков, обращающих внимание на качество редактора и функции тестирования.

Android Studio

Описание: относительно молодая и стремительно развивающаяся IDE, ориентированная на разработчиков приложений для Android.
Недостатки: скупые возможности персонализации проявляются в редакторе кода и общих настройках. Мелочь, а неприятно.

XCode

Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.
Недостатки: многие разработчики жалуются на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. Кроме того, XCode относительно сложная IDE для самопознания новичком. 
От официальных представителей перейдём к универсальным кроссплатформенным средам разработки:

Xamarin Studio

Описание: популярный инструмент разработки приложений под Windows, Phone, Android и iOS, использующий по сути только один язык — C#. Помимо непосредственно Xamarin Studio вы также можете пользоваться плагином для Visual Studio.  
Недостатки: незначительные, но тем не менее регулярные ошибки, как непосредственно в самой IDE, так и в выходном коде. Также, несмотря на репутацию кроссплатформенной среды, портировать уже готовые приложения на Xamarin достаточно затруднительно.

IntelliJ IDEA

Описание: IDE, разработанная компанией JetBrains, позволяющая создавать программы на множестве популярных языков, среди которых Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.
Недостатки: производительность. Томительное ожидание выполнения компиляции, перекомпиляции, тестирования порой действительно раздражает.

Appcelerator Titanium

Описание: платформа для быстрого создания консольных и графических приложений для всех подручных устройств.
Недостатки: возможности, предоставляемые Appcelerator Titanium имеют и обратную сторону: генерируемые ошибки в коде, искусственные ограничения, недостаточно качественная документация.

Eclipse

Описание: среда разработки, изначально ориентированная на работу с Java, прославилась большим количеством внешних модулей, существенно расширяющих её функциональность (в том числе, это касается количества поддерживаемых языков).
Недостатки: существенная нехватка документации, нет единого сообщества разработчиков.

Netbeans

Описание: мощная IDE для разработки приложений на Java, JavaScript, Python, PHP, C, C++ и даже Ада.
Недостатки: невысокое быстродействие из-за концепции «всё в одном». Некоторые плагины (в том числе для разработки приложений для Android) имеют существенные ограничения функциональности.

PhoneGap

Описание: необычная среда разработки кроссплатформенных приложений, не требующая знания «родных» языков. То есть для того, чтобы создать приложение для Android, знание Java вам не потребуется. Используются JavaScript в связке с HTML5 и CSS3.
Недостатки: ограниченная функциональность вызванная непосредственно основной идеей не целевой среды разработки.

Автор: Илья Бубнов

вторник, 17 апреля 2018 г.

Описание скриптов в 3DS Max

Коллекция скриптов для программы 3ds max от известного 3D-художника Neil Blevins.
Часть из них была написана им во время работы в студии Blur, часть - для себя лично. Пакет включает шестьдесят два скрипта.
Скрипты имеют формат MS и MSR. Скрипты формата MS устанавливаются через вкладку главного меню MAXScript-->Run Script, затем открывается окно и в нем можно выбрать нужный файл. С установкой скиптов формата MSR возникают некоторые проблемы.
Некоторые скрипты из коллекции, которую вы можете скачать по ссылке внизу страницы:
  • groupWithPoint - предназначен для группирования объектов посредством присоединения их к вспомогательному объекту, а не стандартным способом 3ds max. Этот скрипт реализует технологию группировки объектов, похожую на ту, которая используется в программе Maya.
  • imagePlaneMaker - создает набор двумерных плоскостей с изображениями, которые можно использовать для создания моделей. - pointTracker - присоединяет точку к выделенной вершине и запекает информацию о ее положение.
  • alignViewportToFace - предназначен для выравнивания текущего окна проекции относительно выделенной поверхности.
  • attachSelectedObjects - объединяет выделенные объекты и сплайны.
  • findByActiveMaterial - находит все объекты, которым назначен материал, который является активным в Редакторе материалов, и позволяет выполнять с ними различные операции - распечатывать их список, выделять их и т.д.
  • cameraFromPerspView - изменяет текущий вид и окна проекции на вид из камеры
  • findInstances - находит копии выбранных объектов и производит различные действия с ними (выделяет, распечатывает их имена и т.д.)
  • getMatFromSelectedObject - помещает материал выбранного объекта в Material Editor.
  • aligner - альтернатива обычному инструменту Align в 3ds max. Позволяет выровнять объекты, выполнив меньше действий, чем стандартным способом.
  • materialRemover - убирает материалы с выделенных объектов
  • modifySubdivIters - позволяет увеличить или уменьшить количество итераций разбиения для выделенных объектов
  • materialInfoDisplayer - отображает разную информацию относительно свойств материала выбранного объекта (например, его название, Material ID, который используется, map channels и т.д).
  • powerSolidManager - позволяет управлять параметрами объектов Powersolids
  • putPivot - помещает опорную точку выделенных объектов в одно из 27-ми положений: в левый верхний угол, в нижнюю часть и т.д.
  • soulburnScriptsLister - позволяет легко запускать скрипты данного пакета
  • subdivisionManager - позволяет управлять различными параметрами разбиения выделенных объектов
  • texmapPreview - рендерит выделенную текстуру, примененную к объекту. Выполняет то же действие, что и опция Show Map In Viewport, но гораздо качественнее.
  • getNodeType - распечатывает классы или супер-классы выбранных оболочек
  • splineKnotManager - изменяет тип точки излома всех выбранных сплайнов и устанавливает для них всех тип "Smooth", "Corner", "Bezier" или "Bezier Corner"
  • transformReset - сбрасывает параметры положения, вращения и/или масштабирования всех выбранных объектов
  • twoDPlanView - создает плоский вид сцены. Этот скрипт удобно использовать при создании двумерных элементов, используя инструменты 3ds Max.
  • splineManager - позволяет изменять разные параметры сплайнов.
  • objectReplacer - предназначен для замены выделенных объектов новым или же выбранным случайным образом из набора других объектов.
  • objectDetacher предназначен для преобразования элементов редактируемого сплайна, полигональной или редактируемой поверхности в отдельные объекты. - wireColorRandomizer - изменяет цвет сетки в случайном порядке.
  • calculatorLauncher - запускает калькулятор прямо из интерфейса 3ds Max.
  • parameterManager - дает возможность одновременно изменять параметры выделенных объектов или примененных к ним модификаторов.
  • uVWMappingCopier - копирует модификатор UVWMapping с одного объекта на все выделенные. В отличие от копирования модификаторов в стеке, тут оно работает в глобальном пространстве.
  • vertexAndEdgeConnector - в 3ds Max нельзя назначить одну и ту же горячую клавишу для операции объединения ребер и вершин, нельзя также при помощи одной и той же горячей клавиши выполнять операции объединения в EditablePoly и EditPoly. Этот скрипт дает возможность это сделать. При использовании заданного хоткея, он автоматически определяет, в каком режиме вы работаете, и выполняет нужное действие.
  • edgeSelectByAngle - позволяет выделять ребра, основываясь на том, под каким углом расположены поверхности. Это может бысть удобно, например, если нужно выделить все острые ребра объекта для того, чтобы сделать фаску.
  • circleArrayMaker - создает массив объектов, которые всегда образуют замкнутую окружность.
  • viewportControl - Дает возможность управлять видом окна проекции при помощи удобного окошка.
  • selectionRandomizer - Выбирает объекты случайным образом, на основе указанного значения
  • modifierUtilities - дает возможность выполнять многие операции, связанные с модификаторами, относительно выделенных объектов. Например, добавлять копии модификатора ко всем объектам, находить среди выделенных объектов те, к которым применен какой-нибудь модификатор.
  • parentSelector - выделяет объекты, которые не являются подчиненными другим.
  • subdivisionAutomator - быстро назначает модификатор Meshsmooth или Turbosmooth ко всем или выделенным объектам сцены.
  • blendedBoxMapMaker - применяет к выделенным объектам прямоугольное проецирование, но при этом устраняет проблемы швов на ребрах параллелепипеда.
  • selectionHighlighter - скрипт добавляет в 3ds Max возможность выделения, подобную Selection Highlighting в Silo. Идея в следующем: если вы перемещаете курсор в область объекта, он выделяется, и нет необходимости выполнять дополнительные клики мышкой. Этот скрипт работает только в 3ds Max 2008.
  • bitmapCollector - собирает все растровые карты, которые используются в сцене, и помещает их в одну папку, а также обновляет пути к ним в настройках материалов.
  • objectPainter - дает возможность выдавливать разные объекты на фрагменте геометрии.
  • softSelectionControl - включает/выключает мягкое выделение.
  • faceNormalDisplayer - включает/выключает отображение нормалей поверхностей.
  • surfaceSnapper - дает возможность перемещать один объект по поверхности другого.
  • vertSelectionToObject - размещает объекты на местах вершин, которые выделены в настоящий момент.
  • materialMover - дает возможность быстро перемещать материалы. Может использоваться для помещения большого числа материалов в библиотеку, для помещения всех материалов сцены в ячейки редактора материалов, для применения материала к набору объектов сцены и т.д.
  • findUniqueObjects - выполняет поиск в рамках выделения единственных в своем роде объектов, то есть, тех, у которых нет зависимых копий. Дает возможность выполнять разные действия с найденными объектами: выделяет, выводит их названия, изолирует и т.д.
  • cornerEdgeToVertexMap - выделяет ребра, на основе угла между прилегающими поверхностями, а затем конвертирует их в карту вершин. Например, вы можете выделить угловые ребра, а затем конвертировать в карту вершин для использования в качестве карта рельефа или маски для смешивания текстур.
  • VertexMapDisplayer - включает/выключает отображение карты вершин в окне проекции для всей сцены или только выделенных объектов.
  • instanceTrimmer - работает с выделенными объектами. Проверяет их на предмет зависимых копий (instances) и оставляет в выделении только одну такую копию.

вторник, 13 марта 2018 г.

Скругляем углы объектов в 3D max

В этом уроке, предметами нашего изучения станут закруглённые края/галтели (Fillets) и фаски/скосы (Chamfers), а также различные приёмы, с помощью которых они моделируются. Для начала – что такое фаска и галтель? В мире математически идеальной компьютерной графики грани объектов ровные, точнее жёстко-очерченные или так называемые "твёрдые грани" (hard edges). Когда вы создаёте куб, все его грани являются остроконечными, в реальности, практически все предметы имеют закруглённые грани (иногда, конечно, едва заметные). Взгляните на это фото стола :
Твёрдые грани, на самом деле закруглённые, если рассмотреть их вблизи. Когда вам нужно добиться того, чтобы предметы, созданные в программе моделирования, выглядели более правдоподобно, закругление граней является необходимым требованием, которое будет придавать вашей работе больший реализм и зрительную привлекательность, так как, например, только на округлённых гранях возможны блики, недостижимые при математически совершенных углах.
Фаска это когда грань срезается (например) на 45 градусов. Галтель почти то же самое, но срез граней делается с закруглением. Более понятно, на приведённой ниже диаграмме :
Исходная модель
Вот наша исходная модель, со всеми идеально прямыми гранями. Модель в формате obj можно загрузить здесь.

Полигональная модель, 50 многоугольников в видовом окне, и 50 после рендера.
Попробуем разные возможные способы снятия фаски и закругления краёв для данной модели. Вот список всех приёмов в 3DStudio MAX, которыми мы воспользуемся :

3DStudio MAX

Фаски в Edit Poly

Для начала, используем встроенный в модификатор Edit Poly метод создания фаски (модификатор можно использовать и с Edit Mesh и с Editable Poly). Применяем к объекту модификатор Edit Poly, выделяем все твёрдые грани и нажимаем Chamfer.
chamfered
Polys (полигональная модель), 324 многоугольника в видовом окне и при рендере.
Выглядит гораздо лучше, обратите внимание на появившиеся едва заметные блики на этих гранях, модель стала реалистичнее и визуально интересней. Единственный минус, количество многоугольников возросло с 50-ти до 324-ёх. Однако, так как созданная фаска является частью модификатора edit poly, его можно отключить в случае, когда объект будет находиться достаточно далеко от камеры, или включить расчёт изменений модификатора только при рендеринге, в результате чего окна просмотра не будут перегружены дополнительными многоугольниками. И если нужно будет изменить геометрию объекта до того, как был применён модификатор, можно отключить (или совсем удалить) его, чего нельзя получить если моделировать фаску на исходном объекте. На самом деле, это весьма знáчимая особенность стека модификаторов в max-е.

Многократное создание фаски в Edit Poly.

Тот же самый (предыдущий) способ снятия фаски, только применённый повторно для уже срезанных граней.
Результат применения этого способа очень похож на способ сглаживания (округления) граней, но добавляет бóльшее количество дополнительных многоугольников в сетку модели.Также этот метод создаёт дополнительную геометрию в объекте, особенно в углах (см. ниже), множество трёх- и шестигранников, которые, как правило, не желательны.

И наконец, видимые различия между однократным и многократным закруглением настолько незначительны, что зритель вряд ли заметит их пока не приблизится к объекту достаточно близко, следовательно, использование данного метода весьма спорно.

Срезанные грани (несколько раз), 932 многоугольника в видовом окне и при рендере.

Создание фаски с помощью сегментов в Edit Poly

Max 2008 дополнил модификатор edit poly новым параметром, воспроизводящим предыдущий метод (многократную фаску) полуавтоматически. Создавая фаску, просто установите значение "Segments" выше, чем 1...
Полученный результат при близком рассмотрении:
И рендер:

Срезанные грани по сегментам, 562 многоугольника в видовом окне и при рендере.
Здесь имеем те же преимущества и недостатки, что и при использовании метода многократного снятия фаски. Хотя, всё же есть несколько различий, например, данный способ : 1) легче создаётся, 2) уменьшает (и оптимизирует) количество получаемых многоугольников и 3) углы сглаживаются более продуманно, хотя треугольники всё же присутствуют, как можно заметить на предпоследней картинке.

Meshsmooth с дополнительными замкнутыми контурами (Extra Loops)

Двигаемся дальше и рассмотрим закруглённые грани (галтели). Предположим, мы будем рассматривать данный объект с достаточно близкого расстояния, сравнивая эффект закруглённых граней с эффектом фасок.
Начнём с секций или сабдивов (subdiv=subdivision – подраздел(ение), секция). Получить сабдивы в 3ds max можно, используя модификатор meshsmooth (или turbosmooth, у которого меньше настроек, но который и памяти использует меньше). Вот пример :

Meshsmooth, 708 многоугольников в видовом окне, 11328 многоугольников при рендере.
Выглядит даже лучше, чем объект с фасками, однако, заметьте увеличившееся количество многоугольников в видовом окне, и значительно бóльшее их количество при финальном просчёте (рендеринге). Это обусловлено двумя причинами. Количество многоугольников в видовом окне выросло из-за того, что при использовании этого метода округления граней необходимо создание дополнительной геометрии вокруг граней. Без дополнительной геометрии, грани станут слишком сглаженными. Вот пример такой дополнительной геометрии, которую нужно добавлять.
Хотя добавление дополнительных сечений заняло у меня больше времени (что означает больше времени на моделирование модели в целом), и в результате стало больше многоугольников, конечный объект выглядит лучше, чем объект с фасками. Другой недостаток в том, что в 3ds max, сабдивы рассчитываются отдельным шагом. Другие рендеринг-алгоритмы способны рассчитывать сабдивы во время рендера, и добавлять столько дополнительных многоугольников, сколько требуется для получения конечной поверхности. Так, если объект находится вдали от камеры, он сглаживается меньше, а большие плоские площади не сглаживаются так, как будут сглаживаться грани объектов. В max-е плоские поверхности, которые не нуждаются в сглаживании всё равно будут сглаживаться, вот почему (частично) количество многоугольников при рендере может быть достаточно большим.
Другим преимуществом данной техники является то, что все углы модели становятся четырёхугольными, вместо "ужасных" треугольных, получаемых при некоторых других способах закругления граней.
quadcorner

Meshsmooth с загибом (Creasing)

А как насчёт опции загиб/складка в Meshsmooth? В модификаторе Meshsmooth есть опция, называемая складка или загиб (у Turbosmooth-а такой опции нет, и для данного способа он не подойдёт). Вместо добавления дополнительной геометрии для сглаживания граней в сетке объекта, вы указываете насколько грань будет загнута, точнее натянута (с прилегающими к ней многоугольниками внутри модификатора meshsmooth), указывая значение для грани: 0 – без натяжения, 1 – величина полного натяжения, и промежуточные величины. Вот результат :
crease
Загиб (натяжение) граней в Meshsmooth, 50 многоугольников в видовом окне, 1600 при рендере.
В видовом окне количество многоугольников равно исходному количеству, при рендере их количество меньше, по сравнению с предыдущим способом, однако, как видно результат нисколько не напоминает эффект фаски. Загибы (складки) могут быть полезны в некоторых ситуациях при моделировании органики, но в общем, у меня никогда не получалось воспроизвести эффект фаски у моделей с твёрдыми гранями.

Meshsmooth-методы: четырёхугольника (Quad) и классический (Classic)

В модификаторе Meshsmooth есть ещё пара методов сглаживания кроме NURMS-сглаживания. Попробуем классический (Classic), установим параметр Strength меньше 0,5, например 0,1. Этот метод сглаживания создаёт результат, похожий на создание фаски в ручную, с той лишь разницей, что с некоторыми гранями "происходит что-то странное", как на картинке ниже :
classic
Meshsmooth Classic, 50 многоугольников в видовом окне, 1596 при рендере.
При использовании другого метода – Quad Output, применённого к модели с твёрдыми гранями, также получаем не те результаты, которые хотелось бы.
quad
Meshsmooth Quad Output, 50 многоугольников в видовом окне, 1600 при рендере.

Meshsmooth с EdgeChEx

Этот метод очень похож на метод Meshsmooth с использованием дополнительных замкнутых контуров, за исключением того, что мы используем плагин-модификатор EdgeChEx для создания дополнительных контуров, вместо создания их вручную. Плагин можно скачать здесь.
Возьмём наш объект, применим модификатор (EdgeChEx), затем применим Meshsmooth. Возможно, нужно будет немного понастраивать параметры модификатора, и затем, может даже преобразовать объект в editable poly и подрегулировать полученные с помощью модификатора грани, но всё равно это на много быстрее, чем добавлять дополнительную геометрию вручную. Вот результат рендера :
EdgeChEx
Meshsmooth, 900 многоугольников в видовом окне, 14400 при рендере.
Вот некоторые настройки плагина :
edgplagui

Power Solids

Другой метод – это использовать PowerSolid. Плагин PowerSolids от npowersoftware это тип геометрии, которую можно обозначить как "что-то переходное между многоугольной сеткой (Polygon object) и сеткой NURBS".
Как и в методе Meshsmooth с загибом (Creasing), создаётся поверхность, и для выделенных граней устанавливается величина их закругления. Для большей скорости, есть автоматическое закругление граней, в котором задаётся величина закругления для любого угла (не затрагивая граней, существующих на плоских поверхностях объекта). Взгляните на результат:
powersolids
PowerSolids, 1900 многоугольников при рендере.
Выглядит превосходно и это при среднем количестве многоугольников. Кроме того, если объект становится меньше, powersolids автоматически уменьшит величину аппроксимации сетки объекта (tesselation). Единственным недостатком powersolids является то, что их нельзя деформировать, применяя к ним модификаторы подобные bend, twist или skin; сначала нужно преобразовать powersolids в полигональный объект, после чего, получим те же ограничения полигонального объекта .

Закруглённые углы в mentalray

В свойствах материала mentalray есть параметр (bump-карты), создающий иллюзию закруглённых углов (краёв). Назначим объекту материал Arch and Design, переходим в Special Effects и включаем свойство Round Corners. Вот его настройки:
Довольно симпатичный результат, и без добавления каких-либо дополнительных многоугольников...
roundcorner
Закруглённые углы в mentalray, 50 многоугольников в видовом окне и при рендере.
Пара проблем лишь в том, что 1) рендер только через mentalray и 2) поскольку используется bump-карта, этот метод хорошо работает только на большом расстоянии, если приблизиться, иллюзия исчезает. Посмотрим на угол и грани объекта крупным планом :


 

Как уменьшить количество полигонов в 3ds Max

Полигональное моделирование — один из самых популярных и распространенных способов создания трехмерной модели. Чаще всего для этого используют программу 3ds Max, поскольку она обладает оптимальным интерфейсом и широким набором функций.
В трехмерном моделировании различают высокополигональное (high-poly) и низкополигональное (low-poly). Первое характеризуется точной геометрией модели, плавными изгибами, высокой детализацией и чаще всего применяется для фотореалистичных предметных визуализаций, дизайне интерьеров и экстерьеров.
Второй подход встречается в игровой индустрии, мультипликации и для работы на компьютерах невысокой мощности. Кроме этого, низкополигональные модели также применяются на промежуточных этапах создания сложных сцен, и для объектов, для которых не требуется высокая детализация. Реалистичность модели осуществляется с помощью текстур.
В этой статье рассмотрим, как сделать так, чтобы модель имела как можно меньше полигонов.
Содержание
  • Как уменьшить количество полигонов в 3ds Max
  • Снижение параметра сглаженности
  • Оптимизация сетки

Как уменьшить количество полигонов в 3ds Max

Сразу оговоримся, что не существует способа «на все случаи жизни» превращения высокополигональной модели в низкополигональную. По правилам, моделлер должен изначально создавать объект под определенный уровень детализации. Корректно изменить количесвто полигонов мы можем лишь в некоторых случаях.
1. Запустите 3ds Max. Если он не установлен на вашем компьютере.
2. Откройте сложную модель с большим количеством полигонов.
Уменьшить количество полигонов можно несколькими способами.

Снижение параметра сглаженности

1. Выделите модель. Если она состоит из нескольких элементов — разгруппируйте ее и выделите элемент, для которого нужно снизить число полигонов.
Разгруппировать объект в 3ds Max
2. Если в списке примененных модификаторов присутствует «Turbosmooth» или «Meshsmooth», выберите его.
Уменьшить количество полигонов в 3ds Max 1
3. Снизьте параметр «iterations». Вы увидите, как количество полигонов будет убавляться.
Уменьшить количество полигонов в 3ds Max 2
Этот способ самый простой, но имеет недостаток — далеко не каждая модель имеет сохраненный список модификаторов. Чаще всего она уже конвертирована в полигональную сетку, то есть, попросту, «не помнит», что к ней применялся какой-либо модификатор.

Оптимизация сетки

1. Предположим, у нас модель без списка модификаторов и имеет много полигонов.
2. Выделяем объект и назначаем ему модификатор «MultiRes» из списка.
Уменьшить количество полигонов в 3ds Max 3
3. Теперь раскройте список модификатора и нажмите в нем «Vertex». Выделите все точки объекта, нажав Ctrl + A. Нажмите кнопку «Generate» внизу окна модификатора.
Уменьшить количество полигонов в 3ds Max 4
4. После этого станет доступна информация о количестве связанных точек и проценте их объединения. Просто уменьшите стрелочками параметр «Vert percent» до нужного уровня. Все изменения в модели отобразятся моментально!
Уменьшить количество полигонов в 3ds Max 5
При этом методе сетка становится несколько непредсказуемой, может нарушиться геометрия объекта, однако для многих случаев этот способ является оптимальным для снижения количества полигонов.
Итак мы рассмотрели два способа упрощения полигональной сетки объекта в 3ds Max. Надеемся этот урок принесет вам пользу и поможет создать качественные 3D-модели.
Автор: Viewport

Как протестировать оперативную память

Программа MemTest86+ создана для тестирования оперативной памяти. Проверка происходит в автоматическом или ручном режиме. Для работы с программой необходимо создать загрузочный диск или флешку. Что мы сейчас и сделаем.
Содержание
  • Создание загрузочного диска с MemTest86+ в среде Windows
  • Начало тестирования
  • Настройка MemTest86+
  • Главное Меню MemTest86+
  • Описание Отдельных Тестов
  • Терминология программы MemTest86+
  • Результаты Теста
  • Время Выполнения
  • Восстановить дисковое пространство на флешке
  • Видео-урок:

Создание загрузочного диска с MemTest86+ в среде Windows

Заходим на официальный сайт производителя (Там же есть инструкция по MemTest86+, правда на английском языке) и скачиваем установочный файл программы. Затем, нам необходимо вставить CD-диск в привод либо флешку в USB-разъем.
Запускаем. На экране вы увидите окно программы для создания загрузчика. Выбираем куда закидывать информацию и «Write». Все данные на флешке будут утеряны. Помимо этого, в ней произойдут некоторые изменения, в результате чего ее объем может уменьшиться. Как это исправить я опишу ниже.

Начало тестирования

Программа поддерживает загрузку из UEFI и BIOS-системы. Чтобы начать тестирование оперативной памяти в MemTest86+, при перезагрузке компьютера выставляем в BIOS, загрузку с флешки (Она должна быть первой в списке).
Сделать это можно с помощью клавиш «F12, F11, F9», все зависит от конфигурации вашей системы. Также можно в процессе включения нажимать клавишу «ESC», откроется небольшой список, в котором можно задать приоритет загрузки.

Настройка MemTest86+

Если, вы приобрели полную версию MemTest86+, то после ее запуска появится заставка, в виде 10-секундного таймера обратного отсчета. По истечении данного времени, MemTest86+ автоматически запускает тесты памяти с настройками по умолчанию. Нажатие клавиш или движения мышкой должны остановить таймер. Главное меню позволяет пользователю настраивать параметры, например, тесты на выполнение, диапазон адресов для проверки и какой процессор будет использоваться.
В пробном варианте, после загрузки программы, необходимо будет нажать «1». После этого начнется тестирование памяти.
proverka-pamyati-s-pomoshhyu-programmyi-memtest86

Главное Меню MemTest86+

Главное меню имеет следующую структуру:
  • System Info — отображает сведения об оборудовании системы;
  • Test Selection — определяет, какие тесты включить в проверку;
  • Address Range — определяет нижний и верхний пределы адреса памяти;
  • Cpu Selection — выбор между параллельным, циклическим и последовательным режимом;
  • Start — начинает выполнение тестов памяти;
  • Ram Bencmark— осуществляет проведение сравнительных испытаний оперативной памяти и выводит результат на графике;
  • Settings — общие настройки, такие как выбор языка;
  • Exit — выход из MemTest86+ и перезагрузка системы.
  • glavnoe-menyu-memtest86-polnaya-versiya
    Для того, чтобы начать проверку в ручном режиме, вам необходимо выбрать тесты, с помощью которых будет сканирована система. Сделать это можно в графическом режиме в поле «Test Selection». Или же в окне проверки, нажав клавишу «С», для выбора дополнительных параметров.
    Если ничего не настраивалось, тестирование пройдет по заданному алгоритму. Память будет проверена всеми тестами, причем, при возникновении ошибок, сканирование будет продолжаться пока пользователь не остановит процесс. При отсутствии ошибок, на экране появиться соответствующая запись и проверка остановиться.

    Описание Отдельных Тестов

    MemTest86+ выполняет ряд нумерованных тестов для проверки ошибок.
    Тест 0 — проверяются биты адреса во всех планках памяти.
    Тест 1 — более углубленный вариант «Тест 0». Он может поймать любые ошибки, которые ранее не были обнаружены. Выполняется последовательно с каждого процессора.
    Тест 2 — проверяет в быстром режиме аппаратную часть памяти. Тестирование происходит параллельно с использованием всех процессоров.
    Тест 3 — тестирует в быстром режиме аппаратную часть памяти. Использует 8-ми битный алгоритм.
    Тест 4 — также использует 8-ми битный алгоритм, только сканирует более углубленно и выявляет малейшие ошибки.
    Тест 5 — сканирует схемы памяти. Этот тест особенно эффективен в поиске трудноуловимых ошибок.
    Тест 6 — выявляет ошибки «data sensitive errors».
    Тест 7 — находит ошибки памяти в процессе записи.
    Тест 8 — сканирует ошибки кеш.
    Тест 9 — детальный тест, который проверяет кеш-память.
    Тест 10 — 3-х часовой тест. Сначала сканирует и запоминает адреса памяти, а через 1-1.5 часа проверяет не было ли изменений.
    Тест 11 — Сканирует ошибки кеш используя собственные 64-разрядные инструкции.
    Тест 12 — Сканирует ошибки кеш используя собственные 128-битные инструкции.
    Тест 13 — Детально сканирует систему для выявления глобальных проблем с памятью.
    vyibor-testa-v-ruchnom-rezhime-v-programme-memtest86

    Терминология программы MemTest86+

    «TSTLIST» — список тестов для выполнения последовательности испытаний. Отображаются они вряд и разделяются запятой.
    «NUMPASS» — количество повторов тестовой последовательности выполнения. Это должно быть число больше 0.
    «ADDRLIMLO»— нижний предел диапазона адресов для проверки.
    «ADDRLIMHI»— верхний предел диапазона адресов для проверки.
    «CPUSEL»— выбор процессора.
    «ECCPOLL и ECCINJECT» — указывает на наличие ошибок ECC.
    «MEMCACHE» — используется для кэширования памяти.
    «PASS1FULL» — указывает на то, что в первом проходе будет использован сокращенный тест, для быстрого обнаружения очевидных ошибок.
    «ADDR2CHBITS, ADDR2SLBITS, ADDR2CSBITS» — список битовых позиций адреса памяти.
    «LANG» — указывает на язык.
    «REPORTNUMERRS» — номер последней ошибки для вывода в файл отчета. Это число должно быть не более 5000.
    «REPORTNUMWARN» — количество последних предупреждений для отображения в файле отчета.
    «MINSPDS» — минимальное количество оперативной памяти.
    «HAMMERPAT» — определяет 32-битовый шаблон данных для теста «Молоток (Тест 13)». Если этот параметр не задан, используются модели случайных данных.
    «HAMMERMODE» — указывает на выбор молотка в Тест 13.
    «DISABLEMP» — указывает, следует ли отключить многопроцессорную поддержку. Это можно использовать как временное решение для некоторых из UEFI прошивок, которые имеют проблемы с запуском MemTest86+.
    tstlist-v-programme-memtest86

    Результаты Теста

    После окончания тестирования будет отображен результат проверки.
    Lowest Error Address:
  • Наименьший адрес, где не было сообщений об ошибках.
  • Highest Error Address:
  • Наибольший адрес, где не было сообщений об ошибках.
  • Bits in Error Mask:
  • Ошибки в битах маски.
  • Bits in Error:
  • Битовые ошибки для всех экземпляров. Минимальное, максимальное и среднее значение для каждого отдельного случая.
  • Max Contiguous Errors:
  • Максимальная последовательность адресов с ошибками.
  • ECC Correctable Errors:
  • Количество ошибок, которые были скорректированы.
  • Test Errors:
  • На правой стороне экрана отображается количество ошибок для каждого теста.
  • rezultat-testirovaniya-v-programme-memtest86
    Пользователь может сохранить результаты в виде отчетов в HTML-файл.

    Время Выполнения

    Время, необходимое для полного прохода MemTest86+ сильно зависит от скорости процессора, скорости и объема памяти. Обычно, одного прохода достаточно, чтобы определить все, кроме самых непонятных ошибок. Для полной уверенности, рекомендуется сделать несколько прогонов.

    Восстановить дисковое пространство на флешке

    После использования программы на флешке, пользователи отмечают что накопитель уменьшился в объеме. Это действительно так. Ёмкость моей 8 Гб. флешки уменьшилась до 45 Мб.
    umenshenie-emkosti-fleshki-posle-ispolzovaniya-memtest86
    Чтобы исправить данную проблему необходимо зайти в «Панель управления-Администрирование-Управление компьютером-Управление дисками». Смотрим что у нас с флешкой.
    upravlenie-diskam-posle-ispolzovaniya-memtest86
    Затем переходим в командную строку. Для этого в поле поиска вводим команду «cmd». В командной строке пишем «diskpart».
    diskpart-dlya-ispravleniya-fleshki-posle-ispolzovaniya-memtest86
    Теперь мы переходим к поиску нужного диска. Для этого вводим команду «List disk». По объему определяем нужный и вводим в диалоговое окно «select disk=1» (в моем случае).
    komanda-list-disk-dlya-ispravleniya-fleshki-posle-ispolzovaniya-memtest86
    Далее вводим «clean». Тут главное не ошибиться с выбором.
    komanda-clean-dlya-ispravleniya-fleshki-posle-ispolzovaniya-memtest86
    Снова идем в «Управление дисками» и видим, что вся область флешки стала не размеченной.
    upravlenie-diskam-posle-ispolzovaniya-memtest86
    Создаем новый том. Для этого правой клавишей нажимаем на области флешки и выбираем «Создать новый том». Откроется специальный мастер. Здесь нам необходимо нажимать везде «Далее».
    sozdanie-novogo-toma-fleshki-posle-ispolzovaniya-memtest86
    На конечном этапе флешка форматируется. Можно проверять.
    proveryaem-obem-fleshki-posle-ispolzovaniya-memtest86

    Видео-урок:

    Протестировав программу MemTest86+, я остался доволен. Это действительно мощный инструмент, который позволяет протестировать оперативную память различными способами. Однако, при отсутствии полной версии доступна только функция автоматической проверки, но в большинстве случаев ее достаточно для выявления большинства проблем с оперативной памятью.