Criando sua primeira experiência

Depois que você completar a integração e estiver familiarizado com a interface do usuário do Roblox Studio, você estará pronto para começar a criar experiências na plataforma.

Usando um exemplo de pacote de ativos de alta qualidade, este tutorial guiará você através do processo de criação para uma experiência na qual os jogadores podem lançar cinco projéteis em direção a alvos em plataformas flutuantes, incluindo orientação para:

  • Construir e organizar um modelo de dados para um único local usando um dos modelos de projeto do Studio.
  • Personalizar objetos 3D primitivos e complexos da Loja do Criador com propriedades únicas para seus próprios requisitos de jogabilidade.
  • Organizar e colocar scripts em seus locais apropriados para que o motor Roblox possa simular e renderizar a jogabilidade corretamente.
  • Testar e publicar sua criação para um público global que acessa a plataforma usando uma variedade de dispositivos.

Depois de completar este processo, você pode aprender a recriar uma experiência de plataforma 3D simples com o plano de estudos principal, experimente diferentes tutoriais de casos de uso ou comece a fazer seus próprios projetos.

Criando um Projeto

Um projeto é uma coleção de ativos, configurações e outros recursos que juntos representam uma experiência. Todos os projetos começam com um único local, onde os jogadores são carregados ou gerados quando entram em uma experiência. Você pode criar locais adicionais dentro dessa mesma experiência para organizar arquivos para diferentes áreas de jogo. Por exemplo, se queremos que os jogadores se juntem a uma masmorra antes de se teleportar para um vasto deserto ou uma ilha assustadora, você pode organizar os ativos de cada área em seus próprios locais.

Um agrupamento de experiência de três lugares individuais com ambientes únicos.

A hierarquia de objetos de um local é seu modelo de dados, e ele descreve tudo o que compila essa área de jogabilidade. tal como os objetos que compõem o mundo 3D e os objetos que controlam o comportamento do tempo de execução. Quando você abre um projeto pela primeira vez, o modelo de dados do local inicial é relativamente simples, mas pode se tornar mais complexo rapidamente dependendo da quantidade de objetos, interatividade ou comportamento que você quer implementar em sua experiência.

Modelo de dados no início do tutorial
Modelo de dados no final do tutorial

Para sua primeira experiência, Este tutorial ensina a criar e organizar um modelo de dados em um único local usando um dos modelos de projeto do Studio. Os modelos do projeto são úteis porque fornecem um conjunto de objetos padrão no modelo de dados do local de início, que você pode usar para construir experiências de gêneros diferentes.

Por exemplo, se você quer construir uma experiência de interpretação de papéis com uma cidade extensa, você pode abrir o modelo Cidade moderna, que inclui objetos como paredes, janelas e portas reutilizáveis que você pode encaixar juntos para criar variações únicas de construção. Da mesma forma, se você quiser construir uma experiência de corrida, você pode abrir o modelo Corrida, que inclui um carro de corrida em funcionamento e um objeto de pista sinuosa que você pode reestruturar em inúmeras configurações.

Miniatura do modelo de Cidade moderna
Miniatura do modelo de Corrida

Para manter as coisas simples, este tutorial instrui você a criar um projeto com o modelo Placa base, porque inclui dois objetos padrão que são importantes para quase todas as experiências na plataforma:

  • Local de geração – Um objeto SpawnLocation, é onde os personagens do jogador aparecem no espaço 3D quando eles entram em uma experiência, bem como onde se regeneram quando sua saúde chega a zero.
  • Placa base – Uma placa de base é um piso com uma textura de grade 4x4.

Este modelo é um ótimo ponto de partida para criar sua primeira experiência, porque oferece um mundo neutro com tecnologia de iluminação de alta fidelidade e um piso que está alinhado com as medidas que você pode usar para posicionar e orientar objetos 3D ao longo de uma grade. Quadrículas (studs) são a unidade básica de comprimento do Studio e cada quadrícula equivale a cerca de 28 cm. Para mais informações sobre as unidades primárias do Studio, veja Unidades Roblox.

