[TUTORIAL] Lanterna
+12
Fernando Thomazi
AndyShow
lucassrodriguess
edugamer69
hellkiller
ElgerGamer
Xakabloom
Jurassic Game
Fernando Vinicius
RMJ Produções
bruninnho
MarcosSchultz
16 participantes
Página 1 de 1
[TUTORIAL] Lanterna
Caso queiram algo mais avançado, vejam este tutorial:
https://www.schultzgames.com/t86-tutorial-sistema-de-lanterna-com-pilhas
ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS
se quiserem algo mais simples, vejam estes metodos abaixo
Crie um "SpotLight" GameObject > Create other > SpotLight ou GameObject > Light > SpotLight
ajuste ele como você quiser, distancia, cor, intensidade, etc, etc...
Coloque ele afrente do seu personagem ( com o foco virado para frente ) e torne ele filho da Camera ( coloque ele dentro da camera )...
agora crie um JavaScript e coloque este codigo nele...
salve o script e coloque ele dentro do SpotLight
Pronto, sua lanterna está pronta... se quiser colocar uma lanterna afrente do seu personagem para parecer que você está segurando ela mesmo é só botar ela em cena, posicionar afrente do Player e torná-la filha da camera... também ajuste o spotLight para ficar afrente da lanterna ( nao precisa tornar o spot light filho da lanterna, estando junto com a camera já é o suficiente )
acrescente este script em um Spot Light e pronto...
Para usar este script é facil, Crie um Spot Light e deixe afrente da sua lanterna e anexe este script a Spot Light...
o Script precisa sem em C# e ter o nome " Lanterna "
Agora arraste um som para a variavel " som "
depois ajuste o valor de " tempodeduracao " para o numero de segundos que vocês quiserem que a lanterna dure...
e assim está criada a lanterna com tempo de duração, que conta apenas enquanto a lanterna está acesa...
SE VOCÊ ESTIVER USANDO A UNITY 5:
Crie um "SpotLight" GameObject > Create other > SpotLight ou GameObject > Light > SpotLight
ajuste ele como você quiser, distancia, cor, intensidade, etc, etc...
Coloque ele afrente do seu personagem ( com o foco virado para frente ) e torne ele filho da Camera ( coloque ele dentro da camera )...
agora crie um JavaScript e coloque este codigo nele...
salve o script e coloque ele dentro do SpotLight
Pronto, sua lanterna está pronta... se quiser colocar uma lanterna afrente do seu personagem para parecer que você está segurando ela mesmo é só botar ela em cena, posicionar afrente do Player e torná-la filha da camera... também ajuste o spotLight para ficar afrente da lanterna ( nao precisa tornar o spot light filho da lanterna, estando junto com a camera já é o suficiente )
LANTERNA QUE MUDA DE FOCO AO APERTAR "F"
Acrescente este script em uma spotLight e pronto
Para usar este script é facil, Crie um Spot Light e deixe afrente da sua lanterna e anexe este script a Spot Light...
o Script precisa sem em C# e ter o nome " Lanterna "
Agora arraste um som para a variavel " som "
depois ajuste o valor de " tempodeduracao " para o numero de segundos que vocês quiserem que a lanterna dure...
e assim está criada a lanterna com tempo de duração, que conta apenas enquanto a lanterna está acesa...
https://www.schultzgames.com/t86-tutorial-sistema-de-lanterna-com-pilhas
ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS
se quiserem algo mais simples, vejam estes metodos abaixo
Crie um "SpotLight" GameObject > Create other > SpotLight ou GameObject > Light > SpotLight
ajuste ele como você quiser, distancia, cor, intensidade, etc, etc...
Coloque ele afrente do seu personagem ( com o foco virado para frente ) e torne ele filho da Camera ( coloque ele dentro da camera )...
agora crie um JavaScript e coloque este codigo nele...
- Código:
function Update () {
if (Input.GetKeyDown("f")) {
if (light.enabled == true)
light.enabled = false;
else
light.enabled = true;
}
}
salve o script e coloque ele dentro do SpotLight
Pronto, sua lanterna está pronta... se quiser colocar uma lanterna afrente do seu personagem para parecer que você está segurando ela mesmo é só botar ela em cena, posicionar afrente do Player e torná-la filha da camera... também ajuste o spotLight para ficar afrente da lanterna ( nao precisa tornar o spot light filho da lanterna, estando junto com a camera já é o suficiente )
LANTERNA QUE MUDA DE FOCO AO APERTAR "F"
- Código:
var lanterna : boolean;
function Start (){
lanterna = true;
}
function Update () {
if (Input.GetKeyDown(KeyCode.F)){
if(lanterna == true) {
light.spotAngle = 20;
light.range = 100;
lanterna = false;
}
else if(lanterna == false){
light.spotAngle = 50;
light.range = 50;
lanterna = true;
}
}
}
acrescente este script em um Spot Light e pronto...
AVISO INICIAL PARA O PLAYER LIGAR A LANTERNA PRESSIONANDO ' F '
- Código:
var aviso: boolean;
function Start () {
aviso = true;
}
function Update () {
if(Input.GetKeyDown("f")){
aviso = false;
}
}
function OnGUI(){
if(aviso == true){
GUI.Label(new Rect(Screen.width/2.5,Screen.height/2.8,Screen.width/4,Screen.height/5), "Pressione 'F' para trocar o foco da lanterna");
}
}
LANTERNA COM TEMPO DE DURAÇÃO E SISTEMA DE PILHAS ( AGORA EM C# )
Para usar este script é facil, Crie um Spot Light e deixe afrente da sua lanterna e anexe este script a Spot Light...
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Lanterna : MonoBehaviour {
public AudioClip Som;
public float tempodeduracao = 300f;
private float porcentagem = 100;
private bool on;
private float tempo;
void Update() {
Light lite = GetComponent<Light>();
tempo += Time.deltaTime;
if(Input.GetKeyDown(KeyCode.F) && tempo >= 0.3f && porcentagem > 0) {
on = !on;
audio.PlayOneShot(Som);
tempo = 0;
}
if(on) {
lite.enabled = true;
porcentagem -= Time.deltaTime * (100 / tempodeduracao);
}
else {
lite.enabled = false;
}
porcentagem = Mathf.Clamp(porcentagem, 0, 100);
if(porcentagem == 0) {
lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
}
if(porcentagem > 0 && porcentagem < 25) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.3f, Time.deltaTime);
}
if(porcentagem > 25 && porcentagem < 75) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.7f, Time.deltaTime);
}
if(porcentagem > 75 && porcentagem <= 100) {
lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
}
}
}
o Script precisa sem em C# e ter o nome " Lanterna "
Agora arraste um som para a variavel " som "
depois ajuste o valor de " tempodeduracao " para o numero de segundos que vocês quiserem que a lanterna dure...
e assim está criada a lanterna com tempo de duração, que conta apenas enquanto a lanterna está acesa...
SCRIPT DE LANTERNA QUE FICA FALHANDO
- Código:
using UnityEngine;
using System.Collections;
public class SpotLightConfigurations : MonoBehaviour {
public Light _Light;
private float Duration = 15;
private float CurDuration;
public float Intensity = 1;
private bool B;
// Use this for initialization
void Start () {
}
IEnumerator Brink()
{
B = true;
for(int i = 0;i<50;i++)
{
_Light.intensity = Random.value*Intensity;
yield return new WaitForSeconds(Random.value/10);
}
CurDuration = 0;
B = false;
_Light.intensity = Intensity;
}
// Update is called once per frame
void Update () {
if(B == false)
{
CurDuration+=Time.deltaTime;
}
if(CurDuration>Duration)
{
StartCoroutine("Brink");
CurDuration = 0;
}
}
}
SE VOCÊ ESTIVER USANDO A UNITY 5:
Crie um "SpotLight" GameObject > Create other > SpotLight ou GameObject > Light > SpotLight
ajuste ele como você quiser, distancia, cor, intensidade, etc, etc...
Coloque ele afrente do seu personagem ( com o foco virado para frente ) e torne ele filho da Camera ( coloque ele dentro da camera )...
agora crie um JavaScript e coloque este codigo nele...
- Código:
function Update () {
if (Input.GetKeyDown("f")) {
if (GetComponent.<Light>().enabled == true)
GetComponent.<Light>().enabled = false;
else
GetComponent.<Light>().enabled = true;
}
}
salve o script e coloque ele dentro do SpotLight
Pronto, sua lanterna está pronta... se quiser colocar uma lanterna afrente do seu personagem para parecer que você está segurando ela mesmo é só botar ela em cena, posicionar afrente do Player e torná-la filha da camera... também ajuste o spotLight para ficar afrente da lanterna ( nao precisa tornar o spot light filho da lanterna, estando junto com a camera já é o suficiente )
LANTERNA QUE MUDA DE FOCO AO APERTAR "F"
- Código:
private var vez : int;
function Start (){
vez = 0;
}
function Update () {
if (Input.GetKeyDown(KeyCode.F)){
if(vez < 2){
vez ++;
}else if(vez >= 2){
vez = 0;
}
}
if(vez == 0){
GetComponent.<Light>().enabled = false;
}
if(vez == 1){
GetComponent.<Light>().enabled = true;
GetComponent.<Light>().spotAngle = 20;
GetComponent.<Light>().range = 100;
}
if(vez == 2){
GetComponent.<Light>().spotAngle = 50;
GetComponent.<Light>().range = 30;
}
}
Acrescente este script em uma spotLight e pronto
LANTERNA COM TEMPO DE DURAÇÃO E SISTEMA DE PILHAS ( AGORA EM C# )
Para usar este script é facil, Crie um Spot Light e deixe afrente da sua lanterna e anexe este script a Spot Light...
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Lanterna : MonoBehaviour {
public AudioClip Som;
public float tempodeduracao = 300f;
private float porcentagem = 100;
private bool on;
private float tempo;
void Update() {
Light lite = GetComponent<Light>();
tempo += Time.deltaTime;
if(Input.GetKeyDown(KeyCode.F) && tempo >= 0.3f && porcentagem > 0) {
on = !on;
GetComponent<AudioSource>().PlayOneShot(Som);
tempo = 0;
}
if(on) {
lite.enabled = true;
porcentagem -= Time.deltaTime * (100 / tempodeduracao);
}
else {
lite.enabled = false;
}
porcentagem = Mathf.Clamp(porcentagem, 0, 100);
if(porcentagem == 0) {
lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
}
if(porcentagem > 0 && porcentagem < 25) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.3f, Time.deltaTime);
}
if(porcentagem > 25 && porcentagem < 75) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.7f, Time.deltaTime);
}
if(porcentagem > 75 && porcentagem <= 100) {
lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
}
}
}
o Script precisa sem em C# e ter o nome " Lanterna "
Agora arraste um som para a variavel " som "
depois ajuste o valor de " tempodeduracao " para o numero de segundos que vocês quiserem que a lanterna dure...
e assim está criada a lanterna com tempo de duração, que conta apenas enquanto a lanterna está acesa...
LANTERNA QUE FICA FALHANDO:
- Código:
using UnityEngine;
using System.Collections;
public class Ativador : MonoBehaviour {
private float Duration = 15;
private float CurDuration;
public float Intensity = 1;
private bool B;
IEnumerator Brink(){
B = true;
for(int i = 0;i<50;i++){
GetComponent<Light>().intensity = Random.value*Intensity;
yield return new WaitForSeconds(Random.value/10);
}
CurDuration = 0;
B = false;
GetComponent<Light>().intensity = Intensity;
}
void Update () {
if(B == false){
CurDuration+=Time.deltaTime;
}
if(CurDuration>Duration){
StartCoroutine("Brink");
CurDuration = 0;
}
}
}
Última edição por MarcosSchultz em Ter Jun 07, 2016 8:54 pm, editado 11 vez(es)
Re: [TUTORIAL] Lanterna
não estou conseguindo fazer a lanterna piscar
"The associated script can not be loaded.Please fix any compile errors and assign a valid script."
kkk, desculpa,não manjo de programação
"The associated script can not be loaded.Please fix any compile errors and assign a valid script."
kkk, desculpa,não manjo de programação
bruninnho- Iniciante
- PONTOS : 3678
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Provavelmente o erro é no nome do script, preste atenção nesses detalhes...
1 - se o script tem isso no começo
ele é em C#, se não tiver isso ele é em Java
2 - O nome que você colocou no script tem que ser TOTALMENTE IGUAL ao nome que aparece nessa linha:
public class SpotLightConfigurations : MonoBehaviour {
No caso, o nome do script teria que ser SpotLightConfigurations
Se o nome do Script for Lanterna e sua linguagem for C#, ele ficaria assim, por ex:
1 - se o script tem isso no começo
- Código:
using UnityEngine;
using System.Collections;
ele é em C#, se não tiver isso ele é em Java
2 - O nome que você colocou no script tem que ser TOTALMENTE IGUAL ao nome que aparece nessa linha:
public class SpotLightConfigurations : MonoBehaviour {
No caso, o nome do script teria que ser SpotLightConfigurations
Se o nome do Script for Lanterna e sua linguagem for C#, ele ficaria assim, por ex:
- Código:
using UnityEngine;
using System.Collections;
public class Lanterna : MonoBehaviour {
public Light _Light;
private float Duration = 15;
private float CurDuration;
public float Intensity = 1;
private bool B;
IEnumerator Brink(){
B = true;
for(int i = 0;i<50;i++){
_Light.intensity = Random.value*Intensity;
yield return new WaitForSeconds(Random.value/10);
}
CurDuration = 0;
B = false;
_Light.intensity = Intensity;
}
void Update () {
if(B == false){
CurDuration+=Time.deltaTime;
}
if(CurDuration>Duration){
StartCoroutine("Brink");
CurDuration = 0;
}
}
}
Re: [TUTORIAL] Lanterna
vou tentar, se der aviso aqui
bruninnho- Iniciante
- PONTOS : 3678
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Funcionou *------------*
bruninnho- Iniciante
- PONTOS : 3678
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
é dificil fazer uma lanterna ??
RMJ Produções- Iniciante
- PONTOS : 3404
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Depende da complexidade que você quer que ela tenha...
se for só uma luz fixa é facil. Más se for algo completo com sistema de pilhas, inventario, etc, etc, ai pode se tornar complexo
se for só uma luz fixa é facil. Más se for algo completo com sistema de pilhas, inventario, etc, etc, ai pode se tornar complexo
Re: [TUTORIAL] Lanterna
o script da lanterna que fica falhando é em C# ou javascript? Pode colocar qualquer nome no script?
Fernando Vinicius- Membro
- PONTOS : 3449
REPUTAÇÃO : 5
Respeito as regras :
Re: [TUTORIAL] Lanterna
A lanterna que fica falhando é este aqui:
e é em C#
- Código:
using UnityEngine;
using System.Collections;
public class Ativador : MonoBehaviour {
private float Duration = 15;
private float CurDuration;
public float Intensity = 1;
private bool B;
IEnumerator Brink(){
B = true;
for(int i = 0;i<50;i++){
GetComponent<Light>().intensity = Random.value*Intensity;
yield return new WaitForSeconds(Random.value/10);
}
CurDuration = 0;
B = false;
GetComponent<Light>().intensity = Intensity;
}
void Update () {
if(B == false){
CurDuration+=Time.deltaTime;
}
if(CurDuration>Duration){
StartCoroutine("Brink");
CurDuration = 0;
}
}
}
e é em C#
Re: [TUTORIAL] Lanterna
no meu quando eu vo colocar os script da lanterna piscando da um erro:The variable _light of SpotLightConfiguratons has not been assigned
como arrumo esse erro? pode me ajudar?
como arrumo esse erro? pode me ajudar?
Jurassic Game- Iniciante
- PONTOS : 3391
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Eu usei esse script como minha lanterna com bateria :
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Lanterna : MonoBehaviour {
public AudioClip Som;
public float tempodeduracao = 300f;
private float porcentagem = 100;
private bool on;
private float tempo;
void Update() {
Light lite = GetComponent<Light>();
tempo += Time.deltaTime;
if(Input.GetKeyDown(KeyCode.F) && tempo >= 0.3f && porcentagem > 0) {
on = !on;
GetComponent<AudioSource>().PlayOneShot(Som);
tempo = 0;
}
if(on) {
lite.enabled = true;
porcentagem -= Time.deltaTime * (100 / tempodeduracao);
}
else {
lite.enabled = false;
}
porcentagem = Mathf.Clamp(porcentagem, 0, 100);
if(porcentagem == 0) {
lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
}
if(porcentagem > 0 && porcentagem < 25) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.3f, Time.deltaTime);
}
if(porcentagem > 25 && porcentagem < 75) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.7f, Time.deltaTime);
}
if(porcentagem > 75 && porcentagem <= 100) {
lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
}
}
}
Quero fazer para que a Lanterna se recarregue quando eu pego uma pilha...no seu tutorial eu não consegui fazer o script da pilha, se você tiver como me ajudar nisso ficarei muito grato, faz 3 dias que tento fazer o script da pilha para que a lanterna se recarregue e nunca consigo, se me ajudar ficarei muito grato, pois estou com meu projeto quase pronto e logo que eu acabar vou deixar ele pra download gratuito, deixarei seus creditos no game
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Light), typeof(AudioSource))]
public class Lanterna : MonoBehaviour {
public AudioClip Som;
public float tempodeduracao = 300f;
private float porcentagem = 100;
private bool on;
private float tempo;
void Update() {
Light lite = GetComponent<Light>();
tempo += Time.deltaTime;
if(Input.GetKeyDown(KeyCode.F) && tempo >= 0.3f && porcentagem > 0) {
on = !on;
GetComponent<AudioSource>().PlayOneShot(Som);
tempo = 0;
}
if(on) {
lite.enabled = true;
porcentagem -= Time.deltaTime * (100 / tempodeduracao);
}
else {
lite.enabled = false;
}
porcentagem = Mathf.Clamp(porcentagem, 0, 100);
if(porcentagem == 0) {
lite.intensity = Mathf.Lerp(lite.intensity, 0, Time.deltaTime * 2);
}
if(porcentagem > 0 && porcentagem < 25) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.3f, Time.deltaTime);
}
if(porcentagem > 25 && porcentagem < 75) {
lite.intensity = Mathf.Lerp(lite.intensity, 0.7f, Time.deltaTime);
}
if(porcentagem > 75 && porcentagem <= 100) {
lite.intensity = Mathf.Lerp(lite.intensity, 1, Time.deltaTime);
}
}
}
Quero fazer para que a Lanterna se recarregue quando eu pego uma pilha...no seu tutorial eu não consegui fazer o script da pilha, se você tiver como me ajudar nisso ficarei muito grato, faz 3 dias que tento fazer o script da pilha para que a lanterna se recarregue e nunca consigo, se me ajudar ficarei muito grato, pois estou com meu projeto quase pronto e logo que eu acabar vou deixar ele pra download gratuito, deixarei seus creditos no game
Xakabloom- Iniciante
- PONTOS : 3352
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
BCE0144 alguem me ajuda por favor
ElgerGamer- Iniciante
- PONTOS : 3255
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
ElberGamer(Se não for nenhuma duvida ou quer ajuda relacionado a esse post, por favor crie um topico para isso!).
hellkiller- Mestre
- PONTOS : 4053
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [TUTORIAL] Lanterna
o erro deu exatamente ao utilizar o java script da lanterna diz que alguma coisa é obsoleta ou algo assim
ElgerGamer- Iniciante
- PONTOS : 3255
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Poste um print do seu erro.
e o script que esta utilizando!
e o script que esta utilizando!
hellkiller- Mestre
- PONTOS : 4053
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [TUTORIAL] Lanterna
- Código:
function Update () {
if (Input.GetKeyDown("f")) {
if (GetComponent.<Light>().enabled == true)
GetComponent.<Light>().enabled = false;
else
GetComponent.<Light>().enabled = true;
}
}
ElgerGamer- Iniciante
- PONTOS : 3255
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Em javaScript:
Ou em C#:
- Código:
function Update () {
if (Input.GetKeyDown("f")) {
GetComponent.<Light>().enabled = !GetComponent.<Light>().enabled;
}
}
Ou em C#:
- Código:
using UnityEngine;
using System.Collections;
public class Lanterna : MonoBehaviour {
void Update () {
if (Input.GetKeyDown("f")) {
GetComponent<Light>().enabled = !GetComponent<Light>().enabled;
}
}
}
Re: [TUTORIAL] Lanterna
Marcos...vlw deu certo considero tu um mestre...a maioria dos scripts que coloco dão errado
mas graças a vc e o hellkiler deu certo vlw
mas graças a vc e o hellkiler deu certo vlw
ElgerGamer- Iniciante
- PONTOS : 3255
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
tem como deixar o scrip de falha para servir como um pista alerta, tipo diminuir a velocidade da piscada ?
edugamer69- Avançado
- PONTOS : 3663
REPUTAÇÃO : 16
Idade : 27
Respeito as regras :
Re: [TUTORIAL] Lanterna
edugamer69 escreveu:tem como deixar o scrip de falha para servir como um pista alerta, tipo diminuir a velocidade da piscada ?
para fazer um pisca alerta você teria que utilizar um IEnumerator...
básicamente, trata-se de uma rotina com tempo fixo de execução
http://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html
Também é interessante utilizar Mathf.PingPong para fazer a intensidade das luzes ir de 0 a 1, e de 1 a 0, repetidamente...
Re: [TUTORIAL] Lanterna
Obrigado mesmo
edugamer69- Avançado
- PONTOS : 3663
REPUTAÇÃO : 16
Idade : 27
Respeito as regras :
Re: [TUTORIAL] Lanterna
Marcos a minha dúvida é simples é como faço para ativar a Lanterna usando o botão esquerdo do mouse? (tentei e não consegui)
lucassrodriguess- Iniciante
- PONTOS : 3190
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Depende de qual script você está utilizando, más basicamente basta trocar
por
- Código:
if (Input.GetKeyDown("f")) {
por
- Código:
if (Input.GetMouseButtonDown(0)){
Re: [TUTORIAL] Lanterna
Funcionou Marcos muito obrigado!
lucassrodriguess- Iniciante
- PONTOS : 3190
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Muito Bom esse Tutorial
uma dúvida
Como Faço pra Luz Ficar Ligada só enquanto Aperto F ex: Aperto "F" Luz Acende,quando eu Soltar "F" a luz Apaga
uma dúvida
Como Faço pra Luz Ficar Ligada só enquanto Aperto F ex: Aperto "F" Luz Acende,quando eu Soltar "F" a luz Apaga
Re: [TUTORIAL] Lanterna
- Código:
void Update () {
GetComponent<Light> ().enabled = Input.GetKey (KeyCode.F);
}
Re: [TUTORIAL] Lanterna
MarcosSchultz escreveu:
- Código:
void Update () {
GetComponent<Light> ().enabled = Input.GetKey (KeyCode.F);
}
Pôh Obrigadão Amigo...me Ajudou Muito...vou usar na Luz de freio do meu Carro! :D
Re: [TUTORIAL] Lanterna
Olá, Marcos! Depois de um ano (terminei meu curso de C# e Desenvolvedor de Games) resolvi retomar meu projeto do game "Mortuus Est". Terei de começar do zero, já que não consigo importar o projeto do Unity 4 para o Unity 5 sem erros nos scripts. Mas, como já adquiri muita experiência, agora é só botar a mão na massa. Já existem muitos tutoriais sobre lanterna simples. No meu caso, eu gostaria de um sistema um pouco mais elaborado: o personagem começa sem lanterna, no escuro e sai à sua procura; ao encontrá-la, a lanterna fica fixa no personagem o resto do jogo. A lanterna que eu pretendo usar é simples, de ligar e desligar clicando a tecla "F" (sem pilhas, nada disso). É muito difícil de fazer esse script? Grato e no aguardo!
Re: [TUTORIAL] Lanterna
Fernando Thomazi escreveu:Olá, Marcos! Depois de um ano (terminei meu curso de C# e Desenvolvedor de Games) resolvi retomar meu projeto do game "Mortuus Est". Terei de começar do zero, já que não consigo importar o projeto do Unity 4 para o Unity 5 sem erros nos scripts. Mas, como já adquiri muita experiência, agora é só botar a mão na massa. Já existem muitos tutoriais sobre lanterna simples. No meu caso, eu gostaria de um sistema um pouco mais elaborado: o personagem começa sem lanterna, no escuro e sai à sua procura; ao encontrá-la, a lanterna fica fixa no personagem o resto do jogo. A lanterna que eu pretendo usar é simples, de ligar e desligar clicando a tecla "F" (sem pilhas, nada disso). É muito difícil de fazer esse script? Grato e no aguardo!
É bem simples, ja fiz um script desse
https://www.schultzgames.com/t519-tutorial-pegar-arma-do-chao-ao-aperta-e-unity-5
Re: [TUTORIAL] Lanterna
Fernando Thomazi escreveu:Olá, Marcos! Depois de um ano (terminei meu curso de C# e Desenvolvedor de Games) resolvi retomar meu projeto do game "Mortuus Est". Terei de começar do zero, já que não consigo importar o projeto do Unity 4 para o Unity 5 sem erros nos scripts. Mas, como já adquiri muita experiência, agora é só botar a mão na massa. Já existem muitos tutoriais sobre lanterna simples. No meu caso, eu gostaria de um sistema um pouco mais elaborado: o personagem começa sem lanterna, no escuro e sai à sua procura; ao encontrá-la, a lanterna fica fixa no personagem o resto do jogo. A lanterna que eu pretendo usar é simples, de ligar e desligar clicando a tecla "F" (sem pilhas, nada disso). É muito difícil de fazer esse script? Grato e no aguardo!
Caso queira um script simples de lanterna:
- Código:
using UnityEngine;
using System.Collections;
public class FlashLight : MonoBehaviour{
public AudioClip LanternaAudioFx;
private Light LuzLanterna;
void Start (){
LuzLanterna = GetComponent<Light> ();
}
void Update (){
if (Input.GetKeyDown ("f")) {
LuzLanterna.enabled = !LuzLanterna.enabled;
GetComponent<AudioSource> ().PlayOneShot (LanternaAudioFx);
}
}
}
Re: [TUTORIAL] Lanterna
Esses Scripts do Inicio, o meu tem 3 e n dois
walibaka- Iniciante
- PONTOS : 2617
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Ei, uso coloco um audio na lanterna quando falhar?MarcosSchultz escreveu:A lanterna que fica falhando é este aqui:
- Código:
using UnityEngine;
using System.Collections;
public class Ativador : MonoBehaviour {
private float Duration = 15;
private float CurDuration;
public float Intensity = 1;
private bool B;
IEnumerator Brink(){
B = true;
for(int i = 0;i<50;i++){
GetComponent<Light>().intensity = Random.value*Intensity;
yield return new WaitForSeconds(Random.value/10);
}
CurDuration = 0;
B = false;
GetComponent<Light>().intensity = Intensity;
}
void Update () {
if(B == false){
CurDuration+=Time.deltaTime;
}
if(CurDuration>Duration){
StartCoroutine("Brink");
CurDuration = 0;
}
}
}
e é em C#
Re: [TUTORIAL] Lanterna
como faz uma lanterna usando gameobject
Toxic- Iniciante
- PONTOS : 1514
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Toxic escreveu:como faz uma lanterna usando gameobject
Poderia especificar melhor a sua dúvida? Tem vários tutoriais sobre isso, e meio que todos usam GameObject, onde o código é associado...
Re: [TUTORIAL] Lanterna
como faz uma lanterna usando setactive
Toxic- Iniciante
- PONTOS : 1514
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Lanterna
Toxic escreveu:como faz uma lanterna usando setactive
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//Use este código em algum objeto que não é desativado, por exemplo, a camera do seu jogador.
public class LanternaSetActive : MonoBehaviour {
public GameObject lanterna; // associe aqui a sua lanterna
public KeyCode teclaLigaDesliga = KeyCode.F; // tecla que ativa e desativa a lanterna
bool enable = true;
private void Start() {
enable = lanterna.gameObject.activeInHierarchy;
}
private void Update() {
if (lanterna) {
if (Input.GetKeyDown(teclaLigaDesliga)) {
enable = !enable;
lanterna.gameObject.SetActive(enable);
}
}
}
}
Re: [TUTORIAL] Lanterna
- Código:
public GameObject Luz; //esse script e para ser colocado em um objeto vasio
private int Luz1 = 1;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
LUZZ();
}
void LUZZ()
{
if(Input.GetKeyDown(KeyCode.L))
{
if(Luz1 == 1) {Luz.SetActive(false);
Luz1 = 2;
}
else if(Luz1 == 2) {Luz.SetActive(true);
Luz1 = 1;
}
}
}
assim que faz uma lanterna usando setactive ou gameobject
Toxic- Iniciante
- PONTOS : 1514
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Lanterna Simples.
» [TUTORIAL] Sistema de Lanterna com Pilhas
» [TUTORIAL] Ligar e Desligar Lanterna
» [TUTORIAL] Sistema de Lanterna Simples sem bateria
» [TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
» [TUTORIAL] Sistema de Lanterna com Pilhas
» [TUTORIAL] Ligar e Desligar Lanterna
» [TUTORIAL] Sistema de Lanterna Simples sem bateria
» [TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos