Skip to content

An interactive 3D web app featuring a controllable character, dynamic levels, and realistic physics. Built with React and Three.js, it offers an immersive experience with customizable environments and smooth animations. Perfect for exploring 3D interactions and game-like mechanics in the browser.

Notifications You must be signed in to change notification settings

L3DW/Focus-Ecctrl_Level_Physics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Focus-Ecctrl Level Physics

🌟 Overview

Focus-Ecctrl Level Physics is an interactive 3D web application built with React and Three.js, featuring a controllable character, dynamic levels, and realistic physics simulation. It provides an immersive experience with customizable environments and smooth animations.


📂 Project Structure

🔑 Key Components

  1. 🕹️ Character: A fully animated and controllable 3D character with:

    • Walking, running, and jumping animations
    • Physics-based movement
    • Customizable actions
  2. 🌍 Level: A dynamic 3D environment with:

    • Preloaded GLTF models
    • Static physics-based objects
    • Optimized rendering for performance
  3. 🎭 Stage: The main 3D scene setup, including:

    • Lighting and environment presets
    • Physics simulation
    • Keyboard controls for interaction

✨ Key Features

  • 🕹️ Controllable Character: Smooth animations and physics-based movement.
  • 🌍 Dynamic Levels: Preloaded and optimized 3D environments.
  • 🎮 Keyboard Controls: Configurable key mappings for movement and actions.
  • Realistic Physics: Powered by @react-three/rapier for accurate simulations.
  • 📊 Performance Optimization: Integrated with memoization and lazy loading.

🛠️ Technical Stack

The project leverages the following technologies:

  • ⚛️ React: A JavaScript library for building user interfaces.
  • 🎨 React Three Fiber: A React renderer for Three.js.
  • 🌌 Three.js: A 3D library for rendering and animating 3D graphics.
  • 🧠 @react-three/drei: Useful helpers for React Three Fiber.
  • ⚙️ @react-three/rapier: A physics engine for realistic simulations.
  • 🖋️ Ecctrl: For character control and animation.

🚀 Getting Started

Follow these steps to set up and run the project:

  1. Clone the repository:

    git clone https://github.com/L3DW/Focus-Ecctrl_Level_Physics.git
    cd Focus-Ecctrl_Level_Physics
  2. Install dependencies: Ensure you have Node.js installed, then run:

    npm install
  3. Run the development server: Start the app locally:

    npm start
  4. Open the app:

    • Navigate to http://localhost:3000 in your browser.
  5. Build for production (optional): To create a production build, run:

    npm run build

⚡ Performance Optimization

  • 🧠 Memoized Components: Reduces unnecessary re-renders.
  • 🎥 Lazy Loading: Optimized resource loading for 3D models.
  • 📊 Physics Debugging: Integrated with @react-three/rapier for real-time debugging.

🙌 Credits

Created with creativity and precision, leveraging the power of React Three Fiber, Ecctrl, and Three.js.

About

An interactive 3D web app featuring a controllable character, dynamic levels, and realistic physics. Built with React and Three.js, it offers an immersive experience with customizable environments and smooth animations. Perfect for exploring 3D interactions and game-like mechanics in the browser.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published