Commit as of 2025-11-11 13:04:08 by Dis_Bro (Данил)
This commit is contained in:
parent
89c7761b27
commit
9dcba56e30
@ -1,4 +1,5 @@
|
||||
### Общая информация
|
||||
## Общая информация
|
||||
|
||||
[[CHANGELOG]] - дата изменения: `$= moment(dv.page("CHANGELOG").file.mtime.ts).format("hh:mm, DD MMM YYYY")`
|
||||
|
||||
>[!info]- Внесение изменений в CHANGELOG
|
||||
@ -7,43 +8,61 @@
|
||||
|
||||
Для переключения режимов (чтение/редактирование) используйте комбинацию клавиш `Ctrl + E`
|
||||
|
||||
### Ссылки хранилища
|
||||
#### Билды
|
||||
### Список рекомендуемых плагинов:
|
||||
|
||||
| Название | Статус |
|
||||
| --------------- | ------- |
|
||||
| Calendar | Активен |
|
||||
| Emoji Toolbar | Активен |
|
||||
| Advanced Tables | Активен |
|
||||
| Dataview | Активен |
|
||||
| Homepage | Активен |
|
||||
| Diagram Popup | Активен |
|
||||
| Image Captions | Активен |
|
||||
| Git | Активен |
|
||||
| Templater | Активен |
|
||||
| Callout Manager | Активен |
|
||||
| Colored Tags | Активен |
|
||||
>[!attention] Список будет пополняться различными полезными для работы плагинами
|
||||
|
||||
|
||||
## Ссылки хранилища
|
||||
### Билды
|
||||
[Ссылка на билды фишки](file:///B:/!ФайлОбменник!/Юнити_Разработка/Builds/Conect4_builds)
|
||||
[Ссылка на билды промика](file:///B:/!ФайлОбменник!/Юнити_Разработка/Builds/Promo_builds)
|
||||
[Ссылка на билды морского боя](file:///B:/!ФайлОбменник!/Юнити_Разработка/Builds/Sea_battle_Cviat)
|
||||
### Организация
|
||||
## Организация
|
||||
Сведения об организационной деятельностьи [[Организационная структура|в общем]] и в частности.
|
||||
```dataview
|
||||
LIST WITHOUT ID FROM "Организация" SORT file.ctime ASC
|
||||
```
|
||||
|
||||
### Фичи
|
||||
## Фичи
|
||||
Полезные гайды для этого хранилища и Obsidian в целом.
|
||||
```dataview
|
||||
LIST WITHOUT ID FROM "Приколы(фичи)" SORT file.ctime ASC
|
||||
```
|
||||
|
||||
### Библиотека скриптов
|
||||
## Библиотека скриптов
|
||||
Общая библиотека с reusable-скриптами.
|
||||
Состоит из нескольких разделов:
|
||||
- [[#Карантин|Карантин]]
|
||||
- [[#Менеджеры|Менеджеры]]
|
||||
- [[#Периферия]]
|
||||
|
||||
##### Карантин
|
||||
### Карантин
|
||||
Тут у нас скрипты и утилиты на передерже. Жесточайше критикуем и тестим
|
||||
```dataview
|
||||
LIST WITHOUT ID FROM "Библиотека скриптов/0. Карантин" SORT file.ctime ASC
|
||||
```
|
||||
|
||||
##### Менеджеры
|
||||
### Менеджеры
|
||||
Одна из категорий прода. Общие менеджеры для игр
|
||||
```dataview
|
||||
LIST WITHOUT ID FROM "Библиотека скриптов/1. Менеджеры" SORT file.ctime ASC
|
||||
```
|
||||
|
||||
##### Периферия
|
||||
### Периферия
|
||||
Периферийные модули, плагины, утилиты, не имеющие непосредственного отношения к играм
|
||||
```dataview
|
||||
LIST WITHOUT ID FROM "Библиотека скриптов/2. Периферия" SORT file.ctime ASC
|
||||
|
||||
18
GreatGamedevVault/obs_templates/templater_get_plugins.md
Normal file
18
GreatGamedevVault/obs_templates/templater_get_plugins.md
Normal file
@ -0,0 +1,18 @@
|
||||
<%*
|
||||
// Получаем доступ к плагинам через API Obsidian
|
||||
const plugins = app.plugins;
|
||||
|
||||
// Собираем информацию о плагинах
|
||||
let pluginList = "# Список установленных плагинов\n\n";
|
||||
pluginList += "| Название | Статус |\n";
|
||||
pluginList += "|----------|--------|\n";
|
||||
|
||||
for (const [id, plugin] of Object.entries(plugins.plugins)) {
|
||||
const name = plugin.manifest.name || id; // Имя плагина
|
||||
const isActive = plugins.enabledPlugins.has(id) ? "Активен" : "Неактивен";
|
||||
pluginList += `| ${name} | ${isActive} |\n`;
|
||||
}
|
||||
|
||||
// Добавляем результат в заметку
|
||||
tR += pluginList;
|
||||
%>
|
||||
@ -1,3 +1,5 @@
|
||||
#Карантин
|
||||
|
||||
by: \_sega
|
||||
|
||||
[Карантин линк](file:///"B:/!ФайлОбменник!/Юнити_Разработка/Библиотека/Карантин/AudioManager.cs")
|
||||
@ -8,41 +10,26 @@ by: \_sega
|
||||
## 🔧 Возможности
|
||||
|
||||
- Синглтон `AudioManager.Instance` c `DontDestroyOnLoad`
|
||||
|
||||
- Музыка:
|
||||
|
||||
- мгновенный старт трека
|
||||
|
||||
- плавная смена треков (кроссфейд A→B)
|
||||
|
||||
- мягкая пауза/возврат с фейдами (на **unscaled** времени)
|
||||
|
||||
- SFX:
|
||||
|
||||
- пул источников SFX фиксированного размера
|
||||
|
||||
- воспроизведение 2D SFX
|
||||
|
||||
- воспроизведение 3D SFX в мировой позиции (spatialBlend, min/maxDistance)
|
||||
|
||||
- round-robin выбор свободного источника, «steal», если все заняты
|
||||
|
||||
- Интеграция с `AudioMixerGroup` для музыки и SFX (по желанию)
|
||||
|
||||
- Автосоздание недостающих дочерних объектов:
|
||||
|
||||
- `MusicSource`, `TempMusicSource`, `SFX Pool`
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 📦 Требования и зависимости
|
||||
|
||||
- Unity (любой современный LTS)
|
||||
- Пространства имён:
|
||||
- `UnityEngine`, `UnityEngine.Audio`
|
||||
- Скрипт живёт в `namespace Managers`
|
||||
|
||||
|
||||
---
|
||||
|
||||
@ -131,28 +118,22 @@ AudioManager.Instance.PlaySfxAt(explosionClip, position: hitPoint, volume: 1f, p
|
||||
Мгновенно запускает музыку без фейда.
|
||||
|
||||
- `targetVolume < 0` → используется `musicTargetVolume`.
|
||||
|
||||
|
||||
### `CrossfadeMusic(AudioClip newClip, float duration = -1f, bool loop = true, float newTargetVolume = -1f)`
|
||||
|
||||
Плавно сменяет текущий трек на `newClip` за `duration` секунд.
|
||||
|
||||
- `duration < 0` → `defaultFadeDuration`
|
||||
|
||||
- `newTargetVolume < 0` → `musicTargetVolume`
|
||||
|
||||
- Работает на `Time.unscaledDeltaTime` — фейды не завязаны на `Time.timeScale`.
|
||||
|
||||
|
||||
### `SmoothPauseMusic(bool pause, float duration = -1f)`
|
||||
|
||||
Мягкая пауза/возврат:
|
||||
|
||||
- `pause == true` → fade-out к 0 + `AudioSource.Pause()`
|
||||
|
||||
- `pause == false` → `UnPause()` + fade-in к `musicTargetVolume`
|
||||
`duration < 0` → `defaultFadeDuration`.
|
||||
|
||||
|
||||
### `PlaySfx(AudioClip clip, float volume = 1f, float pitch = 1f)`
|
||||
|
||||
@ -164,9 +145,7 @@ AudioManager.Instance.PlaySfxAt(explosionClip, position: hitPoint, volume: 1f, p
|
||||
Проигрывает 3D SFX в мировой позиции:
|
||||
|
||||
- `spatialBlend` клампится в `[0..1]`
|
||||
|
||||
- Для 3D проставляются `rolloffMode=Linear`, `minDistance=1`, `maxDistance=20` (можно поменять в коде)
|
||||
|
||||
|
||||
---
|
||||
|
||||
@ -213,17 +192,11 @@ public static float LinearToDb01(float x)
|
||||
## 🧠 Поведение и тонкости
|
||||
|
||||
- **Синглтон:** при наличии дубликата — лишний объект удалится; основной переживёт смену сцен.
|
||||
|
||||
- **Инициализация:** требуется **однократный** вызов `Initialize()` (например, из `Awake` в вашем Bootstrap).
|
||||
|
||||
- **Unscaled время:** кроссфейды и фейды на паузу/возврат используют `Time.unscaledDeltaTime`, чтобы работать даже при `Time.timeScale = 0`.
|
||||
|
||||
- **Loop:** музыкальные источники настроены `loop = true` по умолчанию.
|
||||
|
||||
- **2D по умолчанию:** музыка и SFX создаются как 2D (`spatialBlend=0`), 3D включается в `PlaySfxAt`.
|
||||
|
||||
- **Остановка корутин:** перед новым фейдом/кроссфейдом старые корутины корректно останавливаются.
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
#Карантин
|
||||
|
||||
by: Dis_Bro
|
||||
|
||||
[Карантин линк](file:///"B:/!ФайлОбменник!/Юнити_Разработка/Библиотека/Карантин/GameManager.cs")
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
#Периферия
|
||||
|
||||
by: \_sega
|
||||
|
||||
> [!info]- 🚷Зачем оно?
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
#Периферия
|
||||
|
||||
by:kotovskij393
|
||||
>[!attention] ВНИМАНИЕ
|
||||
>В папку StreamingAssets положить лаунчер. Файл `.lic` ==не сливать==
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user