Miniatura do modelo da Placa base

Para abrir um projeto com o modelo Placa base:

  1. Abra o Roblox Studio. A página de início exibe todos os modelos de projeto disponíveis.

  2. Selecione a miniatura do modelo Placa base (Baseplate). O Studio abre uma nova experiência com um local de geração e uma base.

    Novo modelo de Placa base aberto no Studio com o local de geração padrão destacado.

Obtenha o Pacote de ativos

Agora que você tem um projeto aberto, você pode adicionar objetos 3D adicionais ao modelo de dados, além do local de geração e da placa base. O Studio representa objetos 3D como objetos BasePart, que renderizam com simulação física no espaço 3D e emulam o comportamento físico do mundo real, como gravidade, atrito e força.

Existem vários tipos de objetos Class.BaseParte, mas os mais comuns são:

  • Partes – Um objeto Part é objeto 3D primitivo do Studio que vem em cinco formas diferentes: bola, bloco, cilindro, cunha e cunha de canto.
  • Malhas Um objeto MeshPart é uma coleção de vértices, bordas e faces que compõem um objeto de um aplicativo de modelagem de terceiros.

Para ajudá-lo a se familiarizar com esses dois tipos de objetos 3D, este tutorial lhe fornece um pacote de ativos que inclui as seguintes partes e malhas que criam o jogo principal para sua primeira experiência:

Um modelo de malhas de catapulta que você pode mirar para a esquerda ou direita a partir de uma plataforma fixa no chão.
Três projéteis de bola que você pode equipar na catapulta.
Duas malhas de plataforma flutuante com alvos de blocos que você pode derrubar com projéteis.

Você pode encontrar este pacote de ativos na Loja do Criador, um mercado que oferece ativos da Roblox e da comunidade Roblox para uso em seus projetos, incluindo modelos, imagens, malhas, áudios, plugins, vídeos e recursos de fonte. A Loja do Criador é acessível diretamente no Studio dentro da Caixa de ferramentas, bem como na Central de criadores. Para mais informações sobre este mercado, veja Loja do Criador.

Para inserir o pacote de ativos deste tutorial da Loja do Criador no seu inventário do Studio, clique no link Adicionar ao inventário no seguinte componente. Quando os ativos estiverem no seu inventário, você poderá reutilizá-los em qualquer projeto na plataforma.

Para obter este pacote de ativos do seu inventário na sua experiência:

  1. Na barra de menu, selecione a aba Visualizar.

  2. Na seção Exibir, clique em Caixa de ferramentas. A janela da Caixa de ferramentas será exibida.

    A aba Visualizar do Studio com a ferramenta Caixa de Ferramentas destacada.
  3. Na janela Caixa de ferramentas, clique na aba Inventário. A opção Meus Modelos será exibida.

    Janela da Caixa de Ferramentas do Studio com a aba Inventário destacada.
  4. Clique na miniatura Introdução ao Studio - Catapulta & Plataformas (Intro to Studio - Catapult & Platforms). O pacote de ativos é exibido no seu visualizador.

Personalize alvos

Quando você adiciona um objeto 3D à sua experiência, o Studio atualiza a janela do Explorador para exibir o nome do objeto e um ninho de seus filhos dentro do serviço Workspace. Por exemplo, depois de adicionar o modelo de catapulta ao seu visualizador, a janela do Explorador exibe a pasta IntrotoStudioCatapult e seus ativos filhos ao lado do local de geração e da placa base.

A janela do Explorador é uma janela fundamental do Studio que representa o modelo de dados para o local na sua experiência que você abriu. Isso significa que se você tiver uma experiência com vários lugares, essa janela exibe objetos diferentes dependendo do lugar no qual você está trabalhando no momento.

