Extension:3DAlloy
3DAlloy Статус релиза: стабильно |
|
---|---|
Реализация | Функция парсера , Тег , ContentHandler , Разметка ссылок |
Описание | Добавляет в MediaWiki возможность просмотра 3D-файлов |
Автор(ы) | Dolfinus |
Последняя версия | 1.7 (2023-10-17) |
MediaWiki | 1.25+ |
Изменения в БД | Нет |
Лицензия | MIT License |
Скачать | Download master snapshot Note: README |
Пример | Пример отображения 3D-плеера на странице с файлом |
$wg3DAlloy |
|
<3d> |
|
Описание
Расширение MediaWiki, позволяющее загружать и отображать на вики 3D-модели. Основано на библиотеке THREE.js, отрисовка происходит на Canvas. Пример страницы с моделью.
Поддерживаемые типы файлов
Формат THREE.js
- .json
- .3djson
- .3dj
- .three
Формат THREE.js (буферизованный)
- .buff
- .buffjson
Формат OBJ
- .obj
Формат STL (бинарный)
- .stl
- .stlb
Установка
- Скачайте и распакуйте файл(ы) в папку с названием
3DAlloy
в вашей папкеextensions/
. - Добавьте следующий код в конце вашего файла LocalSettings.php :
wfLoadExtension( '3DAlloy' );
- Измените значение параметра $wgFileExtensions
$wgFileExtensions = array_merge(
$wgFileExtensions, array(
'json', '3dj', '3djson', 'three',
'buff', 'buffjson',
'obj',
'stl', 'stlb'
)
);
- Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.
Использование
Как средство просмотра
[[File:Model.json|300x300px|color=,opacity=,...]]
Как функция
{{#3d:Model.json}} {{#3d:Model.json|width}} {{#3d:Model.json|width|height}} ... {{#3d:Model.json|width|height|color|opacity|zoom|pan|norotate|scale|z|style|class}}
Вместо имени загруженного на сайт файла можно использовать URL файла с других сайтов.
Как тег
<3d file="Model.json" width="" height="" ... ></3d>
or
<3d width="" height="" ... >Model.json</3d>
Также можно указать полный путь к файлу вместо его названия.
Параметры
Название | Описание | Default value |
---|---|---|
width | Ширина области отрисовки (в пикселях) | 300 |
height | Высота области отрисовки (в пикселях) | 300 |
color | RGB цвет модели (в формате hex) | 0xff00ff |
opacity | Непрозрачность модели как дробь в диапазоне 0..1 | 0.8 |
zoom | Если задано значение 1 или true, в области рисования включается зум | false |
pan | Если задано значение 1 или true, в области рисования можно передвигать камеру | false |
norotate | Если задано значение 1 или true, отключает вращение модели | false |
scale | Масштаб модели как дробь в диапазоне 0..1 | 1 |
z | Высота модели над плоскостью | 75 |
style | Дополнительные CSS стили области рисования | |
class | Дополнительные HTML классы для области рисования |
Высота и ширина могут иметь значение 0 - тогда размер области будет автоматически подстроен под разрешение экрана пользовательского устройства.
Настройка
Все значения по-умолчанию могут быть изменены в файле LocalSettings.php :
$wg3DAlloy["width"] = 500;
$wg3DAlloy["height"] = 400;
...
$wg3DAlloy["class"] = 'someclass';
Управление и горячие клавиши
Действие | Элементы управления |
---|---|
Поворот камеры | "Свайп", удержание левой кнопки мыши и перемещение |
Зум области рисования (если включено) | Поворот колеса мыши, нажатие на среднюю кнопку мыши (колесо) и перемещение, "щипок" |
Перемещение камеры (если включено) | Удержание правой кнопки мыши и ее перемещение |
Поворот модели | Клавиши ←↑→↓ |
Сброс текущего поворота модели | Клавиша Home |
Включение/остановка вращения модели | Двойное нажатие левой кнопкой мыши, двойной тап |
Включение/остановка вращения всех моделей на странице | Клавиши Enter и пробел |
Скорость вращения модели | Клавиши - и + |
Горячие кавиши автоматически отключаются при редактировании страницы