Criando Luzes Piscando | Documentação - Central de Criadores Roblox (2024)

As luzes piscando são uma força poderosa em influenciar o tom de um ambiente. Por exemplo, uma casa com iluminação de um brilho consistente pode se sentir quente e convidativa, mas se você adicionar luzes piscando ao corredor da mesma início, ela se torna assombrosa e pode sugerir um possível perigo à frente. Ao modelar e programar estrategicamente diferentes fontes de luz dentro de sua experiência, você pode adicionar um novo nível à sua narrativa ambiental.

Como com todas as criações em 3D, existem muitas maneiras de alcançar qualquer objetivo específico. Neste guia, você pode criar rapidamente uma animação de luz piscando usando ferramentas e métodos disponíveis apenas no Studio com apenas alguns ativos básicos, incluindo um arquivo .rbxm para o modelo de lâmpada do banqueiro que contém criança Class.MeshParts que você pode personalizar para se adequar à estética de suas próprias experiências.

No seguinte método para criar luzes piscando, siga cada seção para aprender como Criar:

  • Um brilho NumberSequence para influenciar o brilho da lâmpada ao longo do tempo.

  • Um atributo de duração de loop para determinar a quantidade de tempo que cada loop piscando deve levar.

  • Um Script que configura como os dois atributos funcionam com o filho do modelo MeshParts para piscar a luz da lâmpada.

Você pode criar seus próprios ativos em ferramentas de modelagem de terceiros e seguir junto com seu próprio design. Para obter informações sobre como exportar modelos para uso no Studio, consulte Exportação de Requisitos .

Importando a Lâmpada de Amostra

Este guia usa um arquivo .rbxm para download de um modelo de lâmpada de banqueiro de alta qualidade e personalizável para demonstrar uma técnica de luz piscando. Você pode usar este modelo para entender os princípios básicos e, em seguida, aplicá-los aos seus próprios modelos que você cria no Studio ou em outro software de modelagem de terceiros.

Para importar o BankersLamp.rbxm :

  1. Na janela Explorer , clique com o botão direito Workspace . Um menu contextual é exibido.

  2. Selecione Inserir de arquivo... Um navegador de arquivos é exibido.

  3. Selecione a BankersLamp .rbxm , e clique no botão Abrir . O modelo é exibido no campo de janela.

    Criando Luzes Piscando | Documentação - Central de Criadores Roblox (1)

Criando uma sequência de números de brilho

Um NumberSequence é um tipo de dados que representa uma série de valores numéricos de 0 a 1 ao longo da vida de uma instância. Este tipo de dados é útil para criar luzes piscando porque você pode especificar como deseja que o brilho da luz da lâmpada mude ao longo de sua vida, e quando você muda o brilho de intensidade total para nenhuma luz em breve sucessão, você pode alcançar um efeito piscando.

O eixo X de um NumberSequence representa o tempo e o eixo Y representa o brilho relativo. Cada quadrado no início e no final da sequência de números é um ponto-chave **** que determina o valor da propriedade naquele ponto da vida útil do brilho da luz. Quando você cria um NumberSequence pela primeira vez, o gráfico é uma linha reta e a luz permanece com a mesma intensidade de brilho ao longo de sua vida, mas adicionando e movendo pontos-chave ao redor, você pode criar curvas dentro da sequência e alterar o brilho da lâmpada ao longo do tempo.

Criando Luzes Piscando | Documentação - Central de Criadores Roblox (2)

Embora a lâmpada não tenha um brilho NumberSequence por padrão, você pode criar um atributo de brilho, configurá-lo como NumberSequence e, em seguida, experimentar adicionando pontos-chave com valores diferentes até que a luz flicke na cadência definida.

Para criar um brilho NumberSequence :

  1. Adicione um novo atributo NumberSequence ao modelo da lâmpada.

    1. Na janela Explorer , selecione o modelo da lâmpada.

    2. Na janela Propriedades , navegue até a seção Atributos e clique no botão Adicionar Atributo . O diálogo Adicionar Atributo é exibido.

    3. Na caixa de diálogo Adicionar Atributo ,

      1. No campo Nome , insira Curva de Brilho .

      2. Clique no menu suspenso Digite e selecione Sequência de números .

      3. Clique no botão Salvar . O novo atributo é exibido na seção Atributos da janela Propriedades .

        Criando Luzes Piscando | Documentação - Central de Criadores Roblox (3)
  2. Realize uma das seguintes ações:

    • Para alterar o brilho em um ponto, clique em um ponto-chave e arraste-o para cima ou para baixo, ou insira um valor no campo Valor .

    • Para inserir novos pontos-chave, clique em qualquer ponto do gráfico.

    • Para excluir um ponto-chave, selecione o ponto-chave e, em seguida, o botão Delete .

    • Para adicionar um intervalo aleatório de brilho, clique em qualquer ponto-chave e arraste as linhas do envelope para cima ou para baixo. Nesse momento, a luz gera um brilho aleatório entre o envelope rosa.

Por exemplo, o gráfico a seguir faz com que a luz cintile até o brilho total para a primeira cintilação, 50% de brilho para a segunda cintilação e 75% de brilho para a terceira cintilação.

Criando Luzes Piscando | Documentação - Central de Criadores Roblox (5)

Criando uma Duração de Loop

Agora que você tem um NumberSequence para determinar como o brilho da luz da lâmpada muda ao longo de sua vida, você deve determinar quanto tempo você deseja que o loop pisque. Em outras palavras, essa duração do loop essencialmente controla a frequência com que o NumberSequence se repete, em segundos.

Para criar uma duração de loop:

  1. Adicione um novo atributo de duração de loop ao modelo da lâmpada.

    1. Na janela Explorer , selecione o modelo da lâmpada.

    2. Na janela Propriedades , navegue até a seção Atributos e clique no botão Adicionar Atributo . O diálogo Adicionar Atributo é exibido.

    3. Na caixa de diálogo Adicionar Atributo ,

      1. No campo Name , insira LoopDuration .

      2. Clique no menu suspenso Digite e selecione Número .

      3. Clique no botão Salvar . O novo atributo é exibido na seção Atributos da janela Propriedades .

        Criando Luzes Piscando | Documentação - Central de Criadores Roblox (6)
  2. Defina o novo atributo LoopDuration para 1 . Isso diz ao NumberSequence para repetir após um segundo.

Programando o piscar de luz

Agora que você tem todos os elementos para controlar o brilho da sua lâmpada ao longo de sua vida útil, é hora de criar um Script que fará com que tudo funcione em conjunto e piscará a luz.

Para programar o piscar de luz:

  1. Na janela Explorer , passe o mouse sobre o modelo da lâmpada e clique no botão ⊕. Um menu contextual é exibido.

  2. Do menu, insira um Script .

  3. No novo script, digite o seguindo:

local RunService = game:GetService("RunService")

-- Obtém os valores do atributo definidos no modelo.

local brightnessCurve = script.Parent:GetAttribute("BrightnessCurve")

local loopDuration = script.Parent:GetAttribute("LoopDuration")

-- Armazena referências às instâncias do modelo que serão alteradas.

local light = script.Parent.lamp_hood.SpotLight

local bulb = script.Parent.lightbulb

local beam = script.Parent.lamp_hood.Beam

-- Armazena os valores originais das propriedades que vão mudar.

local origLightBrightness = light.Brightness

local origBeamBrightness = beam.Brightness

local origBulbColor = bulb.Color

-- Obtém o valor da sequência de números (ns) em um momento específico (nsTime)

function evaluateNumberSequence(ns: NumberSequence, nsTime: number)

-- Se estivermos em 0 ou 1, retorna o valor do primeiro ou último ponto-chave, respectivamente.

if nsTime == 0 then

return ns.Keypoints[1].Value

end

if nsTime == 1 then

