Extension:3DAlloy
![]() Release status: stable |
|
---|---|
![]() |
|
Implementation | Parser function , Tag , ContentHandler , Link markup |
Description | Adds support of 3D files viewing at your MediaWiki |
Author(s) | Dolfinus |
Latest version | 1.7 (2023-10-17) |
MediaWiki | 1.25+ |
Database changes | No |
License | MIT License |
Download | Download master snapshot Note: README |
Example | Example of 3D Viewer at file page |
$wg3DAlloy |
|
<3d> |
|
Description
editMediaWiki extension which allows to add 3D models viewer to site pages. Based on THREE.js, renders image with CanvasRenderer. There you can see example 3D model page.
Supported file extensions
editTHREE.js model format:
- .json
- .3djson
- .3dj
- .three
THREE.js model buffer geometry format:
- .buff
- .buffjson
OBJ file format:
- .obj
STL (binary) file format:
- .stl
- .stlb
Install
edit- Download and place the file(s) in a directory called
3DAlloy
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( '3DAlloy' );
- Modify $wgFileExtensions parameter:
$wgFileExtensions = array_merge(
$wgFileExtensions, array(
'json', '3dj', '3djson', 'three',
'buff', 'buffjson',
'obj',
'stl', 'stlb'
)
);
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Usage
editAs Image Handler
edit[[File:Model.json|300x300px|color=,opacity=,...]]
As Parser function
edit{{#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}}
Instead of uploaded filename you can use an url for file located in external site.
As Parser tag
edit<3d file="Model.json" width="" height="" ... ></3d>
or
<3d width="" height="" ... >Model.json</3d>
You also can use url instead of short filename.
Parameters
editName | Description | Default value |
---|---|---|
width | Canvas width in pixels | 300 |
height | Canvas height in pixels | 300 |
color | Model RGB color as hex | 0xff00ff |
opacity | Model opacity as decimal between 0...1 | 0.8 |
zoom | If true or 1, canvas can be zoomed | false |
pan | If true or 1, canvas can be panned | false |
norotate | If true or 1, model does not rotate | false |
scale | Model scale as decimal between 0...1 | 1 |
z | Model z coordinate | 75 |
style | Additional canvas CSS style | |
class | Additional canvas HTML class |
Width and height can be set to 0 value, so size of viewer will be set according to user screen dimensions.
Configure
editAll default values can be changed in your LocalSettings.php file:
$wg3DAlloy["width"] = 500;
$wg3DAlloy["height"] = 400;
...
$wg3DAlloy["class"] = 'someclass';
Controls and hotkeys
editAction | Controls |
---|---|
Camera rotate | Swipe, left mouse key hold and move |
Camera zoom (if zoom enabled) | Mouse wheel, hold wheel and move, pinch |
Camera pan (if pan enabled) | Right key hold and move |
Model rotate | ←↑→↓ keys |
Model rotation reset | Home key |
Model rotation play/pause | Double click, double tap |
Model rotation play/pause all models at page | Enter, Space keys |
Model rotation speed | - and + keys |
Hotkeys automatically disables while you edit or submit wiki page.