Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rimurudev/unity-react-webgl-clicker

React Unity WebGL | Запуск Unity проекта на React + простой обмен данными
https://github.com/rimurudev/unity-react-webgl-clicker

js json react react-native reactjs rimuru-dev rimurudev typescript unity-json unity-react unity-react-webgl unity-web unity-webgl webgl

Last synced: 6 days ago
JSON representation

React Unity WebGL | Запуск Unity проекта на React + простой обмен данными

Awesome Lists containing this project

README

        

# Пометка на память

## Создание WEBGL игры с интеграцией React и Unity

### Шаги по установке и созданию проекта

1. Создаем новый проект React:
```bash
npx create-react-app react-project
```

2. Переходим в папку проекта:
```bash
cd react-project
```

3. Устанавливаем библиотеку для интеграции Unity в React:
```bash
npm install react-unity-webgl
```

4. Собираем билд Unity и переносим его в папку `public/UnityBuild`. В моем случае проект называется `Clicker`.

5. Создаем файл `App.js` в папке `src` и файл `UnityApp.js` в папке `src`.

### Пример файла `App.js`

```javascript
import React from 'react';
import UnityApp from './UnityApp';

function App() {
return (




);
}

export default App;
```

### Пример файла `UnityApp.js`

```javascript
import React, { useEffect } from 'react';
import { Unity, useUnityContext } from "react-unity-webgl";

function UnityApp() {
const { unityProvider, sendMessage } = useUnityContext({
loaderUrl: "UnityBuild/Build/Clicker.loader.js",
dataUrl: "UnityBuild/Build/Clicker.data.unityweb",
frameworkUrl: "UnityBuild/Build/Clicker.framework.js.unityweb",
codeUrl: "UnityBuild/Build/Clicker.wasm.unityweb",
});

useEffect(() => {
const user = {
user_id: "666",
user_name: "Rimuru Dev"
};

console.log("Sending user data:", JSON.stringify(user));

sendMessage("UserDataHandler", "ReceiveUserData", JSON.stringify(user));
}, [sendMessage]);

useEffect(() => {
window.UnityToReact = (message) => {
console.log("Received from Unity: ", message);
};

return () => {
delete window.UnityToReact;
};
}, []);

return ;
}

export default UnityApp;
```

6. Запускаем проект:
```bash
npm start
```

7. Открываем в браузере:
```
http://localhost:3000/

```
---

## Тестирование проекта

Если вы хотите протестировать этот проект, выполните следующие шаги:

1. **Установите Node.js**:
Если у вас нет Node.js, скачайте и установите его с [официального сайта](https://nodejs.org/).

2. **Склонируйте репозиторий**:
```bash
git clone https://github.com/RimuruDev/Unity-React-WEBGL-Clicker.git
```

3. **Перейдите в папку с проектом React**:
```bash
cd Unity-React-WEBGL-Clicker/react-project
```

4. **Установите зависимости**:
```bash
npm install
```

5. **Запустите проект**:
```bash
npm start
```

6. **Откройте проект в браузере**:
Откройте браузер и перейдите по адресу:
```
http://localhost:3000/
```

Теперь вы можете увидеть работу интеграции Unity и React в действии. Если у вас возникнут вопросы или проблемы, пожалуйста, создайте issue в репозитории.