Unity Server build (без заголовка) родной указатель текстуры возвращает 0 - PullRequest
0 голосов
/ 15 октября 2019

Когда я запускаю следующий код в редакторе Unity или собираю и запускаю его (не в режиме без головы), GetNativeTexturePtr() возвращает значение >0 для идентификатора текстуры и т. Д.

Однакопри сборке приложения с включенной опцией Сборка сервера GetNativeTexturePtr() всегда возвращает 0. Даже когда IsCreated() возвращает истину.

Есть идеи, что здесь происходит?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{
    private RenderTexture m_RenderTexture;

    // Start is called before the first frame update
    void Start()
    {
        m_RenderTexture = new RenderTexture(256, 256, 24, RenderTextureFormat.ARGB32);
        m_RenderTexture.Create();
        if (!m_RenderTexture.IsCreated())
        {
            Debug.LogError("RenderTexture could not be created");
        }
        Debug.Log("texture id = " + m_RenderTexture.GetNativeTexturePtr().ToString());
    }
}

Unity version 2019.1.9f1

1 Ответ

0 голосов
/ 16 октября 2019

Из документации Unity по Статья GetNativeTexturePtr :

На устройствах, подобных Direct3D, возвращается указатель на базовый тип текстуры (IDirect3DBaseTexture9 на D3D9, ID3D11Resource на D3D11, ID3D12Resource наD3D12). На устройствах, подобных OpenGL, возвращается текстурное имя GL;приведите указатель к целочисленному типу, чтобы получить его. На Metal указатель id возвращается. На платформах, которые не поддерживают плагины собственного кода, эта функция всегда возвращает NULL.

и руководство Unity для Сервер / сборка без головы :

Включите этот флажок, чтобы построить проигрыватель для использования на сервере и без визуальных элементов (без заголовка) без необходимости использования каких-либо параметров командной строки. [...]

При сборке Server / Headless не будет использоваться графический API, поэтому при вызове GetNativeTexture всегда будет возвращаться NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...