View a markdown version of this page

Motor Epic Unreal - AWS Deadline Cloud

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Motor Epic Unreal

O Unreal Engine é uma ferramenta de criação 3D em tempo real para visuais fotorreais e experiências imersivas. O Unreal Engine é suportado pelo Deadline Cloud com remetentes, pacotes conda e um adaptador para aumentar o desempenho de renderização. Este guia fornece instruções passo a passo para usar o Deadline Cloud com o Unreal Engine para renderizar seus projetos do Movie Render Queue mais rapidamente, distribuindo as tarefas de renderização em várias máquinas.

Visão geral do suporte

O Unreal Engine é suportado pelos seguintes componentes:

  • Remetente: Plugin de remetente integrado para envio direto de trabalhos do Unreal Engine com detecção automática de cenas e ativos.

  • Pacotes Conda: Deadline Cloud para instalação automática em frotas gerenciadas por serviços.

  • Adaptador: um programa em hosts de trabalho que mantém o aplicativo carregado entre as tarefas para acelerar a renderização e os relatórios do progresso da renderização.

  • Cross-platform compatibilidade: suporte para remetentes e funcionários somente para Windows.

  • Integração da fila de renderização de filmes: suporte para o sistema de fila de renderização de filmes da Unreal.

Compatibilidade com a versão do Unreal Engine

A tabela a seguir mostra os níveis atuais de suporte para as versões do Unreal Engine:

Versão principal Suporte ao remetente Suporte Conda
5.4 Windows Windows
5.5 Windows Windows
5.6 Windows Windows
5.7 Windows Windows
5,8 Windows Windows

Canal Deadline Cloud Conda

A tabela a seguir lista todos os pacotes conda aplicáveis ao Unreal Engine disponíveis para Service-managed frotas no canal condadeadline-cloud:

SO Pacote Versão
Windows motor irreal 5.4
Windows motor irreal 5.5
Windows motor irreal 5.6
Windows motor irreal 5.7
Windows motor irreal 5,8
Windows unreal-engine-openjd

Introdução

Pré-requisitos

Antes de instalar o remetente do Unreal Engine, certifique-se de ter o seguinte:

  • Estação de trabalho Windows (Windows 10 ou posterior)

  • Versão suportada do Unreal Engine instalada

  • Monitor Deadline Cloud instalado (baixe aqui)

  • Acesso a uma fazenda Deadline Cloud com uma frota gerenciada por serviços GPU-enabled do Windows ou uma frota gerenciada pelo cliente com o Unreal Engine, o adaptador Unreal Engine e a configuração de licenciamento

Instalando o remetente

O remetente do Unreal Engine adiciona a funcionalidade do Deadline Cloud como um plug-in ao Unreal Engine, permitindo que você envie seus trabalhos do Movie Render Queue diretamente para o Deadline Cloud para renderização.

Escolhendo sua filial

Selecione a ramificação apropriada para sua implantação:

RamificaçãoEstabilidadeCaso de usoRecomendado para
soltar StableProduçãoA maioria dos usuários
linha principal Atributos mais recentesDesenvolvimento e testesUsuários avançados
dica

Use a ramificação de lançamento para ambientes de produção para garantir a estabilidade.

Criação de uma nova instância do Windows Amazon EC2 para instalar o Unreal (opcional)

Se você estiver configurando uma nova instância do Windows Amazon Elastic Compute Cloud (Amazon EC2) como remetente, uma instância g5.2xlarge com 200 GB de armazenamento é um mínimo razoável:

  1. Inicie uma instância do Amazon EC2 com um perfil de instância válido. O perfil é necessário para baixar os drivers NVIDIA GRID conforme as instruções abaixo.

  2. Baixe o Epic Installer e instale uma versão compatível do Unreal Engine (5.4 a 5.8).

    • O UE 5.5 tem um bug de falha conhecido ao ser executado com o plug-in DirectX 11 (consulte o número do problema UEUE-276282). Se você precisar de suporte ao DirectX no UE 5.5, use o DirectX 12 ou posterior.

  3. Drivers NVIDIA GRID - Siga as instruções de instalação do Windows.

Caminhos longos do Windows

Muitas das etapas abaixo podem criar arquivos que excedam o tamanho máximo do caminho padrão do Windows. Antes de criar e instalar o remetente ou adaptador do Deadline Cloud for Unreal Engine em uma máquina Windows, recomendamos que você ative o suporte de caminho longo do Windows. Para fazer isso, siga as instruções na página Limitação máxima do caminho do arquivo, por exemplo, executando o PowerShell comando.

Também há um problema aberto no agente de trabalho causado por uma dependência que não é fornecida configurada para oferecer suporte a caminhos longos do Windows. Ao configurar seus trabalhadores, siga as etapas de solução alternativa no problema vinculado para oferecer suporte total aos caminhos longos do Windows até que o problema seja resolvido.

Instalando ferramentas de compilação

O plugin Unreal Submitter atualmente deve ser compilado localmente.

  1. Instale o Visual Studio usando o Visual Studio Installer.

  2. Verifique se a versão do Visual Studio e das ferramentas de compilação é compatível com a sua versão do Unreal verificando a tabela de compatibilidade da Epic.

  3. Em Componentes individuais, certifique-se de que a versão das ferramentas de construção do MSVC selecionada (“Mais recente” por padrão) corresponda à versão recomendada na tabela. Embora a orientação de compatibilidade possa sugerir uma versão “ou posterior”, às vezes ocorrem erros de compilação ao usar uma versão mais recente do que a listada como “recomendada”.

  4. Em Componentes individuais, selecione um SDK do.NET Framework recente (4.6.1 e 4.8.1 foram verificados).

  5. Em Cargas de trabalho, selecione Desenvolvimento de desktop com C++.

Instalando o monitor Deadline Cloud

O monitor Deadline Cloud é usado para gerenciar suas credenciais para enviar trabalhos para o Deadline Cloud e monitorar o status de seus trabalhos.

  1. Siga as instruções de instalação do monitor Deadline Cloud.

  2. Login.

Configuração do ambiente

  1. (Se ainda não estiver instalado) Instale uma versão recente do Python para todos os usuários (verificada com 3.12).

  2. Certifique-se de que suas variáveis de ambiente estejam definidas corretamente. Nas variáveis de ambiente do sistema, seu PATH deve incluir:

    • O caminho para sua instalação do Python (por exemplo,C:\Program Files\Python312).

    • O caminho para sua pasta Python Scripts (por exemplo,C:\Program Files\Python312\scripts).

    • O caminho para seus binários Unreal (por exemplo,C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64).