Quando você selecionar um objeto na janela do Explorador, o Studio atualiza a janela Propriedades para exibir uma seleção de propriedades que você pode personalizar para esse objeto sem usar um script, como o tamanho do objeto, a cor, a posição ou a orientação. Para demonstrar este processo, esta seção do tutorial fornece orientações sobre a personalização das características visuais e comportamentais dos alvos cinzas nas plataformas flutuantes.

Para personalizar seus alvos:

  1. Selecione um dos objetos alvo.

    1. Na janela do Explorador, clique na seta suspensa à esquerda da pasta IntroToStudioCatapult para exibir todos os seus filhos.

    2. Usando este processo, expanda a pasta TargetPlatforms, o modelo filho TargetPlatform para a plataforma flutuante mais próxima da plataforma de catapulta fixa e sua pasta TargetParts para exibir todas as partes da plataforma flutuante.

    3. Clique em uma das partes. O visualizador exibe um contorno em torno do objeto para indicar que ele está selecionado e a janela Propriedades é atualizada para exibir uma seleção de propriedades customizáveis para essa parte específica.

  2. Na janela Propriedades,

    1. Defina BrickColor (cor do tijolo) para a cor que você quer tingir a peça.
    2. Defina Size (tamanho) para a escala que você quer que a peça tenha ao longo dos eixos X, Y e Z.
    3. Defina CFrame.Position para o local que você deseja que a peça tenha na plataforma.
    4. Defina CFrame.Orientation para a rotação que você quer que a peça tenha ao longo do eixo Y.
  3. Repita esse processo para outras peças nas plataformas flutuantes.

Organizando scripts

Embora você tenha muita flexibilidade em como organiza os modelos de dados dentro de seus projetos, o motor Roblox espera que certos objetos estejam em serviços de contêiner específicos para que a funcionalidade de simulação e renderização funcione corretamente entre o servidor e o cliente. O servidor refere-se a um computador Roblox que atua como a autoridade final para manter o estado da experiência e mantém conectados todos os clientes ou dispositivos de jogador, como celulares e computadores portáteis, em sincronia com sua fonte de verdade.

Um grupo de servidores com conexões para três dispositivos clientes.
Servidor com conexões para três dispositivos clientes

As principais categorias de serviços de contêiner incluem:

  • Espaço de trabalho - Contém objetos que renderizam no mundo 3D.
  • Ambiente - Contém objetos para configurações e elementos ambientais.
  • Replicação - Contém conteúdo e lógica que se replica entre o servidor e o cliente.
  • Servidor - Contém conteúdo e lógica apenas do lado do servidor.
  • Cliente - Contém conteúdo e lógica do lado do cliente
  • Chat Contém objetos que permitem funções de chat.

Até este ponto do tutorial, você só interagiu com objetos no serviço Workspace do seu modelo de dados. No entanto, para que a catapulta funcione corretamente, você deve mover alguns de seus objetos de script filhos para diferentes serviços de contêineres. A Roblox oferece dois tipos de objetos de script para conter códigos Luau que modifiquem o comportamento do objeto e implementem a lógica geral da sua experiência:

  • Scripts - Um script que pode ser executado no servidor ou cliente dependendo da propriedade definida RunContext.
  • ModuleScripts Um script reutilizável que você pode solicitar de scripts de servidor e de cliente.

Uma propriedade RunContext de um objeto Script determina se o script é rodado no cliente ou no servidor. Existem três tipos de contexto de execução:

  • Legacy (Legado) O script é rodado com base no seu contêiner pai. Legacy é o contexto de execução padrão.
  • Server O script roda apenas no servidor, independentemente de seu contêiner pai.
  • Client O script só é rodado no cliente, independentemente do seu contêiner pai.

É importante ter em mente onde os scripts são executados, caso contrário seus objetos podem não se comportar da forma que você quer. Por exemplo, se você jogar testando a experiência agora, os jogadores não podem equipar projéteis na catapulta nem lançá-los nos alvos. Para garantir que a jogabilidade funcione corretamente, você deve mover os filhos dentro das pastas ReplicatedStorage e ServerScriptService em seus respectivos serviços de contêiner.

