Skip to content

A-Eye-Project-for-CSC1028/a-eye

Repository files navigation

A-Eye Web Tool

Empowering low-poly 3D models with multi-purpose functionality.

Overview

Constructs the foundation of the A-Eye image generation pipeline - renders depth maps for any .obj file, allowing them to be used in the creation of advanced AI imagery via the a-eye-generator script(s).

Built using Vite & Three.js.

Key Features

  • View 3D Models (.obj) In Any Modern Browser: Upload your own .obj files and view them in any modern web browser across multiple platforms - be it Chrome, Safari, or otherwise!
  • Depth Map Projection: Easily obtain an accurate depth map for any 3D model (.obj).
  • Preloaded 3D Models: Choose from a small selection of free 3D objects from poly.pizza.
  • Camera Malleability: Position the camera in any way you wish, far or close!
  • Export Screen-Space & World-Space Data (JSON): Intended to facilitate object recognition systems' development, but could also prove useful in other ways.

How can I access the tool?

There are two ways you can access a-eye:

  1. Via the hosted (online) instance.
  2. Via a self-hosted (local) instance.

Getting Started - Self-Hosted

Prerequisites

  • Node.js v18+: Earlier versions may work - however, they are not expressly supported.
  • PnPm 8.x+: Earlier versions are not easily available, and so I have not tested them.

Installation

  • Firstly, clone this repository to your machine with:
git clone https://github.com/A-Eye-Project-for-CSC1028/a-eye.git
  • Then, run the following command in the root of the cloned folder - this installs the required dependencies:
pnpm i
  • Finally, run:
pnpm run dev

...and that's it! To use a-eye, visit http://localhost:5173 from your favourite web browser.

Contributing

Contributions are most welcome! Please see below for more details:

  • Open issues for bug reports or feature requests.
  • Submit pull requests with code enhancements or new features.

License

This project is licensed under the MIT license - please see the linked document for more information.

Attributions