Instalação do software Deadline Cloud

Clone ou baixe deadline-cloud-for-unreal-engine da ramificação de lançamento ou da linha principal, dependendo se você deseja a versão testada mais recente ou todas as confirmações mais recentes.

git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git cd deadline-cloud-for-unreal-engine git switch release

Opcional - Crie e instale o plugin com script

scripts/build_plugin.pyOpcionalmente, um script auxiliar automatiza as próximas duas etapas. Ele tenta encontrar a versão mais recente do Unreal, cria seu plugin e dependências do Python e os instala nos locais corretos. Você pode substituir configurações como a versão Unreal. Para ver a lista de ajuda completa, execute:

python scripts/build_plugin.py -h

Para criar e instalar sua cópia atual do deadline-cloud-for-unreal-engine as a remetente com a instalação mais recente do Unreal Engine, execute:

python scripts/build_plugin.py --install

Se você instalou com esse script com sucesso, você pode pular paraCriação de uma frota.

Crie o plug-in

Ajuste os dois primeiros caminhos abaixo com base em onde sua instalação do Unreal está e onde você instaloudeadline-cloud-for-unreal-engine.

Na pasta Unreal Install Batchfiles (o package parâmetro pode ser qualquer novo diretório, mas você desejará que ele seja chamado UnrealDeadlineCloudService posteriormente):

cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"

Copie a pasta “package” acima para a pasta Plugins da instalação do Unreal (por exemplo,C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService).

Dependências do Python

Existem 4 maneiras de instalar as dependências necessárias do Python.

1. Se você construiu e instalou o plug-in a partir da ramificação de lançamento acima, você pode instalar a partir do pip. Use o seguinte comando de instalação, ajustando os caminhos para sua instalação do Unreal:

"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install deadline-cloud-for-unreal-engine --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"

2. Como alternativa, em seu .uplugin arquivo (nas etapas acima, isso ocorreriaC:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin), você pode adicionar uma PythonRequirements seção que corresponda à versão mais recente de deadline-cloud-for-unreal-engine in GitHub/PyPI, por exemplo:

"PythonRequirements": [ { "Platform": "All", "Requirements": [ "deadline-cloud-for-unreal-engine>=0.5.0" ] } ]

Você pode querer desativar o recurso “hash estrito” nas configurações do Python do Unreal ou adicionar configurações de hash para versões específicas de bibliotecas e dependências que você deseja consumir.

3. Se você estiver retirando da linha principal, pode ter dependências do Python que ainda não foram lançadas para o PyPI - você precisará criar e instalar sua cópia local, o que pode ser feito com o hatch. O .whl arquivo precisará ser alterado para refletir a versão que é gerada pelo hatch build:

pip install hatch hatch build "C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install dist\deadline_cloud_for_unreal_engine-0.2.2.post21-py3-none-any.whl --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"

4. Por fim, as dependências do Python podem ser instaladas pelo instalador do remetente. Eles podem estar desatualizados com o código acima da versão ou da ramificação principal, e esse método não deve ser preferido no momento.

  1. Faça o download do instalador do remetente na guia Downloads do console AWS do Deadline Cloud ou no monitor do Deadline Cloud em Configuração da estação de trabalho → Downloads.

  2. Execute o instalador para todos os usuários. O local de instalação padrão está bom.

  3. Ative o plugin Unreal Engine.

  4. Certifique-se de que o caminho de instalação do plug-in Unreal Engine corresponda ao local para o qual seu plug-in foi copiado (em particular, certifique-se de que sua versão do Unreal corresponda).

Notificações de atualização

O plug-in do remetente verifica automaticamente as versões mais recentes GitHub quando o Unreal Editor é iniciado. Se uma atualização estiver disponível, uma caixa de diálogo solicitará que você visite a página de lançamento.

Para desativar as notificações de atualização, desmarque Mostrar notificações de atualização do remetente em Configurações gerais no painel de configurações do Deadline Cloud (Editar > Configurações do projeto > Plugins > Deadline Cloud).

Como alternativa, você pode usar a CLI:

deadline config set settings.submitter_update_notification false

Para reativar:

deadline config set settings.submitter_update_notification true

Criação de uma frota

Se você já tem uma frota do Windows e não precisa configurar uma nova frota, pode pular paraEnviando uma renderização de teste.

Criação de uma frota gerenciada por serviços (SMF)

Siga o guia do usuário de frotas gerenciadas por serviços para criar um SMF, caso ainda não tenha um. Em frotas gerenciadas por serviços (SMFs), o Unreal Engine e o adaptador estão automaticamente disponíveis usando o canal deadline-cloud conda com o ambiente de fila padrão. https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment Você está pronto para começar a renderizar. Continue com o texto Enviando uma renderização de teste abaixo para enviar um trabalho de renderização de teste.

Criação de uma frota gerenciada pelo cliente (CMF)

  1. Siga Criar uma frota gerenciada pelo cliente para criar uma CMF se você ainda não tiver uma.

    Atenção

    Ao associar seu CMF às filas, remova o ambiente padrão da fila conda se você não o usar. Essa remoção evita que o ambiente conda seja usado e use acidentalmente SMF-specific as variáveis padrão para trabalhos enviados ao seu CMF. Se você usa conda em seu CMF, lembre-se de atualizar CondaPackages CondaChannels as variáveis em Parameter Definition Overrides durante o envio do trabalho.

  2. Siga a instalação e configuração do host de trabalho para configurar um host de trabalho.

  3. Siga Gerenciar acesso aos segredos do usuário do trabalho do Windows para configurar os segredos do usuário do trabalho do Windows para seu trabalhador CMF.

  4. Siga Instalar e configurar o software necessário para trabalhos para instalar o software necessário para executar trabalhos.

  5. Siga Configurando um funcionário da frota gerenciada pelo cliente (CMF) para configurar seu node de trabalho para executar trabalhos do Unreal Engine.

Enviando uma renderização de teste