return ns.Keypoints[#ns.Keypoints].Value

end

-- Caso contrário, passe por cada par sequencial de pontos-chave.

for i = 1, #ns.Keypoints - 1 do

-- Obtém o ponto-chave atual e o próximo.

local currKp = ns.Keypoints[i]

local nextKp = ns.Keypoints[i + 1]

-- Se nsTime estiver entre os tempos dos pontos-chave,

if nsTime >= currKp.Time and nsTime < nextKp.Time then

-- Calcula onde nsTime está entre os tempos dos pontos-chave, chama esse alpha.

local alpha = (nsTime - currKp.Time) / (nextKp.Time - currKp.Time)

-- Retorna o valor entre os pontos para nsTime usando alpha.

return currKp.Value + (nextKp.Value - currKp.Value) * alpha

end

end

end

RunService.Heartbeat:Connect(function()

-- Soluciona pelo tempo da Sequência de Números (entre 0 e 1).

local t = time() / loopDuration

local numberSequenceTime = t - math.floor(t)

-- Obtém o valor da sequência de números no momento.

local brightnessValue = evaluateNumberSequence(brightnessCurve, numberSequenceTime)

-- Ajusta as propriedades de brilho e cor com base nesse valor.

light.Brightness = origLightBrightness * brightnessValue

beam.Brightness = origBeamBrightness * brightnessValue

bulb.Color = Color3.new(

origBulbColor.r * brightnessValue,

origBulbColor.g * brightnessValue,

origBulbColor.b * brightnessValue

)

end)

Quando você testou sua experiência, a função Heartbeat faz o seguinte a cada quadro:

  1. Soluciona por um tempo (numberSequenceTime ) dentro do brightnessCurve``Datatype.NumberSequence com base no tempo atual.

    • O tempo está entre 0 e 1, pois representam o começo e o fim da sequência de números, respectivamente.

  2. Soluciona o valor (brightnessValue ) do brightnessCurve``Datatype.NumberSequence no tempo numberSequenceTime.

    • evaluateNumberSequence() calcula o valor associado ao tempo para qualquer NumberSequence.

    • Este valor serve como um valor de brilho relativo para aplicar às propriedades que mudam ao longo do tempo.

  3. Muda as propriedades das lâmpadas multiplicando brightnessValue pelo brilho da luz, brilho do feixe e cor da lâmpada.

As mudanças nessas propriedades ao longo do tempo resultam no efeito piscando abaixo.

Criando Luzes Piscando | Documentação - Central de Criadores Roblox (2024)
Top Articles
((FULL~VIDEO)) Sourav Singh Llb Drunk Viral Video och | tunleg
video erika yang lagi viral erika blender 8 menit video erika viral erika blunder 8 menit.mp4 giu | pangek
Pau.blaz
Jimmy Johns Delivery Hours
Rickrolling Link Generator
Camila Cabello Wikifeet
Guardians Of The Galaxy Showtimes Near Athol Cinemas 8
Amazon Ups Drop Off Locations Near Me
Tampa Lkq Price List
U-Bolts - Screws, Bolts variety of type & configurable | MISUMI Thailand
Spectrum Store Downey Photos
Courierpress Obit
Timothy Warren Cobb Obituary
Yovanis Pizzeria - View Menu & Order Online - 741 NY-211 East, Middletown, NY 10941 - Slice
Strange World Showtimes Near Cmx Downtown At The Gardens 16
Busted Newspaper Williams County
Metalico Sharon Pa
El Puerto Harrisonville Mo Menu
R/Chinatime
ACCESS Arts Live --- Online Performing Arts for All on LinkedIn: Leeds International Piano Competition 2024 | Second Round | 12 September…
Robotization Deviantart
Rufus Rhett Bosarge
Gina's Pizza Port Charlotte Fl
Dr. Katrina (Katrina Hutchins) on LinkedIn: #dreambig #classof2025 #bestclassever #leadershipaugusta
Evertote.ca
Maintenance Required Gear Selector Ecu
Tryst Independent
Runescape Abyssal Beast
Caliber Near Me
16 Things to Do in Los Alamos (+ Tips For Your Visit)
Nikki Catsouras Head Cut In Half
Wo liegt Sendenhorst? Lageplan und Karte
Verizon Fios Internet Review: Plans, Prices And Speed 2024
Sallisaw Bin Store
Solve x^2+2x-24=0 | Microsoft Math Solver
Codex - Chaos Space Marines 9th Ed (Solo Reglas) - PDFCOFFEE.COM
Ohio Licensing Lookup
Brgeneral Patient Portal
Victor Predictions Today
Entegra Forum
Holy Grail Cum Guide
Owen Roeder Tim Dillon
Babyboo Fashion vouchers, Babyboo Fashion promo codes, Babyboo Fashion discount codes, coupons, deals, offers
Faze Teeqo Wiki
Now 81, Wayne Newton Will Soon Mark 65 Years as Mr. Las Vegas
Swrj Mugshots Logan Wv
My Vidant Chart
Craigs List Williamsport
50 Shades Of Grey Movie 123Movies
Steel Punchings For Sale
Ehc Workspace Login
Stpeach Forum
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 5536

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.