ReplicatedStorage contém objetos que estão disponíveis para servidores e clientes conectados, tornando-o a melhor localização para a lógica de jogabilidade da experiência que precisa acompanhar quantos projéteis um jogador lança antes de exibir a interface do usuário. ServerScriptService contém ativos relacionados ao script que são destinados apenas para o uso do servidor, tornando-o a melhor localização para a lógica de jogabilidade da experiência que conecta projéteis à catapulta, lança projéteis em uma determinada direção e redefine a catapulta para sua posição inicial.

Para organizar pastas em seus serviços de contêiner corretos para que a catapulta funcione corretamente:

  1. Na janela Explorador, expanda as pastas ReplicatedStorage e ServerScriptStorage.

  2. Selecione todas as crianças dentro da pasta ReplicatedStorage, em seguida, arraste-as para o serviço ReplicatedStorage.

  3. Selecione todas as crianças dentro da pasta ServerScriptStorage, em seguida, arraste-as para o serviço ServerScriptStorage.

  4. Exclua as pastas ReplicatedStorage e ServerScriptStorage.

    1. Selecione as duas pastas.
    2. Pressione Delete.
  5. Faça o teste de jogo para verificar se a catapulta funciona corretamente.

    1. Na barra de menu, clique no botão Jogar. O Studio entrará no modo de teste.

      A aba Início do Studio com o botão Jogar destacado na barra de menus.
    2. Equipe o projétil Ice na catapulta, mire-o em direção à plataforma flutuante mais próxima e então atire nos alvos.

    3. Equipe o projétil WoodPlanks na catapulta, mova-o em direção à plataforma flutuante mais distante e atire-o nos alvos.

    4. Quando você terminar de testar o jogo, volte para a barra de menu e clique no botão Parar. O Studio sairá do modo teste de jogo.

      A aba Início do Studio com o botão Parar destacado na barra de menus.

Personalizando projéteis

Embora seus projéteis tenham exatamente o mesmo tamanho um do outro, eles viajam distâncias diferentes quando você os lança da catapulta. Isso porque cada projétil tem um único material que emula as características físicas de sua contraparte do mundo real, incluindo sua densidade, elasticidade e atrito.

De acordo com a segunda lei do movimento de Newton, a aceleração de um objeto depende da força atuando sobre o objeto e da massa do próprio objeto. Como a catapulta fornece a mesma quantidade de força para cada lançamento, a aceleração de cada projétil muda na proporção de sua massa. Projéteis com uma pequena quantidade de massa aceleram mais rápido que projéteis com uma grande quantidade de massa, e projéteis com uma grande quantidade de massa aceleram mais lentamente do que os projéteis com uma pequena quantidade de massa.

Para ver este princípio em ação, examine os resultados do seu teste de jogo anterior. O material WoodPlanks (tábuas de madeira) é menos denso que o material Ice (gelo), então o projétil de madeira é capaz de acelerar mais rapidamente e de viajar uma distância maior que o projétil de gelo a partir do mesmo ponto de lançamento. Se você fosse lançar o projétil de madeira nos alvos mais próximos da catapulta, o projétil viajaria acima e além da plataforma. Da mesma forma, se você fosse lançar o projétil de gelo nos alvos mais distantes da catapulta, o projétil nunca seria capaz de percorrer a distância e fazer impacto com os alvos.

O Roblox Studio é um motor de simulação do mundo real que simula o comportamento físico em tempo real, por isso é importante considerar como seus objetos se comportam de forma diferente, dependendo de suas características físicas. Para a seção final de teste de jogo do tutorial, você irá experimentar a personalização do terceiro projétil com um material que pode alcançar uma terceira plataforma flutuante de alvos. Para consultar uma lista de propriedades físicas de cada material, veja Materiais - Propriedades físicas padrão.

