Extension:3DAlloy

From mediawiki.org
MediaWiki extensions manual
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 (for MW 1.33 and below use mw-1.33 branch)
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 your extensions/ 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'
  )
);
  • Yes 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.