All Projects → webprofusion → dojo3d

webprofusion / dojo3d

Licence: Apache-2.0 License
A javascript library for simple 3D interactive story telling,

Programming Languages

typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to dojo3d

Kusabi
Coding environment 3D graphics with PureScript.
Stars: ✭ 72 (-41.46%)
Mutual labels:  threejs
nerdojo
🥋 Coding Dojo é uma forma de treinar suas habilidades em desenvolvimento de sistemas. Usamos o formato KATA. Nesse formato vamos apresentar o desafio e apresentar a proposta de solução (sem mostrar o código), e reunir as pessoas em equipes. Esse repositório serve como uma central de tudo o que acontece no NCD. Fique por dentro!
Stars: ✭ 36 (-70.73%)
Mutual labels:  coding-dojo
rocket viewer
This simple and generic viewer allows you to visualize different kinds of data such as medical and biological images, 3D surfaces, electric signals (ECGs) and documents.
Stars: ✭ 22 (-82.11%)
Mutual labels:  threejs
dl-model
Dragalia Lost Model Viewer
Stars: ✭ 30 (-75.61%)
Mutual labels:  threejs
XREngine
Immersive infrastructure for everyone. Everything you need to build and deploy scalable realtime 3D social apps and more. 🤖 🚀 👓 🚀 🕹️ 🚀 🧑🏿‍🚀
Stars: ✭ 423 (+243.9%)
Mutual labels:  threejs
quantum-face-register
face register with three.js and tracking.js
Stars: ✭ 44 (-64.23%)
Mutual labels:  threejs
aframe-registry
[DISCONTINUED] Curated collection of community A-Frame components.
Stars: ✭ 76 (-38.21%)
Mutual labels:  threejs
d3-force-webgl-integration-demo
Integrating WebGL and D3-force to improve performance. 👻
Stars: ✭ 44 (-64.23%)
Mutual labels:  threejs
ShadowEditor-examples
ShadowEditor Demo. https://tengge1.github.io/ShadowEditor-examples/
Stars: ✭ 33 (-73.17%)
Mutual labels:  threejs
mini-luck-draw
使用 Three.js 开发的一个魔方小游戏....自娱项目
Stars: ✭ 110 (-10.57%)
Mutual labels:  threejs
gzweb
Web client for Gazebo classic simulation
Stars: ✭ 36 (-70.73%)
Mutual labels:  threejs
InViewer
A Three.js-based viewer for visualizing OGC IndoorGML data
Stars: ✭ 18 (-85.37%)
Mutual labels:  threejs
THREE.Interactive
Fast and simple interaction manager for three.js for enabling mouse and touch events on 3D objects
Stars: ✭ 49 (-60.16%)
Mutual labels:  threejs
aframe-mirror-component
Mirror effect material that works with snapshots of the scene for A-Frame
Stars: ✭ 29 (-76.42%)
Mutual labels:  threejs
caroumesh
A React component to display 3d models in a carousel-like fashion.
Stars: ✭ 63 (-48.78%)
Mutual labels:  threejs
three js gpu picking
GPU based object picking for Three.JS
Stars: ✭ 29 (-76.42%)
Mutual labels:  threejs
stereo-panorama-viewer
View stereoscopic panoramas in your browser!
Stars: ✭ 23 (-81.3%)
Mutual labels:  threejs
spider-covid-19-viz-3d
Speedy access to the latest, local COVID-19 data with a familiar interface: the Globe
Stars: ✭ 19 (-84.55%)
Mutual labels:  threejs
hologram
Hologram Framework | All-in-one WebVR creation.
Stars: ✭ 84 (-31.71%)
Mutual labels:  threejs
cadhub
We're out to raise awareness and put CodeCAD on the map. The success of CadHub can be measured by the amount it promotes the use of CodeCAD within the mechanical/manufacturing industry and the strength the CadHub community.
Stars: ✭ 204 (+65.85%)
Mutual labels:  threejs

Dojo3D

An all-in-one library for 3D story telling, aimed at all ages of coder. No software installation required, useful for CoderDojo, Hour of Code activities etc.

Example

Example Library Usage

See the Happy Halloween example https://repl.it/@webprofusionchr/dojo3d-halloween

Jump straight to Our main code for a simple story to see the main story code.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Dojo 3D - Example Story Book</title>
    <script src="https://dojo3d.webprofusion.com/v1/dojo3d.js"></script>
    <link
      rel="stylesheet"
      href="https://dojo3d.webprofusion.com/v1/dojo3d.css"
    />
  </head>

  <body>
    <script>
      // create world
      var world = new dojo3d.World();
      var ui = dojo3d.UI;

      //fetch 3d models we can use, then do our main code
      world.fetchPrefabModels().then(async () => {
        // get the Happy Halloween scene model, add it to the scene at scale 0.1
        // https://sketchfab.com/JessSwynn; License: Creative Commons Attribution
        var scene = world.getPrefabModelByName("Happy Halloween");
        obj = await world.addSceneObject(scene, 0.1);

        //turn some lights on
        world.addLights();

        // define camera viewpoints so we can use them later
        var viewpoints = [
          { title: "ZoomedOut", position: { x: 0.0, y: 0.0, z: 5.0 } },
          { title: "House", position: { x: 0.059, y: 0.255, z: 1.099 } },
          { title: "Spider", position: { x: 0.05, y: 0.58, z: 0.424 } },
          { title: "BackHouse", position: { x: 0.041, y: 0.463, z: -1.731 } },
          {
            title: "BackUpstairs",
            position: { x: -0.066, y: 0.567, z: -0.438 },
          },
          { title: "Ghost", position: { x: -0.139, y: 0.142, z: -0.466 } },
          { title: "RIP", position: { x: -0.216, y: 0.005, z: 0.57 } },
          { title: "Cat", position: { x: -0.028, y: -0.071, z: 0.826 } },
        ];

        world.setViewpoints(viewpoints);

        /////////////////////////////////////////
        // Our main code for a simple story
        // animate to viewpoint named "ZoomedOut"
        await world.animateToViewpoint("ZoomedOut");

        // show intro message box at x:10,y:10
        ui.showMessage("Hello..", 10, 10);

        //wait a few seconds
        await ui.wait(3);

        // ask a question, answer will be "The option value", and answer.optionNumber is the option number selected starting at 1 (1,2,3 etc).
        let answer = await ui.ask("Why are your here?", [
          "I don't know.",
          "You sent for me.",
        ]);

        if (answer.optionNumber == 1) {
          ui.showMessage("Hmm, lost are we..");
        } else {
          ui.showMessage("Hmm, I don't remember doing that..");
        }

        // animate to viewpoint named "ZoomedOut"
        await world.animateToViewpoint("Cat");
      });
    </script>
  </body>
</html>

Other Examples

Low Poly Terrain Scene Among You

Building/testing the library from source

  • delete build folder

  • npx rollup -w -c rollup.config.js

  • npx http-server (localhost:8080/src/examples)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].