Este exemplo usa a demonstração do Meerkat do Unreal Marketplace:

  1. Inicie o Epic Games Launcher.

  2. Instale o Meerkat Demo na guia Amostras.

  3. Crie um projeto a partir da Demonstração do Meerkat e abra-o.

  4. No menu Editar, selecione Plugins, pesquise e ative UnrealDeadlineCloudService.

  5. Reinicie o Unreal se você habilitou o plugin pela primeira vez.

  6. Em Editar > Configurações do projeto, procure a seção Movie Render Pipeline.

    • Em Executor remoto padrão, selecione MoviePipelineDeadlineCloudRemoteExecutor.

    • Em Default Executor Job, selecione MoviePipelineDeadlineCloudExecutorJob.

    • Em Classes de configurações de trabalho padrão, escolha o ícone de adição e adicione DeadlineCloudRenderStepSetting.

  7. Pesquise as configurações do Deadline Cloud e verifique a autenticação:

    • Certifique-se de que seu status mostre “AUTENTICADO” e a API Deadline Cloud mostre “AUTORIZADO”.

    • Se não aparecer, tente primeiro usar o botão Login. Se isso não funcionar, abra o monitor Deadline Cloud e verifique se você está logado.

    • Na seção Deadline Cloud Workstation Configuration:

      • Em Configurações globais, certifique-se de que seu perfil da AWS esteja definido corretamente para seu perfil de monitor Deadline Cloud.

      • Em Perfil, certifique-se de que sua fazenda padrão esteja definida como sua fazenda.

      • Em Fazenda, certifique-se de que sua fila padrão esteja definida como uma fila associada à frota que você configurou acima.

  8. Saia da janela Configurações do projeto.

  9. Escolha Windows, Cinematics, Movie Render Queue.

    • Escolha + Render e selecione Main_SEQ.

    • Escolha UnsavedConfig na coluna de configurações.

      • Na janela pop-up, você deve ver as configurações do Deadline Cloud à esquerda. Essa janela pode então ser fechada.

    • No lado direito da caixa de diálogo, defina as configurações do trabalho:

      • Em Substituições predefinidas (talvez seja necessário ampliar essa caixa de diálogo):

        • Expanda as configurações de trabalho compartilhado:

          • Defina Name (Nome) como Unreal Test Job.

          • Defina o máximo de tentativas como 2.

        • Expanda os anexos do trabalho:

          • Em Arquivos de entrada, selecione Mostrar Auto-Detected.

          • Verifique se a lista de arquivos detectados automaticamente é preenchida corretamente.

      • Em Substituições do modelo de trabalho:

        • Atualize a versão do Unreal Engine CondaPackages se estiver usando uma versão diferente da 5.6.

          • A detecção automática da versão Unreal Engine está chegando em uma versão futura.

    • Escolha Render (Remote).

  10. Você pode acessar o monitor Deadline Cloud e observar o progresso do seu trabalho.

Configurando um funcionário da frota gerenciada pelo cliente (CMF)

Esta seção explica como configurar uma instância do Amazon EC2 como um trabalhador CMF para o Deadline Cloud com o Unreal Engine.

Visão geral do

A seguir estão as principais diferenças entre CMF e SMF:

  • CMF: Instalação manual do Unreal Engine e do adaptador em hosts de trabalho.

  • SMF: Disponibilidade automática através do canal deadline-cloud conda.

Escolhendo sua filial

Selecione a ramificação apropriada para sua implantação:

RamificaçãoEstabilidadeCaso de uso
soltar StableImplantações de produção
linha principal Mais recenteDesenvolvimento e testes
Importante

Certifique-se de que sua versão de trabalho corresponda à versão do remetente para evitar problemas de compatibilidade.

Configuração da instância Amazon EC2

A seguir está a configuração de instância recomendada:

  • Tipo de instância: g5.2xlarge ou superior.

  • Armazenamento: mínimo de 200 GB.

  • Sistema operacional: Windows Server 2019/2022.

Instalação de software

1. Instale o Unreal Engine:

  1. Baixe o Epic Games Launcher.

  2. Instale o Unreal Engine 5.4 ou superior.

    nota

    O Unreal Engine 5.4+ é necessário para compatibilidade com o Deadline Cloud.

2. Instale os drivers NVIDIA GRID:

Instalando ferramentas de compilação

O plugin Unreal atualmente deve ser compilado localmente.

  1. Instale o Visual Studio usando o Visual Studio Installer.

  2. Verifique se a versão do Visual Studio e das ferramentas de compilação é compatível com a sua versão do Unreal verificando a tabela de compatibilidade da Epic.

  3. Em Componentes individuais, certifique-se de que a versão das ferramentas de construção do MSVC selecionada (“Mais recente” por padrão) corresponda à versão recomendada na tabela.

  4. Em Componentes individuais, selecione um SDK do.NET Framework recente (4.6.1 e 4.8.1 foram verificados).

  5. Em Cargas de trabalho, selecione Desenvolvimento de desktop com C++.

Instalação do software Deadline Cloud

Clone ou baixe deadline-cloud-for-unreal-engine da ramificação de lançamento ou da linha principal. Certifique-se de que sua versão de trabalho das bibliotecas seja compatível com a versão que está sendo usada por seus remetentes.

git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git cd deadline-cloud-for-unreal-engine git switch release

Opcional - Crie e instale plug-ins e dependências com script:

Existe um script auxiliar scripts/build_plugin.py que pode automatizar as etapas restantes da instalação. Ele tenta encontrar a versão mais recente do Unreal, criar suas dependências de plug-in e python e instalá-las nos locais corretos. Configurações como a versão Unreal a ser usada podem ser substituídas. Para ver a lista de ajuda completa, execute:

python scripts/build_plugin.py -h

Para criar e instalar sua cópia atual do deadline-cloud-for-unreal-engine as a worker com a instalação mais recente do Unreal Engine, execute:

python scripts/build_plugin.py --install --worker

Configure o agente de trabalho do Deadline Cloud executando:

install-deadline-worker ^ --farm-id FARM_ID ^ --fleet-id FLEET_ID ^ --region REGION ^ --allow-shutdown

Se você instalou com esse script e configurou o agente de trabalho com sucesso, você pode pular paraIniciando o serviço Deadline Cloud Worker Agent.

python -m pip install deadline-cloud-worker-agent

A versão correta do adaptador deve ser instalada dependendo da versão do remetente que está sendo usada. Se você estiver usando a versão do remetente da ramificação de lançamento em GitHub, você pode simplesmente instalar com pip:

python -m pip install deadline-cloud-for-unreal-engine

Se você estiver usando a versão principal ou uma versão personalizada em desenvolvimento do remetente, para evitar problemas de compatibilidade, recomendamos que você crie e instale a partir da mesma versão do código ou transfira o .whl arquivo da compilação do remetente:

pip install hatch hatch build python -m pip install dist\my-built-wheel.whl

Construindo o plugin

Ajuste os dois primeiros caminhos abaixo com base em onde sua instalação do Unreal está e onde você instaloudeadline-cloud-for-unreal-engine.

Na pasta Unreal Install Batchfiles (o package parâmetro pode ser qualquer novo diretório, mas você desejará que ele seja chamado UnrealDeadlineCloudService posteriormente):

cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"

Copie a pasta “package” acima para a pasta Plugins da instalação do Unreal (por exemplo,C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService).

pywin32

A versão do Python da Unreal precisará do pywin32. Pip install usando uma cópia da instalação Python de terceiros da Unreal:

"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install pywin32

Iniciando o serviço Deadline Cloud Worker Agent

Em sua instância de trabalhador CMF:

  1. Abra o Gerenciador de tarefas.

  2. Escolha a guia Serviços à direita.

  3. Encontre DeadlineWorker.

    • Se você não o vê listado, provavelmente perdeu as etapas (install-deadline-workerem particular) das etapas de configuração do host CMF.

  4. Se o status do serviço não for atualmente “Em execução”, clique com o botão direito do mouse e selecione Iniciar.

  5. Se o DeadlineWorker serviço não estiver iniciando, verifique os registros de inicialização do agente de trabalho nos seguintes locais:

    • C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log

    • C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log

Gerenciamento de credenciais do Perforce

Esta seção aborda o gerenciamento seguro de credenciais para integrar o Perforce aos trabalhadores do Deadline Cloud.

Visão geral do

Existem várias abordagens para configurar as credenciais do Perforce para funcionários do Deadline Cloud. Cada método tem implicações de segurança e casos de uso diferentes:

MétodoNível de segurançaSuporte de implantaçãoUso recomendado
AWS Secrets Manager (Gerente de segredos) AltoSMF + CMFProdução (recomendada)
Variáveis de ambiente de trabalhoBaixoSMF + CMFSomente desenvolvimento e teste
Variáveis de ambiente de filaBaixoSMF + CMFSomente desenvolvimento e teste
Registro do WindowsMédioSomente CMFConfigurações antigas do CMF
Pre-configured usuário administradorMédioSomente CMFConfigurações simplificadas do CMF
Importante

Use o Secrets Manager para ambientes de produção. Ele fornece armazenamento de credenciais centralizado e criptografado com trilhas de auditoria e funciona com implantações de SMF e CMF.

Noções básicas sobre credenciais P4

Para recuperar as configurações de conexão, incluindo URL e porta do servidor Perforce, nome de usuário e senha, o Perforce segue a seguinte prioridade:

  1. Parâmetros de conexão em qualquer estrutura para Perforce (P4) (p4python.P4por exemplo).

  2. User/system variáveis de ambiente:P4PORT,P4USER,P4CLIENT,P4PASSWD.

  3. Registro do Windows: HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment (configurações de todo o sistema) ou HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment (configurações específicas do usuário).

Com essas prioridades, se você tiver a seguinte configuração:

  • O parâmetro de conexão password é password.from.connection

  • A variável de ambiente %P4PORT% é ssl:perforce.from.env:1666

  • O registro do Windows HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT é ssl:perforce.from.registry:1666

  • O registro do Windows HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER é user.from.registry

  • O registro do Windows HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD é password.from.registry

A conexão Perforce resultante será:

Port = ssl:perforce.from.env:1666 User = user.from.registry Password = password.from.connection

Gerenciador de segredos (recomendado)

O Secrets Manager fornece a solução mais segura e escalável para implantações de CMF e SMF.

Essa abordagem oferece os seguintes benefícios:

  • Segurança centralizada: armazene todas as credenciais P4 em um local criptografado.

  • Sem exposição de credenciais: as credenciais nunca aparecem nas configurações ou nos registros do trabalho.

  • Rotação automática: suporte a rotação de credenciais sem reconfiguração do trabalho.

  • Trilhas de auditoria: acompanhe o acesso e o uso de credenciais.

  • Suporte universal: funciona com implantações CMF e SMF.

  • Redação do registro: as credenciais de conexão são automaticamente editadas nos registros de tarefas.

Etapa 1: Crie um segredo no Secrets Manager

Crie um segredo contendo seus parâmetros de conexão do Perforce.

Pares de valores-chave necessários:

  • P4PORT- URL e porta do servidor Perforce.

  • P4USER- Nome de usuário Perforce.

  • P4PASSWD- Por favor, insira a senha.

Importante

Os nomes das chaves devem corresponder exatamente aos parâmetros de conexão P4 para trabalhar com deadline-cloud-for-unreal-engine eles.

Exemplo de segredo:

{ "P4PORT": "ssl:your-perforce-server.com:1666", "P4USER": "your-perforce-username", "P4PASSWD": "your-perforce-password" }

Para criar o segredo:

  1. Abra o console do Secrets Manager.

  2. Escolha “Armazenar um novo segredo”.

  3. Selecione “Outro tipo de segredo”.

  4. Insira os pares de valores-chave acima.

  5. Dê um nome ao seu segredo (por exemplo,deadline-cloud-p4-credentials).

  6. Conclua o processo de criação.

Etapa 2: conceder ao trabalhador acesso ao segredo

Os trabalhadores precisam de secretsmanager:GetSecretValue permissão para acessar o segredo. Isso segue o mesmo padrão do gerenciamento de segredos de usuário de tarefas do Windows.

Para conceder acesso:

  1. Abra o console do Secrets Manager e navegue até seu segredo.

  2. Na seção “Permissões de recursos”, adicione esta política:

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "QUEUE_ROLE_ARN" }, "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "*" } ] }
  3. QUEUE_ROLE_ARNSubstitua pelo ARN da sua função de fila real.

  4. Salve a política.

nota

Salve o nome secreto - você precisará dele ao configurar trabalhos de renderização P4. Veja Criação de um trabalho de renderização do Perforce as próximas etapas.

Variáveis de ambiente de trabalho

Atenção

Essa abordagem não é recomendada para produção, pois expõe credenciais em registros e configurações de tarefas. Use o Secrets Manager para ambientes de produção.

Você pode passar credenciais de conexão no ambiente de trabalho em que ocorre a criação do espaço de trabalho, por exemplo, em p4_sync_smf_environment, ugs_sync_smf_environment ou ambientes similares para CMF. https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/ugs/ugs_sync_smf_environment.yml Como alternativa, crie um novo modelo de ambiente e anexe-o ao seu trabalho.

name: P4Credentials variables: P4PORT: ssl:my-perforce.com:1666 P4USER: j.doe P4PASSWD: MyVeRyS3cretP4ssW0rd

Essa abordagem tem os seguintes riscos de segurança:

  • As credenciais são visíveis nas configurações do trabalho.

  • As senhas podem aparecer nos registros (não editadas automaticamente).

  • Sem gerenciamento centralizado de credenciais.

  • É difícil alternar as credenciais.

Variáveis de ambiente de fila

