Polygon PLY (.ply)
Stanford СтандартPolygon File Format (PLY, известен още като Stanford Triangle Format) е разширяем 3D формат, разработен от Грег Тюрк в Станфордския университет. Използва се в някои работни процеси за сканиране, фотограметрия и работа с точкови облаци.
Конвертиране от PLY към OBJ
Безплатен конвертор от PLY към OBJ в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират PLY файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират PLY файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
70 6C 79 0AASCII ПРЕДСТАВЯНЕ: ply\n
Стандартизация: Stanford University Computer Graphics Laboratory Standard
Технически спецификации
| Контейнерна архитектура | ASCII или двоично заглавие с дефиниции на разширяеми елементи и свойства, последвано от масиви със сурови данни за върхове и стени |
| Компресия | Некомпресирани структурирани двоични данни или ASCII текст |
| Поредност на байтовете (Endianness) | Задава се в заглавието: 'format binary_little_endian 1.0', 'format binary_big_endian 1.0' или 'format ascii 1.0' |
| Цветови пространства | RGB/RGBA цветове за всеки връх, Скалари за степен на достоверност, Нормали на повърхността |
| Канали и структура | Върхове, многоъгълни стени, точкови облаци, цветове за всеки връх, нормали и произволни потребителски свойства за сензорни данни |
| Максимални размери | Неограничен брой 3D координати и върхове |
| Прозрачност | Поддържа се алфа канал за всеки връх чрез свойството 'alpha' |
| Поточно предаване и прогресивно зареждане | Заглавието указва точния брой елементи, което позволява предварително заделяне на паметта и бързо последователно прочитане |
Техническа сравнителна матрица: PLY спрямо конкуренти
| Технически атрибут | PLY (Текущ) | OBJ | STL | XYZ |
|---|---|---|---|---|
| Цвят за всеки връх | Вградени RGB/RGBA стойности на връх | Изисква текстури на материали | Няма (само геометрия) | Сурови координатни скалари |
| Разширяеми свойства | Произволни потребителски свойства в заглавната част | Фиксиран синтаксис на тагове | Фиксиран синтаксис на триъгълници | Фиксирани координатни колони |
| Поддръжка на точкови облаци | Вградена поддръжка на точкови облаци с висока производителност | Тромаво (изисква лица с един връх) | Няма (изисква затворени триъгълници) | Вградени сурови координати на точки |
| Gaussian Splatting | Един от форматите за данни за Gaussian Splatting | Не се поддържа | Не се поддържа | Не се поддържа |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Софтуерът съобщава: „PLY: End of file reached before all elements read“.
Първопричина: Несъответствие между декларирания брой елементи в заглавната част и действителния брой редове с двоични данни.
Възстановяване: Преизчислете броя на елементите в хедъра с помощта на File2File.app PLY Repair Tool.
Анализ на сигурността и вектори на атака към парсера
PLY декодерите анализират декларации в хедъра, определящи размерите на свойствата, където препълването на цели числа може да доведе до повреда на динамичната памет.
Известни вектори на атака
- Препълване на цели числа по време на разпределение на паметта за property_count * element_count.
- Прекомерно четене от буфера при четене на деформирани двоични типове свойства (напр. четене на float64 в буфер за float32).
- Отказ от услуга чрез прекомерно разпределение на паметта, предизвикано от изкуствено създаден брой елементи.
Най-добри практики за защита: Проверете дали декларираният брой байтове за елементите съответства на действителния размер на файла, преди да заделите памет.
Исторически произход и етапи
Основни предимства
- Форматът е силно разширяем: можете да задавате произволни потребителски свойства (например цвят за всеки връх, степен на достоверност, кривина или температура).
- Поддържа както компактни двоични данни, така и четим от хората ASCII формат, с байтов ред Big-Endian или Little-Endian.
- PLY може да съхранява върхове, стени и незадължителни полета за цвят или нормали, затова се използва за точкови облаци и мрежи в приложения за сканиране и фотограметрия. Проверете дали програмата, в която ще отворите файла, поддържа наличните в него полета.
Технически ограничения и минуси
- Ограничена поддръжка в потребителски 3D двигатели за игри в сравнение с glTF или FBX без специализирани плъгини за точкови облаци.
- Няма вградена поддръжка за скелетни структури, тегла на костите или йерархии на анимация на герои.
- Липсват стандартни дефиниции за PBR материали (разчита предимно на оцветяване на върховете или прости дифузни текстури).
Интересни технически факти
- Всеки валиден PLY файл трябва да започва с точно 4 знака 'ply\n' на ред 1.
- Известното Станфордско зайче е създадено през 1994 г. чрез сканиране на керамичен заек с лазерен скенер Cyberware 3030 и първоначално е записано във формат PLY.
- През 2023 г. 3D Gaussian Splatting направи PLY един от най-изтегляните 3D формати в интернет за фотореалистични заснемания с AI.
Често задавани технически въпроси
За какво се използва форматът PLY днес?
PLY се използва широко за 3D Gaussian Splatting, 3D лазерно сканиране, цифрово съхраняване на археологически обекти, фотограметрия и точкови облаци от LiDAR.
Каква е разликата между ASCII и двоичен PLY?
В ASCII PLY стойностите на върховете и стените се записват като четими числа, а в двоичния PLY - като байтове. Двоичният формат обикновено е по-компактен, докато ASCII е по-лесен за преглед в текстов редактор.
Как мога да конвертирам PLY файл в OBJ или STL?
Качете вашия PLY файл в File2File.app, за да го конвертирате в стандартен OBJ модел или подходяща за 3D печат STL мрежа незабавно във вашия уеб браузър.