Aikotv is a modern web-based application designed to deliver immersive 3D experiences, chat functionalities, and dynamic content. Built with Vite, React, and Three.js, it provides a platform for interactive 3D streaming and social features.
The project includes several essential components and contexts:
- ThreeScene.tsx: Core component for rendering 3D scenes using @react-three/fiber
- SceneWrapper.tsx: Wrapper component for managing scene layouts and transitions
- constants.ts: Configuration for BGM, scenes, and environment settings
- SceneEngineContext.tsx: Context provider for scene rendering logic
- ScenesContext.tsx: Manages multiple scenes and their states
- 3D model rendering with VRM support
- Scene configuration system
- Background music management
- Interactive camera controls
- Multi-agent support
- Solana wallet integration
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- 3D Libraries: Three.js, @react-three/fiber, @react-three/drei
- Styling: Tailwind CSS
- State Management: React Context API
- Web3: Solana Web3.js
- Node.js
- npm or yarn
- Bun (for server)
-
Clone the repository:
git clone https://github.com/your-repo/aikotv.git
-
Install dependencies:
cd aikotv npm install
-
Start the development server:
npm run dev
-
Visit
http://localhost:5173
to view the application.
npm run dev
: Start development servernpm run build
: Build for productionnpm run preview
: Preview production buildnpm run lint
: Run ESLintnpm run server
: Start Bun server
The application supports dynamic scene configuration through a JSON-based system. Scene configurations include:
- Model positioning
- Camera angles
- Environment settings
- Animation states
- Background music selection
To create a new scene:
- Use the in-app scene editor (Window button between fullscreen and share)
- Use WASD + QE for camera movement
- Use IJKL + UO for model movement and rotation
- Use numbers 1-9 to select models
- Copy the generated configuration from console
- Add to the scenes configuration in constants.ts
We welcome contributions to improve Aikotv. Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Create a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.