Atenção

Essa abordagem não é recomendada para produção, pois armazena credenciais em configurações de fila. Use o Secrets Manager para gerenciamento seguro de credenciais.

De acordo com o guia do usuário do Deadline Cloud, você pode usar ambientes de fila para fornecer aplicativos de software, variáveis de ambiente e outros recursos para trabalhos na fila. Amostras do ambiente de filas podem ser encontradas na pasta queue_environments em deadline-cloud-samples.

Adicione um ambiente de fila usando o monitor ou console do Deadline Cloud

  1. Abra o Deadline Cloud Monitor ou o console da AWS.

  2. Navegue até a fazenda e a fila com a qual você está trabalhando.

  3. Selecione a guia Ambientes de fila.

  4. Escolha Ação e selecione Criar novo com YAML.

  5. Adicione o seguinte e salve:

    specificationVersion: environment-2023-09 environment: name: P4Credentials variables: P4PORT: ssl:my-perforce.com:1666 P4USER: j.doe P4PASSWD: MyVeRyS3cretP4ssW0rd

Adicionar ambiente de fila usando CLI

  1. Crie um p4_credentials.yaml arquivo com a amostra acima.

  2. Execute o seguinte comando da CLI:

    aws deadline create-queue-environment \ --farm-id FARM_ID \ --queue-id QUEUE_ID \ --priority 1 \ --template-type YAML \ --template file://p4_credentials.yaml

Registro do Windows (somente CMF)

Importante

Essa solução só é adequada para CMF, onde você pode configurar os hosts de trabalho diretamente. Para implantações de SMF, use o Secrets Manager.

O registro do Windows fornece armazenamento local de credenciais em máquinas de trabalho. Esse método usa o sistema de prioridade padrão do Perforce, no qual as credenciais são armazenadas em:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment(configurações em todo o sistema).

  • HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment(configurações específicas do usuário).

Essa abordagem só é adequada para implantações de CMF nas quais você tem acesso direto para configurar máquinas de trabalho.

Pre-configured usuário administrador (somente CMF)

Importante

Essa solução só é adequada para CMF, onde você pode configurar os hosts de trabalho diretamente. Para implantações de SMF, use o Secrets Manager.

Crie um usuário P4 dedicado para renderizar nós com uma conexão que não expira para eliminar a necessidade de passar dados secretos, como nomes de usuário e senhas. Nesse caso, um único usuário P4 dedicado pode ser usado para se conectar a todos os servidores P4, incluindo os servidores Commit (Master) e Edge, nos quais o depósito do projeto está acessível.

Portanto, você só precisa passar a porta à qual se conectar, se o padrão não estiver configurado nos trabalhadores. Você pode passar a porta adicionando o seguinte em um ambiente de trabalho ou ambiente de fila semelhante às etapas documentadas acima:

name: P4Sync variables: P4PORT: ssl:my-perforce.com:1666

Criação de um trabalho de renderização do Perforce

Esta seção orienta você na configuração dos ativos de dados do trabalho de Perforce-integrated renderização para que você possa enviar trabalhos de Perforce-integrated renderização para o Deadline Cloud a partir do Unreal Engine.

Pré-requisitos

Antes de enviar um trabalho do Movie Render Queue (MRQ) do Unreal Engine em um repositório Perforce:

Configuração do projeto Unreal:

  • O projeto deve estar dentro do espaço de trabalho do Perforce.

  • Verifique se a conexão Perforce foi estabelecida e você está logado.

Configuração do Deadline Cloud:

Requisitos do Perforce:

  • Espaço de trabalho Perforce válido com arquivos de projeto.

  • Permissões apropriadas do Perforce para operações de sincronização.

Arquitetura de trabalho de renderização Perforce

Os trabalhos de renderização P4 estendem o trabalho de renderização padrão com os recursos de sincronização do Perforce:

Deadline Cloud Perforce render job ├── Environments │ ├── Apply Perforce Credentials from Secrets Manager │ ├── Sync Perforce Environment (CMF/SMF) │ │ └── Initializes Perforce workspace and syncs repository on workers │ └── Launch UE Environment │ └── Starts Unreal Engine with Perforce workspace paths └── Steps └── Render Step └── Executes Movie Render Queue process

Principais diferenças em relação aos trabalhos padrão:

  • Gerenciamento de credenciais: aplicativo seguro de credenciais Perforce do Secrets Manager.

  • Sincronização do repositório: ambiente adicional de sincronização do Perforce para gerenciamento do espaço de trabalho.

  • Resolução do caminho: as variáveis de ambiente fazem referência aos caminhos do espaço de trabalho do Perforce.

  • Coleta de dependências: coleta automática e sincronização de Perforce-tracked ativos.

Como o Perforce sync se expande para projetos de produção

Os projetos de produção do Unreal Engine podem atingir centenas de gigabytes em dezenas de milhares de arquivos. A Perforce integração mantém o tempo de sincronização proporcional ao que mudou e não ao tamanho do projeto:

Os trabalhos são fixados em uma lista de alterações

No envio, o remetente define o parâmetro do PerforceChangelistNumber trabalho para a lista de alterações que seu espaço de trabalho sincronizou. Cada tarefa no trabalho é renderizada com base na mesma revisão, para que seu trabalho permaneça reproduzível mesmo quando os artistas enviam novas alterações durante a execução. Os trabalhadores podem iniciar uma tarefa somente depois que a lista de alterações fixada estiver disponível no Perforce servidor a partir do qual eles sincronizam.

Funcionários reutilizam um espaço de trabalho estável do cliente

Cada trabalhador cria seu espaço de trabalho Perforce do cliente em um diretório raiz persistente. Ele registra o emparelhamento em um arquivo de workspace_info.json registro armazenado com o espaço de trabalho. Um trabalhador substituto que recebe o mesmo armazenamento lê o registro e reutiliza o cliente existente. Isso não cria um novo espaço de trabalho. Como Perforce rastreia a lista de usuários no servidor com o nome do cliente, uma sincronização normal baixa somente as revisões do arquivo que foram alteradas desde o último trabalho.

Para se beneficiar da reutilização do espaço de trabalho do cliente em uma frota gerenciada por serviços, habilite o armazenamento persistente para que o volume que contém o espaço de trabalho sincronizado seja reconectado aos futuros trabalhadores.

Se o caminho de rede entre a região da sua frota e seu Perforce servidor tiver baixa taxa de transferência ou alta latência, um servidor de Perforce borda na região da frota poderá atuar como um cache regional para dados de depósito. Para obter mais informações, consulte Perforce source control no Deadline Cloud Developer Guide.