Para personalizar o terceiro projétil:

  1. Crie uma terceira plataforma flutuante de alvos.

    1. Na janela do Explorador, selecione o objeto TargetPlatform.
    2. Pressione Ctrl+``D no Windows ou CMD+``D no Mac para duplicar a plataforma e os alvos.
    3. Use a ferramenta Mover para mover a nova plataforma para uma nova posição.
  2. Altere o material do terceiro projétil para ter a quantidade certa de massa para viajar até os alvos da sua terceira plataforma.

    1. Na janela Explorador, expanda a pasta ProjectileMaterials, em seguida selecione ProjectileC.
    2. Na janela Propriedades, defina Material como o material do mundo real que você deseja que a peça simule, incluindo suas características visuais e físicas. Este material precisa da quantidade certa de massa para alcançar a nova plataforma.
  3. Teste a experiência para verificar se o projétil causa impacto com os alvos na terceira plataforma flutuante.

Publicando a experiência

A Roblox não só fornece ferramentas e motores para criar e executar experiências, mas também lhe dá acesso a uma grande rede social de jogadores que acessam a plataforma em uma ampla variedade de dispositivos, incluindo telefones, computadores, tablets, consoles e dispositivos RV. Quando estiver pronto para liberar a sua experiência para o público global, você deve publicar e configurar as configurações de experiência para que sejam disponíveis para todos os jogadores em qualquer dispositivo que você queira suportar.

Quase tudo na Roblox é representado como um ativo baseado na nuvem com uma ID correspondente única. Este ID é normalmente na forma de rbxassetid://[ID], que é aplicado a vários objetos como uma propriedade apropriada para esse tipo de ativo específico. Quando você publica uma experiência, a própria experiência recebe uma UniverseID e cada um de seus locais individuais recebe uma PlaceID.

Uma vez que isso aconteça, o Painel do Criador fornece ferramentas e recursos para monitorar, gerenciar e realizar tarefas para sua experiência e seus locais, como:

O que você aprende no Painel do Criador pode lhe dar informações importantes sobre como iterar mais seu projeto e engajar seu público. Por exemplo, se aprendemos que o nosso público valoriza a competição multijogador, você poderia criar várias catapultas que acompanham quantos alvos cada jogador derruba, em seguida, republique a experiência para disponibilizar instantaneamente sua atualização na plataforma com apenas um clique.

Para publicar sua experiência pela primeira vez:

  1. Carregue sua experiência na nuvem.

    1. Na barra de menu, clique em Arquivo, então selecione Publicar na Roblox. A janela de Publicar Jogo será exibida.

      O menu Arquivo do Studio com o item do menu Publicar na Roblox destacado.
    2. Na janela Publicar Jogo, preencha todos os campos aplicáveis.

      1. No campo Nome, forneça um nome para sua experiência.
      2. No campo Descrição, forneça um resumo do que um jogador pode esperar da experiência.
      3. Do menu suspenso Gênero, selecione o gênero que você deseja para representar sua experiência.
      4. Na seção Dispositivos, ative todos os dispositivos que você deseja que os jogadores usem para acessar sua experiência.
    3. No canto inferior direito da janela, clique no botão Criar. Sua experiência está agora na nuvem com um Classe.DataModel.GameID|UniverseID e um Classe.DataModel.PlaceID|PlaceID para o local de partida.

  2. Tornar a experiência pública para todos os jogadores.

    1. Navegue até o Painel de Criações. A página inicial Criações exibirá sua primeira experiência.

    2. Passe o mouse sobre a miniatura da experiência, clique no botão ... e selecione Tornar público no menu de contexto.

  3. (Opcional) Compartilhe sua experiência com outras pessoas.

    1. Do Painel de Criações, passe o mouse sobre a miniatura de sua experiência, clique no botão ... e selecione Copiar URL do menu de contexto.

    2. Compartilhe a URL com outras pessoas como um link direto para a página de destino da sua experiência.