Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

TerrainData.CopyActiveRenderTextureToTexture

Объявление

public void CopyActiveRenderTextureToTexture(string textureName, int textureIndex, RectInt sourceRect, Vector2Int dest, bool allowDelayedCPUSync);

Параметры

textureName Имя текстуры Terrain для копирования.
textureIndex Индекс текстуры Terrain для копирования.
sourceRect Копируемая часть активной Render Texture.
dest Координаты X и Y текстуры Terrain для копирования.
allowDelayedCPUSync Указывает, разрешать ли отложенную синхронизацию ЦП текстуры.

Описание

Копирует указанную часть активной RenderTexture в текстуру Terrain.

Если для параметра allowDelayedCPUSync установлено значение true, а платформа поддерживает копирование между RenderTexture и Texture2D, Unity выполняет копирование GPU из активной RenderTexture в текстуру Terrain. Этого достаточно для рендеринга ландшафта, но впоследствии вам потребуется вызвать SyncTexture, чтобы синхронизировать процессорную часть текстуры.

Если для параметра allowDelayedCPUSync установлено значение false или платформа не поддерживает копирование между текстурами, Unity сразу считывает возвращает содержимое активной текстуры RenderTexture и обновляет части текстуры Terrain как для процессора, так и для графического процессора.

Unity рекомендует создать исходную визуализированную текстуру для копирования в формате, указанном Terrain.heightmapRenderTextureFormat, и вызвать функцию HLSL PackHeightmap. перед записью в исходную текстуру рендеринга. Чтобы использовать PackHeightmap, убедитесь, что в вашем шейдере есть директива включения #include "UnityCG.cginc".

Смотрите так же: DirtyTextureRegion, SyncTexture.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3