Configurando os componentes do trabalho de renderização do Perforce

Siga estas etapas para criar os ativos de dados necessários para trabalhos de Perforce-integrated renderização.

1. Criar ativo de dados Apply Perforce Credentials

Configure um ambiente OpenJD para recuperar as credenciais do Perforce do Secrets Manager e aplicá-las à conexão Perforce.

nota

As variáveis de ambiente aparecem nos registros com o openjd_env prefixo, mas os dados confidenciais (porta, usuário, senha) são automaticamente editados para fins de segurança.

Etapas de configuração:

  1. Crie um novo ativo de dados do Deadline Cloud Perforce Environment.

    A caixa de diálogo Escolha classe para instância de ativo de dados foi filtrada para “prazo final”, com Deadline Cloud Perforce Environment selecionado.
  2. Nomeie o ativo de dados de forma descritiva (por exemplo, "ApplyP4SecretEnv“).

  3. Selecione o p4_apply_secrets_environment.yml modelo emContent/Python/openjd_templates/p4/.

  4. Configure a referência secreta:

    Aplique as credenciais do Perforce, propriedades do ativo de dados do ambiente: nome P4ApplySecrets, caminho para o modelo p4_apply_secrets_environment.yml e variável 4INFO definida como. AWS_SECRET_P P4AccessSecretName

2. Crie um ativo de dados do ambiente de sincronização Perforce

Configure um ambiente OpenJD para criar um espaço de trabalho Perforce, sincronizar arquivos do servidor Perforce e limpar o espaço de trabalho após a renderização.

Etapas de configuração:

  1. Crie um novo ativo de dados do Deadline Cloud Perforce Environment.

  2. Nomeie o ativo de dados com base no tipo de sua frota:

    • P4SyncSMFEnvpara frota gerenciada por serviços (SMF).

    • P4SyncCMFEnvpara frota gerenciada pelo cliente (CMF).

  3. Selecione o modelo apropriado emContent/Python/openjd_templates/p4/:

    • SMF:p4_sync_smf_environment.yml.

    • CMF:p4_sync_cmf_environment.yml.

  4. Configure a referência secreta:

    • Digite o nome secreto da sua credencial Perforce no AWS_SECRET_P 4INFO.

    • Deve corresponder ao segredo da etapa 1.

    Propriedades do ativo de dados do ambiente de sincronização Perforce: nome P4SyncSmf, caminho para o modelo p4_sync_smf_environment.yml e variável 4INFO definida como. AWS_SECRET_P P4AccessSecretName

3. Crie um ativo de dados do ambiente Perforce Launch UE

Configure um ambiente OpenJD para lançar o Unreal Engine com integração com o Perforce. Isso faz referência automaticamente ao espaço de trabalho do Perforce criado pelo ambiente de sincronização.

Etapas de configuração:

  1. Crie um novo ativo de dados do Deadline Cloud Environment.

  2. Nomeie o ativo de dados de forma descritiva (por exemplo, "P4LaunchUEEnv“).

  3. Selecione o p4_launch_ue_environment.yml modelo emContent/Python/openjd_templates/p4/.

  4. Defina as configurações do ambiente:

    • Defina REMOTE_EXECUTION como. True

    • Essa configuração permite recursos de renderização remota.

    Inicie o Unreal Engine com as propriedades do ativo de dados do ambiente Perforce: nome LaunchUnrealEditorWithP4, caminho para o modelo p4_launch_ue_environment.yml e variável REMOTE_EXECUTION definida como True.

4. Crie um ativo de dados da etapa de renderização Perforce

Configure uma etapa de renderização do OpenJD para executar o processo de renderização.

Etapas de configuração:

  1. Crie um novo ativo de dados do Deadline Cloud Render Step.

    A caixa de diálogo Escolha classe para instância de ativo de dados filtrada para “nuvem de prazo”, com a etapa de renderização do Deadline Cloud selecionada.
  2. Nomeie o ativo de dados de forma descritiva (por exemplo, "P4RenderStep“).

  3. Selecione o p4_render_step.yml modelo emContent/Python/openjd_templates/p4/.

5. Crie um ativo de dados de trabalho de renderização do Perforce

Configure um trabalho de renderização do OpenJD que orquestre todo o fluxo de trabalho de renderização.

Etapas de configuração:

  1. Crie um novo ativo de dados do Deadline Cloud Render Job.

    A caixa de diálogo Escolha classe para instância de ativo de dados filtrada para “nuvem de prazo”, com Deadline Cloud Render Job selecionado.
  2. Nomeie o ativo de dados de forma descritiva (por exemplo, "P4RenderJob“).

  3. Selecione o p4_render_job.yml modelo emContent/Python/openjd_templates/p4/.

  4. Revise as definições de parâmetros: o modelo inclui esses parâmetros com seus comportamentos padrão:

    ParâmetroDescriptionAuto-filledAção necessária
    ProjectRelativePathCaminho do projeto em relação à raiz do espaço de trabalho do PerforceSimDeixe em branco - preenchido automaticamente
    ProjectNameNome do projeto para criação do espaço de trabalho PerforceSimDeixe em branco - preenchido automaticamente
    PerforceChangelistNumberFaça com que a lista de alterações sincronize o espaço de trabalho comSimDeixe em branco - preenchido automaticamente
    PerforceWorkspaceSpecificationTemplateReforce a especificação do cliente com token {workspace_name}SimDeixe em branco - preenchido automaticamente
    MrqJobDependenciesDescriptorArquivo JSON com dependências MRQ para sincronizaçãoSimDeixe em branco - preenchido automaticamente
    ExtraCmdArgsFileArquivo para argumentos extras (evita o limite de 1024 caracteres)NãoOpcional - use o padrão para configurações padrão
    FramesPerTaskNúmero de quadros a serem renderizados por tarefaNãoOpcional - use o padrão (0) para dividir as tarefas por fotos
    ExtraCmdArgsArgumentos adicionais de lançamento do UnrealNãoOpcional - use o padrão para configurações padrão
    ExecutableNome executável irreal para o nó de renderizaçãoNãoConfigurar - use o padrão para configurações padrão
    CondaPackagesPacotes Conda necessários para renderizar o trabalhoNãoConfigurar - use o padrão para configurações padrão
    CondaChannelsCanais Conda onde os pacotes são armazenadosNãoConfigurar - use o padrão para configurações padrão
    ShotsPerTaskNúmero de fotos agrupadas em uma única sessão de renderizaçãoNãoConfigurar - padrão: 1 (ajuste para desempenho)
    SubmitModeEnvie as saídas de renderização para o Perforce ('',submit, ou) shelveNãoOpcional - o padrão '' desativa o envio de saída do Perforce
    MarketplacePluginsDirPlugins do Path to engine MarketplaceSimDeixe em branco - preenchido automaticamente

    Diretrizes de configuração de parâmetros:

    • Auto-populated parâmetros: deixe-os vazios - eles são preenchidos automaticamente durante o envio do trabalho.

    • Parâmetros manuais: revise os padrões e ajuste com base em seus requisitos específicos.

    • ShotsPerTask: Comece com 1, aumente para obter um melhor desempenho com fotos simples.

    Propriedades de definição de parâmetros para o ativo de dados da tarefa de renderização do Perforce ProjectRelativePath ProjectName, listando PerforceChangelistNumber, PerforceWorkspaceSpecificationTemplate, MrqJobDependenciesDescriptor, ExtraCmdArgs,, ExtraCmdArgsFile, Executável, CondaPackages CondaChannels, e ChunkSize campos.
  5. Configure ambientes (nesta ordem exata):

    OrdemEnvironmentFinalidade
    1.º"ApplyP4SecretEnv"Aplique as credenciais do Perforce do Secrets Manager
    “P4SyncSMFEnv" ou "P4SyncCMFEnv”Sincronize o espaço de trabalho e os arquivos do Perforce
    "P4LaunchUEEnv"Inicie o Unreal Engine com caminhos Perforce
    Importante

    A ordem do ambiente é essencial para a resolução adequada de dependências e o fluxo de credenciais.

  6. Adicionar etapa de renderização: Adicione P4RenderStep "" à seção Etapas.

    Renderize a matriz de ambientes do ativo de dados de trabalho mostrando ApplyP4SecretsEnv P4SyncSMFEnv, e P4LaunchUEEnv em ordem, com P4RenderStep adição em Etapas.

Enviando as saídas de renderização de volta para o Perforce

Por padrão, um trabalho de Perforce renderização carrega as saídas somente por meio de anexos de trabalho. Em Perforce vez disso, o parâmetro SubmitMode job opta por inserir as saídas renderizadas, para que os quadros finalizados cheguem ao seu depósito junto com o projeto.

Valor do SubmitModeComportamento
'' (padrão)Somente anexos de trabalho. Nenhuma Perforce gravação ocorre. Os trabalhos existentes se comportam inalterados.
submitCada tarefa de renderização armazena os arquivos que ela produziu. Quando cada tarefa é concluída, uma AssembleShelves etapa combina todas as divisórias de tarefas em uma única lista de alterações agregada e a envia. O registro de tarefas registra o número final da lista de alterações.
shelveA mesma agregaçãosubmit, mas a lista de alterações agregada final é arquivada em vez de enviada, para que uma pessoa possa revisar a agregação antes de confirmá-la.

Somente os arquivos que foram alterados desde a última sincronização acabam na lista de alterações. Cada tarefa reconcilia os arquivos exatos que ela produziu, e a integração reverte os arquivos cujo conteúdo é idêntico à revisão do depósito, portanto, renderizar novamente um quadro inalterado não produz nenhuma entrada na lista de alterações.

nota

Quando SubmitMode é submit oushelve, o trabalho não carrega as saídas de renderização para o Amazon S3 por meio de anexos do trabalho. Perforcetorna-se o único caminho de entrega para as molduras. O recurso de saídas de download no monitor Deadline Cloud não encontra os quadros, e os trabalhos posteriores que consomem saídas por meio de anexos de trabalho não os veem. Os anexos de entrada ainda são enviados por meio dos anexos de trabalho normalmente.

Configure seus trabalhadores para se autenticarem Perforce como o mesmo Perforce usuário em todas as tarefas em um trabalho, porque a etapa de agregação encontra prateleiras de tarefas por proprietário. A configuração de credencial recomendada emGerenciamento de credenciais do Perforce, um único segredo compartilhado no Secrets Manager, já satisfaz esse requisito.

Práticas recomendadas

Pre-submission lista de verificação

  • Credenciais: Execute as credenciais configuradas corretamente (consulte). Gerenciamento de credenciais do Perforce

  • Espaço de trabalho: a especificação inclui todos os mapeamentos de visualização necessários.

  • Teste: teste com uma pequena tarefa de renderização antes de grandes envios de trabalhos.

  • Dependências: verifique se todas as dependências do projeto estão no Perforce e acessíveis.

  • Permissões: confirme se as funções dos trabalhadores têm acesso ao Secrets Manager.

Otimização de desempenho

A tabela a seguir mostra como a ShotsPerTask configuração afeta o desempenho:

Tiros por tarefaCaso de usoImpacto no desempenho
1-2 tirosFotos complexas, revisão detalhada necessáriaMenor rendimento, maior controle de qualidade
4-8 tirosCarga de trabalho balanceada, projetos típicosEquilíbrio ideal entre velocidade e capacidade de gerenciamento
Mais de 10 fotosFotos simples, processamento em loteTaxa de transferência máxima, sobrecarga mínima

Considere as seguintes otimizações adicionais:

  • Dependências: minimize as dependências desnecessárias de ativos para reduzir o tempo de sincronização.

  • Visualizações do espaço de trabalho: otimize as visualizações do espaço de trabalho do Perforce para sincronizar somente os arquivos necessários.

Monitoramento e depuração

  • Registros de tarefas: monitore o processo de sincronização do Perforce nos registros de execução de tarefas.

  • Status do espaço de trabalho: verifique a criação do espaço de trabalho e a conclusão da sincronização.

  • Coleta de dependências: verifique se todos os ativos necessários foram capturados.

  • Métricas de desempenho: acompanhe os tempos de sincronização e o desempenho da renderização.

Solução de problemas

Problemas e soluções comuns de

ProblemaSintomasSolução
Falhas na conexão P4 Erros de autenticação, tempo limiteVerifique as credenciais do Perforce; verifique a conectividade da rede; valide a acessibilidade do servidor Perforce
Erros de sincronização do espaço de trabalho Falhas de sincronização, permissão negadaVerifique as permissões do usuário do Perforce; verifique a especificação do espaço de trabalho; verifique se a lista de alterações existe
Dependências ausentes Falhas de renderização, ativos ausentesReviseMrqJobDependenciesDescriptor; verifique a coleção de referências eletrônicas; verifique todos os ativos no Perforce
Problemas de resolução de caminhos Erros de arquivo não encontradosVerifique a P4_CLIENT_DIRECTORY variável; verifique a ordem do ambiente; valide os caminhos raiz do espaço de trabalho

Etapas de depuração

  1. Verifique os registros de tarefas: revise os registros do ambiente de sincronização do Perforce para ver mensagens de erro detalhadas.

  2. Valide o espaço de trabalho: verifique se a especificação do espaço de trabalho do Perforce está correta.

  3. Teste localmente: verifique se as operações do Perforce funcionam na máquina remetente.

  4. Verifique as permissões: confirme se as funções do trabalhador têm acesso secreto (se estiver usando o Secrets Manager).

Requisitos de hospedagem personalizados

Esta seção descreve como criar e usar requisitos de host personalizados para renderização do Deadline Cloud no Unreal Engine.

Visão geral do

Os requisitos do host definem qual frota está qualificada para executar uma determinada etapa de renderização. Eles são armazenados dentro de um UDeadlineCloudHostRequirements ativo, que é então referenciado por um DeadlineCloudRenderStep ativo.

Tipo de requisitoLocal de configuraçãoCaso de uso
Requisitos básicos do sistemaCampos de CPU/RAM/GPURestrinja a renderização a máquinas com hardware específico
Requisitos de quantidade personalizadosNome + min/max valoresExigir níveis numéricos de recursos (licenças, tokens, cotas)
Requisitos de atributos personalizadosLista de atributos + valoresAtributos personalizados necessários nas frotas para executar a etapa
nota

Ocultar um requisito usando o ícone do olho só o oculta na interface de usuário do MRQ Submit. O requisito ainda se aplica ao enviar o trabalho.

Importante

AttributeOs valores Name e usados para requisitos de quantidade e atributos personalizados devem corresponder estritamente aos identificadores válidos definidos na documentação oficial da Open Job Description: Open Job Specifications.

Etapa 1: criar o ativo de requisitos do host

  1. Abra o Navegador de conteúdo no Unreal Engine.

  2. Crie um novo ativo: Adicionar Diversos → Ativo de dados . DeadlineCloudHostRequirements

  3. Nomeie o ativo, por exemplo,MyHostRequirements.

Etapa 2: carregar o modelo YAML padrão

  1. No painel de detalhes do ativo, localize o campo Caminho para o modelo.

  2. Selecione o modelo padrão:Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml.

Isso carrega os requisitos básicos, como CPU, memória, GPU, sistema operacional e arquitetura.

nota

Os requisitos básicos não podem ser removidos; somente seus valores podem ser alterados.

Etapa 3: Configurar os requisitos básicos (do sistema)

ConfiguraçãoExemplo
Sistema operacionalwindows
Arquitetura de CPUx86_64
vCPUs (min)16
GPUs (min)1

Se Max = 0, então não há limite superior para esse requisito.

Etapa 4: adicionar requisitos de quantidade personalizados

Usado quando o requisito é numérico (por exemplo, número de licenças, limites de simultaneidade).

  1. Encontre a seção Requisitos de quantidade personalizada.

  2. Adicione uma nova entrada e defina um nome, por exemplo:amount.custom.license.

  3. Defina os valores mínimo e máximo:

    • Mínimo: 1.

    • Máximo: 0 (0 significa ilimitado).

Etapa 5: adicionar requisitos de atributos personalizados

Usado para filtrar trabalhadores com base em etiquetas e rótulos.

  1. Encontre a seção Requisitos de atributos personalizados.

  2. Adicione um novo nome de atributo, por exemplo:attr.custom.gpu.vendor.

  3. Escolha a regra de correspondência:

    • AllOf- todos os valores devem corresponder.

    • AnyOf- pelo menos um deve corresponder.

  4. Insira valores de atributos separados por espaços, por exemplo:nvidia amd.

Etapa 6: Visibilidade no MRQ (opcional)

Cada entrada de requisito tem um ícone de olho.

OlhoComportamento
Visible (Visível)O requisito é mostrado na interface de usuário do MRQ Submit
OcultoO requisito está oculto, mas ainda está incluído ao enviar o trabalho

Essa configuração é útil para simplificar a interface do usuário para artistas e, ao mesmo tempo, preservar as restrições técnicas.

Etapa 7: anexar os requisitos a uma etapa de renderização

  1. Abra o DeadlineCloudRenderStep ativo relevante.

  2. Encontre o campo Requisitos do anfitrião.

  3. Atribua seu ativo criado (por exemplo,MyHostRequirements).

Todos os envios de MRQ usando essa etapa agora impõem sua lógica de seleção de anfitriões.

Resumo

Usando o ativo de requisitos do host, você pode:

  • Controle quais máquinas de trabalho executam seus trabalhos de renderização.

  • Especifique os níveis mínimos de recursos.

  • Direcione grupos de trabalhadores específicos usando a correspondência de atributos.

  • Simplifique a interface do usuário enquanto mantém as regras técnicas intactas.

  • Reutilize as configurações em várias etapas do MRQ.

Essa configuração melhora a consistência do roteamento de tarefas e garante que a renderização ocorra no hardware correto.

Configurações avançadas

Service-managed frotas versus frotas gerenciadas pelo cliente

Service-managed frotas (SMF)

Em frotas gerenciadas por serviços, o Unreal Engine e o adaptador estão automaticamente disponíveis usando o canal deadline-cloud conda com o ambiente de fila padrão. Essa configuração fornece a experiência mais fácil.

Customer-managed frotas (CMF)

Para frotas gerenciadas pelo cliente, o Unreal Engine e o adaptador devem ser instalados manualmente nos hosts dos trabalhadores. Essa configuração fornece mais controle e oferece suporte a recursos adicionais, como a integração com o Perforce. Para obter instruções detalhadas, consulte Configurando um funcionário da frota gerenciada pelo cliente (CMF).

Recursos de renderização do Unreal Engine

O sistema de renderização do Unreal Engine fornece suporte abrangente para:

Recurso Description Observações
Fila de renderização de filmes High-quality renderização off-line Integração com o envio de trabalhos
Sequenciador Timeline-based sistema de animação Detecção e processamento automáticos de disparos
Plugins do projeto Suporte a plug-ins personalizados Detecção e inclusão automáticas
Dependências de ativos Gerenciamento de arquivos de conteúdo Rastreamento abrangente de ativos
Renderização fixa Persistência do aplicativo entre as fotos Desempenho aprimorado para sequências de várias tomadas

Todos os recursos de renderização são detectados e configurados automaticamente pelo remetente integrado do Unreal Engine. O adaptador mantém o tratamento adequado de dependências e oferece suporte à renderização eficiente de várias fotos sem reiniciar o Unreal Engine.

Recursos de código aberto

O remetente e o adaptador são de código aberto e estão disponíveis em: GitHub