Introdução ao Datasmith Runtime
O Datasmith Runtime é uma coleção de funcionalidades do Datasmith que estão disponíveis em tempo de execução (em oposição a um fluxo de trabalho no editor) em um aplicativo baseado na Unreal Engine. Você pode usar esses recursos para criar aplicativos capazes de importar arquivos .udatasmith e manipulá-los usando Blueprints.
O Datasmith Direct Link pode ser acessado em um aplicativo preparado com base na Unreal Engine usando o Datasmith Runtime e Blueprints.
Com o Datasmith Runtime, você pode criar aplicativos personalizados que aproveitam o Datasmith Direct Link ou visualizar dados do Datasmith sob demanda como parte de um fluxo de trabalho 3D iterativo.
Habilite os seguintes plugins no seu projeto para trabalhar com o Datasmith Runtime:
- Datasmith Content
- Datasmith Importer
- Datasmith Runtime
O Datasmith Runtime é oficialmente compatível com a Unreal Engine 4 e a Unreal Engine 5 no Windows e MacOS. Embora o Datasmith Runtime funcione no Linux, ele é experimental, e você pode enfrentar instabilidade e problemas de desempenho.
Como usar o Datasmith Runtime com Blueprints
O Datasmith Runtime expõe uma variedade de recursos do Datasmith e opções de importação usando vários nós Blueprint. Abaixo estão os mais comuns:
Os nós Blueprint mais comuns do Datasmith Runtime.
Opções de importação de Criar Datasmith Runtime
Expõe vários parâmetros de importação e os converte em uma estrutura de dados:
| Entradas | Descrição |
|---|---|
| Hierarquia de compilação | Determina se a hierarquia de atores é construída. Escolher uma hierarquia mais detalhada aumenta o tempo de carregamento e renderização.
|
| Colisão de compilação | Determina o tipo de colisão usado para componentes.
|
| Tipo de colisão | Determina o tipo de colisão usado para malhas estáticas.
|
| Importar metadados | Lê e importa metadados para atores. Aumenta o tempo de carregamento. |
A entrada Opções de mosaico não é usada no momento.
Definir opções de importação
Define o valor das opções de importação selecionadas para o conteúdo do Datasmith usando um Ator do Datasmith Runtime. Usa um Ator do Datasmith Runtime como Alvo e Opções de importação do Datasmith Runtime como seu valor.
Carregar arquivo
Carrega o arquivo .udatasmith localizado no caminho de arquivo especificado. Requer um Caminho de arquivo e um Ator do Datasmith Runtime como entradas.
Carregar arquivo do Explorer
Abre uma janela do Navegador de arquivos para navegar até o posição e selecionar um arquivo .udatasmith. Requer um Ator do Datasmith Runtime como entrada. Um Caminho de arquivo padrão é opcional.
Embora funcione com os sistemas operacionais Windows e Mac em Jogar no Editor (JNE), o opção nó Carregar arquivo do Explorer apenas com o Windows em tempo de execução.
Get Direct Link Proxy
Retorna uma interface para uma conexão Direct Link chamada Proxy do Direct Link. Essa é a primeira etapa na criação de uma conexão Datasmith Direct Link.
Obter lista de fontes
Obtém uma lista de origens do Datasmith Direct Link. Requer um Proxy do Direct Link como entrada.
Abrir conexão com índice
Abre uma conexão Direct Link com a fonte localizada no valor de índice especificado. Requer um Ator do Datasmith Runtime e um Índice fonte como entrada.
Fechar conexão
Fecha uma conexão do Direct Link aberta associada a um Ator do Datasmith Runtime especificado.
Como carregar conteúdo do Datasmith em tempo de execução
Usando o Datasmith Runtime, você pode carregar conteúdo do Datasmith dentro de um aplicativo preparado e, ao mesmo tempo, ter acesso à hierarquia e às propriedades do ator.
Clique na imagem para ampliá-la.
Para carregar conteúdo do Datasmith usando Blueprints:
-
Crie um novo Actor Blueprint para conter o ponto de ancoragem do conteúdo do Datasmith. Você pode fazer isso clicando com o botão direito do mouse no Navegador de conteúdo e selecionando Classe de Blueprint no menu de contexto. Na janela Selecionar classe pai, selecione Ator e nomeie a nova classe Blueprint como DatasmithActor. Clique duas vezes no novo Blueprint para abrir o editor.
Esta âncora servirá como ponto de origem para o conteúdo importado do Datasmith. Se o conteúdo estiver deslocado da origem no seu aplicativo de origem, a Unreal Engine manterá esse deslocamento da âncora quando o conteúdo for importado.
-
Selecione a aba Gráfico de Eventos e remova todos os eventos, exceto BeginPlay. Arraste uma conexão do evento BeginPlay e adicione o nó Spawn Actor From Class. Abra o menu suspenso Classe e selecione DatasmithRuntimeActor. Promova o Valor de retorno a uma variável e chame-a de Âncora.
-
Gerar ator requer uma transformação para gerar a âncora. Clique com o botão direito à esquerda de Spawn Actor e adicione um nó Make Transform. Conecte a saída de Make Transform ao pin Spawn Transform em Spawn Actor.
-
Para finalizar o Blueprint, clique e arraste do pin de execução do nó Set e adicione um nó Load File from Explorer. Conecte uma referência à variável Âncora à entrada Ator do Datasmith Runtime.
-
Salve e compile o Blueprint. Adicione uma cópia do Blueprint de âncora ao nível e pressione Play para testar.
A Unreal Engine abrirá uma janela do explorador de arquivos solicitando que você selecione um arquivo.
Como criar um Datasmith Direct Link com Blueprints
Você também pode abrir um Datasmith Direct Link entre um ou mais aplicativos de origem e seu projeto da Unreal Engine no tempo de execução usando o Datasmith Runtime.
- Comece criando um novo ator de Blueprint para conter o ponto de ancoragem do conteúdo do Datasmith. Clique duas vezes no novo Blueprint para abrir o editor.
- Como no exemplo anterior, selecione a aba de Event Graph e remova todos os eventos, exceto Event BeginPlay. Arraste uma conexão do evento BeginPlay e adicione o nó Spawn Actor From Class. Abra o menu suspenso Class e selecione DatasmithRuntimeActor.
-
É necessário ter um Transform para gerar a âncora. Clique com o botão direito à esquerda de Spawn Actor e adicione um nó Make Transform. Conecte a saída de Make Transform ao pin Spawn Transform em Spawn Actor.
-
Em seguida, você precisa de um Direct Link Proxy para atuar como um ponto de conexão entre o aplicativo e o aplicativo de origem. Arraste uma conexão do nó Set e crie um Get Direct Link Proxy. Promova a saída a uma variável e dê a ela o nome de Direct Link Sources Proxy. Defina-a como "Public".
-
Clique no botão de adição (+) na seção Functions do painel My Blueprints para criar uma função. Dê a ela o nome de DirectLinkUpdate. Você usará essa nova função para acionar a conexão do Direct Link durante o tempo de execução.
-
Primeiro, obtenha uma cópia da variável Direct Link Proxy. Arraste uma linha da variável e crie um nó Get List of Sources. Promova a saída a uma variável para conter a lista de origens do Direct Link e torne essa variável pública.
-
Arraste a variável Anchor que você criou antes da aba My Blueprint para a função Direct Link Update. Arraste a linha da saída e digite Set Import Options para selecionar e inserir esse nó.
-
Clique com o botão direito, crie um nó Make Datasmith Runtime Import Options e arraste uma conexão da saída para a entrada Import Options.
-
Finalize a função arrastando uma linha de Set Import Options e criando um nó Open Connection with Index. Ele recebe uma âncora e um Source Index como entrada. Conecte a referência da âncora à entrada de destino.
-
Clique no sinal de adição (+) ao lado de Variables para criar uma variável. Dê a ela o nome de SourceIndex e torne-a do tipo Integer.
-
Conecte a nova variável à entrada Source Index do nó Open Connection with Index. Um valor de índice de 0 se conectará à primeira origem na lista.
-
Por fim, clique na função DirectLinkUpdate em My Blueprints e habilite Call In Editor no painel Detalhes. Essa opção disponibiliza a função no tempo de execução nos detalhes do objeto de ancoragem.
Clique na imagem para ampliá-la.
- Salve e compile, usando as opções Save e Compile. O Blueprint concluído deve ter a aparência do exemplo a seguir:
Clique na imagem para ampliá-la.
Inicie o aplicativo de origem e execute o projeto clicando no botão Play. Selecione a âncora no Organizador de Mundo e clique no botão Direct Link Update no painel Detalhes. Em seguida, clique no botão Synchronize with Direct Link no aplicativo de origem. Você verá o conteúdo do Datasmith aparecer no nível usando as opções de importação especificadas no Blueprint.
Desabilitar a opção Use Less CPU when in Background permite que a engine atualize a janela de visualização 3D quando o foco da janela da Unreal Engine e quando um pawn no nível não estiver possuído. Essa opção está em Preferências do Editor, em General, Performance.