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
[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
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
[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 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
[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