Extension:3DAlloy
Appearance
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
[edit]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
[edit]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
[edit]- Download and place the file(s) in a directory called
3DAlloyin 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
[edit]As 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 a 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
[edit]| 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
[edit]All default values can be changed in your LocalSettings.php file:
$wg3DAlloy["width"] = 500;
$wg3DAlloy["height"] = 400;
...
$wg3DAlloy["class"] = 'someclass';
Controls and hotkeys
[edit]| 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.
Categories:
- Stable extensions
- Parser function extensions
- Tag extensions
- ContentHandler extensions
- Link markup extensions
- MIT licensed extensions
- Extensions in GitHub version control
- ParserMakeImageParams extensions
- ParserFirstCallInit extensions
- ImageBeforeProduceHTML extensions
- ImageOpenShowImageInlineBefore extensions
- BeforePageDisplay extensions
- BeforePageDisplayMobile extensions
- All extensions
- 3D extensions

