50 lines
3.2 KiB
Markdown
50 lines
3.2 KiB
Markdown
## VCM
|
||
|
||
Текстовый формат описания 3D моделей, являющийся заменой устаревшего свойства `model-primitives`.
|
||
|
||
Синтаксис:
|
||
|
||
```
|
||
@примитив атрибут (значение1,значение2,...) атрибут2 "значение3" {
|
||
@внутренний_примитив ...
|
||
}
|
||
```
|
||
|
||
Аналогичная структура в XML:
|
||
|
||
```xml
|
||
<примитив атрибут="значение1,значение2,..." атрибут2="значение3">
|
||
<внутренний_примитив .../>
|
||
</примитив>
|
||
```
|
||
|
||
В отличие от XML в корне может находиться несколько элементов.
|
||
|
||
На данный момент существует два вида примитивов: box и rect, а также, part (описывает часть примитива, такую как, например, сторона куба).
|
||
|
||
### Свойства `rect`
|
||
|
||
- `from` - точка начала примитива. Пример: `from (0,0.5,0.125)`
|
||
- `right` - вектор X, также определяющий ширину примитива. Пример: `right (1,0,0)`
|
||
- `up` - вектор Y, также определяющий высоту примитива. Пример: `up (0,1,0)`
|
||
- `texture` - отображаемая текстура. По-умолчанию: `$0`. Пример: `texture "blocks:sand"`
|
||
- `region` - UV регион в границах выбранной текстуры, определяется позициями противоположных углов. Пример: `region (0,0,1,1)`
|
||
- `region-scale` вектор-множитель для автоматически выбранного UV региона. Пример: `region-scale (0.5,1)`
|
||
- `shading` определяет возможность затенения на примитиве. Пример: `shading off`
|
||
- `flip` отражает UV регион по горизонтали или вертикали. Пример: `flip v`
|
||
|
||
### Свойства `box`
|
||
|
||
- `from` - точка начала примитива. Пример: `from (0,0,0)`
|
||
- `to` - противоположная от начала точка. Пример: `to (1,1,1)`
|
||
- `texture` - отображаемая текстура для всех сторон по-умолчанию.
|
||
- `shading` определяет возможность затенения на примитиве. Пример: `shading off`
|
||
- `delete` удаляет стороны по именам (top, bottom, east, west, north, south)
|
||
|
||
### Свойства `part` (в `box`)
|
||
|
||
- `tags` - определяет то, на какаие из сторон будут применены свойства. Пример: `tags (top,bottom)`
|
||
- `texture` - отображаемая текстура. По-умолчанию: `$индекс_стороны`.
|
||
- `region` - UV регион в границах выбранной текстуры, определяется позициями противоположных углов. Пример: `region (0,0,1,1)`
|
||
- `region-scale` вектор-множитель для автоматически выбранного UV региона. Пример: `region-scale (0.5,1)`
|