Extension:3DAlloy
Appearance
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
MediaWiki 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
THREE.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
- 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
As Image Handler
[[File:Model.json|300x300px|color=,opacity=,...]]
As Parser function
{{#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
<3d file="Model.json" width="" height="" ... ></3d>
or
<3d width="" height="" ... >Model.json</3d>
You also can use url instead of short filename.
Parameters
Name | 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
All default values can be changed in your LocalSettings.php file:
$wg3DAlloy["width"] = 500;
$wg3DAlloy["height"] = 400;
...
$wg3DAlloy["class"] = 'someclass';
Controls and hotkeys
Action | 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.