SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Delay na animação
Utilizar um software que não pode ser usado para fins comerciais
Unity 3D Pulo do Personagem na hora em que o Personagem está saindo do chão
Colocar o código certo para abrir porta
Ajuda em documentação de shader
+1 OW 2
movimtnos com Motodo void
Bug unity android UI
Component Cloth unity
Inimigo detecta outro Inimigo.
Instanciar objetos e controla los!!
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
List
não deixar que exista dois DontDestroyOnLoad
Cronometro par Inimigo como se faz ?
Peso de processamento de modelos 3D
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Passar texturas de Maya para unity
Assets tirando fisica do terreno
teleportar o player quando ele cair fora do mapa
3D Text Material Sobressalente
Passar as texturas do Blender para a Unity
Não consigo alterar "nada" no unity
Erro no SketchUP
Como habilitar um scritpt depois que ele foi desabilitado
Arrastar e conectar
Math Key Puzzle (Disponível na Play Store)
(Duvida) Melhor versão da unity para projetos 3D
Como criar uma Barra de Ataque speed para um personagem
Script não funcionando.
Eixos trocados na movimentação do jogador
Como desenvolver um sistema de colisão sem usar os componentes da Unity?
Collab Arruinando meu Projeto
Oportunidade de Freelancer
Alguém sabe como criar um objeto aleatório
Movimentação de jogador através de animação
Achar objeto que não esta na cena
Chamar um objeto FBX para a cena por meio de um botão
(Dúvida) dificuldade em modelagem e animações
Como faço pra um objeto/item acionar um evento?
Como posso fazer uma barra de vida encher denovo
Textura escura
Animação em texto
Mesh Collider
[FORMAÇÃO DE EQUIPE] PERSONAGENS E ITENS PIXEL ART
Top Tipos de Jogos Mobile Android
Programe seus jogos mesmo sem saber C# (BOLT ⚡)
Dúvida sobre Character Controller
Testadores/ Voluntários - De olho na fake (jogo Educativo)
Ajuda com Cutscene
Ajuda com key em script
BTD(Brazil Tower Defense) WIP
Como criar vários objetos a partir de um? (Unity)
Objeto 3D
Posição bloco/tile endless 2D
Como acessar a função de um outro Script? (Unity)
todo filho herda a tag do pai ?
[TUTORIAL] Como fazer um TELEPORTE
Duvida sobre exceso de declaracao de variaveis publicas.
Como aumentar o tamanho de um objeto no eixo Z por um slider?
Duvida sobre proteção de projeto na unity.
Como jogo o valor de uma Int em uma IEnumerator?
Como faço para desativar o pós-processamento em outra cena
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Textura no material importado
PHP
Ajuda em Modelo 3D
Como limitar ate onde a câmera do unity2D pode ir?
Standard Assets para UNITY 5 em ".unitypackage"
Como faço pra carregar os itens de uma Cena Para outra?
Joystick mobile
Cenário se reposicionar no eixo z, quando o player se move pelo cenário.
Mudar a cor de um material Alpha Blended por script
como faço para o personagem andar só que no ar?
[TUTORIAL] Teleporte
Ajuda com IA de inimigo
Qual o tutorial mais simples sobre criar um personagem 3d com melee attack?
Colider--Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
Como rodar tela de Gameover?
(Duvida) Como criar um sistema de dialogos?
carregar um mapa por .txt
Como obter dados do Grid Layout Group.
Camera em primeira pessoa que mostra o corpo
Plataforma Flutuante
como faço um multiplayer na unity 5?
SCRIPT TIRO - UNITY 3d
Online Shooting Android
Um projeto sem nome ainda (Fazendo nas horas vagas)
[ FIND ME ] Game em Desenvolvimento
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Baixos Brasil - Jogo de Carro Brasileiro!
Riders Of Dungeons - Jogo RPG Souls like
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Duvida sobre .asset
Escape from the hospital (Em teste)
Ajuda com gameObject
Ajuda com erro no package de pós-processamento
Shader Graph, mateiral rosa???
Hoje à(s) 3:12 am
Hoje à(s) 2:05 am
Ontem à(s) 10:55 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:41 pm
Qua Abr 14, 2021 8:17 pm
Qua Abr 14, 2021 4:47 pm
Ter Abr 13, 2021 8:17 pm
Ter Abr 13, 2021 7:45 pm
Ter Abr 13, 2021 6:17 pm
Ter Abr 13, 2021 2:57 pm
Ter Abr 13, 2021 10:08 am
Dom Abr 11, 2021 3:31 pm
Dom Abr 11, 2021 12:03 am
Sab Abr 10, 2021 2:47 pm
Sex Abr 09, 2021 10:11 pm
Sex Abr 09, 2021 5:23 pm
Sex Abr 09, 2021 2:10 pm
Sex Abr 09, 2021 1:21 pm
Qui Abr 08, 2021 8:11 pm
Qui Abr 08, 2021 8:06 pm
Qui Abr 08, 2021 6:50 pm
Qui Abr 08, 2021 6:44 pm
Qui Abr 08, 2021 11:24 am
Qui Abr 08, 2021 11:23 am
Qui Abr 08, 2021 8:17 am
Qua Abr 07, 2021 8:34 pm
Qua Abr 07, 2021 7:39 pm
Qua Abr 07, 2021 5:27 pm
Qua Abr 07, 2021 3:27 pm
Qua Abr 07, 2021 12:03 pm
Qua Abr 07, 2021 8:43 am
Qua Abr 07, 2021 6:27 am
Ter Abr 06, 2021 1:17 pm
Ter Abr 06, 2021 12:44 pm
Ter Abr 06, 2021 12:40 pm
Seg Abr 05, 2021 3:41 pm
Seg Abr 05, 2021 1:19 pm
Dom Abr 04, 2021 11:55 pm
Dom Abr 04, 2021 10:02 pm
Dom Abr 04, 2021 7:03 pm
Dom Abr 04, 2021 5:53 pm
Dom Abr 04, 2021 12:14 pm
Dom Abr 04, 2021 1:06 am
Sab Abr 03, 2021 8:26 pm
Sab Abr 03, 2021 8:06 pm
Sab Abr 03, 2021 7:20 pm
Sab Abr 03, 2021 1:23 pm
Sex Abr 02, 2021 2:14 am
Qui Abr 01, 2021 9:34 pm
Qui Abr 01, 2021 5:18 pm
Qui Abr 01, 2021 4:57 pm
Qui Abr 01, 2021 7:42 am
Qua Mar 31, 2021 9:36 pm
Qua Mar 31, 2021 10:41 am
Ter Mar 30, 2021 8:53 pm
Ter Mar 30, 2021 8:49 pm
Ter Mar 30, 2021 3:10 pm
Ter Mar 30, 2021 1:38 pm
Ter Mar 30, 2021 12:35 pm
Seg Mar 29, 2021 11:07 pm
Seg Mar 29, 2021 8:37 pm
Seg Mar 29, 2021 8:16 pm
Seg Mar 29, 2021 5:32 pm
Seg Mar 29, 2021 1:53 pm
Dom Mar 28, 2021 4:13 pm
Dom Mar 28, 2021 1:19 am
Dom Mar 28, 2021 12:17 am
Sab Mar 27, 2021 10:30 pm
Sab Mar 27, 2021 8:33 pm
Sab Mar 27, 2021 8:06 pm
Sab Mar 27, 2021 2:51 pm
Sab Mar 27, 2021 8:53 am
Sab Mar 27, 2021 8:05 am
Sex Mar 26, 2021 3:15 pm
Sex Mar 26, 2021 12:50 pm
Sex Mar 26, 2021 8:28 am
Sex Mar 26, 2021 7:05 am
Qui Mar 25, 2021 7:16 pm
Qui Mar 25, 2021 7:13 pm
Qui Mar 25, 2021 2:44 pm
Qui Mar 25, 2021 11:20 am
Qui Mar 25, 2021 9:15 am
Qua Mar 24, 2021 7:56 pm
Qua Mar 24, 2021 7:53 pm
Qua Mar 24, 2021 6:54 pm
Qua Mar 24, 2021 1:01 pm
Qua Mar 24, 2021 12:27 pm
Qua Mar 24, 2021 12:04 pm
Qua Mar 24, 2021 12:03 pm
Qua Mar 24, 2021 12:02 pm
Qua Mar 24, 2021 11:59 am
Qua Mar 24, 2021 11:56 am
Qua Mar 24, 2021 10:08 am
Ter Mar 23, 2021 10:35 pm
Ter Mar 23, 2021 9:49 pm
Ter Mar 23, 2021 5:14 pm
Ter Mar 23, 2021 1:59 pm
Ter Mar 23, 2021 10:32 am
WLCS22
WLCS22
WLCS22
Joana
Joana
hellside
dutrabr100
poyser
capim22
hellside
dutrabr100
RenanHero
Kleber Lucas
diegopds
dutrabr100
ronigleydson
Chilinger
ffabim
tendrozino
gui78h3
MRX
Magnatah
Magnatah
Edivandro2706
Kleber Lucas
Pokedlg
poyser
poyser
kingalphaz1
BrunaFelicio
backup
dutrabr100
conceptfac
Chilinger
luizphelipe
dutrabr100
dutrabr100
SauloeArthur
poyser
Triskal
luizphelipe
darkrj
dutrabr100
Anderson Mello
tulio filipe
rr indie games
Triskal
rr indie games
danielPedra90
Triskal
Triskal
rr indie games
PauloR2811
diegopds
LGC
Pokedlg
adenilson romao
Triskal
rr indie games
Fagner
loucoporjogo
rafaelllsd
Charlesoff
michelcreis@hotmail.com
Edivandro2706
Fagner
adrianobros2
Sergio1223
Zyll
Triskal
RGT2020
dutrabr100
jeancvo3
dkdetroi
Triskal
Charlesoff
dutrabr100
Fagner
dutrabr100
SamusAran
MayLeone
gui78h3
loucoporjogo
RGT
RGT
RGT
faustommat
Daniel Dória
bobESquisito
bobESquisito
bobESquisito
bobESquisito
bobESquisito
michelcreis@hotmail.com
Suphit
bobESquisito
Pokedlg
Charlesoff
Mafuyu

Instanciar objetos e controla los!!

Ir em baixo

DÚVIDA Instanciar objetos e controla los!!

Mensagem por capim22 Dom Abr 04, 2021 8:43 am

bom dia em meu jogo tenho um botao void que ira instanciar objetos 
esses objetos ao serem instanciados terao controles como subir ,descer , mudar cor etc, 
acontece q so o objeto da cena esta aceitando os comandos , qd instancio a unica coisa q funciona e a seta subir!!!



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
    public Rigidbody rb;
    public LineRenderer lineRender;
    private float distance = 40;
    public float spd = 1f;
    public bool conectado = true;
    private texturasBandeira _texturasBandeira;
    public GameObject bandeira;
    // private mudarBandeira _mudarBandeira;


    void Start()
    {
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = true;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = true;


        _texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
        
        rb = GetComponent<Rigidbody>();
        rb.isKinematic = true;
        bandeira.gameObject.SetActive (false);


    }

    // Update is called once per frame
    void Update()
    {


        if (conectado)
        {
            
            GameObject player = GameObject.Find("Player");
            if (Vector3.Distance(transform.position, player.transform.position) > distance)
            {
                transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
                
            }

            //if (Input.GetKey("w") || subir.pressed )
            //{
                http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
               // transform.Translate(0, -0.05f, 0.1f);
            //}
            //else if (Input.GetKey("s") || descer.pressed)
            //{
               // transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
            //}
            if (Vector3.Distance(player.transform.position, transform.position) > 35)
            {
                bandeira.gameObject.SetActive (true);
                // rb.isKinematic = false;
                // lineRender.gameObject.active = false;
                //  conectado = false;


            }
        }
    }
    public void liberarBalao()
    {
        conectado = false;
        GameObject bl1 = GameObject.FindWithTag("balao");
        bl1.transform.gameObject.tag = "floor";
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = false;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = false;       
        rb.isKinematic = false;
        lineRender.gameObject.SetActive(false);
            

        }

    }

agora script que instancia!!

    public void InstanciarBalao(int idBalao)
    {
        
        Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
    }
    }

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Dom Abr 04, 2021 12:03 pm

Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
    public Rigidbody rb;
    public LineRenderer lineRender;
    private float distance = 40;
    public float spd = 1f;
    public bool conectado = true;
    private texturasBandeira _texturasBandeira;
    public GameObject bandeira;
    // private mudarBandeira _mudarBandeira;


    void Start()
    {
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = true;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = true;


        _texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
        
        rb = GetComponent<Rigidbody>();
        rb.isKinematic = true;
        bandeira.gameObject.SetActive (false);


    }

    // Update is called once per frame
    void Update()
    {


        if (conectado)
        {
            
            GameObject player = GameObject.Find("Player");
            if (Vector3.Distance(transform.position, player.transform.position) > distance)
            {
                transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
                
            }

            //if (Input.GetKey("w") || subir.pressed )
            //{
                http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
               // transform.Translate(0, -0.05f, 0.1f);
            //}
            //else if (Input.GetKey("s") || descer.pressed)
            //{
               // transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
            //}
            if (Vector3.Distance(player.transform.position, transform.position) > 35)
            {
                bandeira.gameObject.SetActive (true);
                // rb.isKinematic = false;
                // lineRender.gameObject.active = false;
                //  conectado = false;


            }
        }
    }
    public void liberarBalao()
    {
        conectado = false;
        GameObject bl1 = GameObject.FindWithTag("balao");
        bl1.transform.gameObject.tag = "floor";
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = false;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = false;       
        rb.isKinematic = false;
        lineRender.gameObject.SetActive(false);
            

        }

    }

agora script que instancia!!

    public void InstanciarBalao(int idBalao)
    {
        
        Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
    }
    }
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Dom Abr 04, 2021 12:12 pm

não entendi nada Sad

em que GameObject vai esse Script linha1 (tem que melhorar esses nomes de classes, não é nenhum pouco claro)

e notei que tu usa muito: 
Código:
GameObject.FindWithTag("");
ao usar isso tem só um gameobject com tais tags na Scene ?

e não to vendo essas interações que menciona

e será que a culpa de não funcionar não é daquele monte de comentários ali não ? ( // )
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Seg Abr 05, 2021 8:27 am

@capim22 escreveu:Desculpe a confusao galera , e o seguinte estou criando um jogo de soltura de baloes , estou com um problema onde estou a meses preso nisso, oq acontece e q meu balao da cena funciona direitinho , esse balao tem linerenderer q fica presa uma ponta no balao e outra na mao do player, no canvas duas setas cima e baixo cima distancia o balao do player e baixo recua ,tem um botao para trocar cor do balao e um botao para liberar o balao para subir qd o msm sobe o linenrenderer fica false , as setas tb etc blz,, so q qd crio um prefab p instancia ou ate msm clone desse balao da  cena , o clone n tem as msm funcionalidades que o original da cena , tipo no clone consigo afastar e recuar , agora mudar cor e linerenderer false so funciona no balao original , (msm os dois na cena) .
Se alguem puder por gentileza me ajudar desculpa ser chato, e q uso desenvolvimento de jogos p me destrair da depressao e crises de anciedade ,tinha perdido minha conta do forum, se alguem puder me ajudar por favor , meu zap e 24988284425 mando fts e videos do problema!!



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
    public Rigidbody rb;
    public LineRenderer lineRender;
    private float distance = 40;
    public float spd = 1f;
    public bool conectado = true;
    private texturasBandeira _texturasBandeira;
    public GameObject bandeira;
    // private mudarBandeira _mudarBandeira;


    void Start()
    {
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = true;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = true;


        _texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
        
        rb = GetComponent<Rigidbody>();
        rb.isKinematic = true;
        bandeira.gameObject.SetActive (false);


    }

    // Update is called once per frame
    void Update()
    {


        if (conectado)
        {
            
            GameObject player = GameObject.Find("Player");
            if (Vector3.Distance(transform.position, player.transform.position) > distance)
            {
                transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
                
            }

            //if (Input.GetKey("w") || subir.pressed )
            //{
                http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
               // transform.Translate(0, -0.05f, 0.1f);
            //}
            //else if (Input.GetKey("s") || descer.pressed)
            //{
               // transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
            //}
            if (Vector3.Distance(player.transform.position, transform.position) > 35)
            {
                bandeira.gameObject.SetActive (true);
                // rb.isKinematic = false;
                // lineRender.gameObject.active = false;
                //  conectado = false;


            }
        }
    }
    public void liberarBalao()
    {
        conectado = false;
        GameObject bl1 = GameObject.FindWithTag("balao");
        bl1.transform.gameObject.tag = "floor";
        GameObject bd = GameObject.FindWithTag("trocarBand");
        bd.GetComponent<EventTrigger>().enabled = false;
        GameObject cb = GameObject.FindWithTag("trocarCorBalao");
        cb.GetComponent<EventTrigger>().enabled = false;       
        rb.isKinematic = false;
        lineRender.gameObject.SetActive(false);
            

        }

    }

agora script que instancia!!

    public void InstanciarBalao(int idBalao)
    {
        
        Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
    }
    }

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Seg Abr 05, 2021 10:17 am

Ajuda-lo, sem problemas.  Smile

essa sua nova explicação ajudou um pouco.

pelo que entendi esse script que mandou fica no balão.

mas, não vejo nada que indique uma tentativa de alterar a cor do balão.

ou de liberar o balão.(tem a função, mas não é chamada nesse script)

então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado


uma analise rápida [b][LEIA ME][/b]:

bem consegue subir e descer todos balões sem problema, até ai ok.

aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).

esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele

e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.


dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Seg Abr 05, 2021 10:50 am

@dutrabr100 escreveu:Ajuda-lo, sem problemas.  Smile

essa sua nova explicação ajudou um pouco.

pelo que entendi esse script que mandou fica no balão.

mas, não vejo nada que indique uma tentativa de alterar a cor do balão.

ou de liberar o balão.(tem a função, mas não é chamada nesse script)

então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado


uma analise rápida [b][LEIA ME][/b]:

bem consegue subir e descer todos balões sem problema, até ai ok.

aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).

esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele

e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.

esse script e responsavel por quase td no meu balao, so q preciso q aconteca o msm qd instanciar outro balao , isso n esta acontecendo nem msm se eu clonar o balao da cena o clone naoa funciona tipo se aperto seta p subir o balao so o original da cena q sobe o clone fica parado , o msm acontece c outros metodos , no balao original td funciona direitinho , mas como vou precisar instancia lo , o clone ou prefab nao funciona fica td parado!!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;


void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");  //--- else um trigger q preciso desativar qd conectado for false usei Find pq n consegui usar gameObject qd converto em prefab!!
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao"); //-- msm coisa de cima!
cb.GetComponent<EventTrigger>().enabled = true;
lineRender.gameObject.SetActive(true);
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
//bandeira.gameObject.SetActive (false);
}

// Update is called once per frame
void Update()
{

if (conectado)
{

GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<

}

if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;

}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl = GameObject.FindWithTag("balao");  //--- eu preciso preciso q toda essa funcao funcione qd o balao e instanciado , so q nem prefab e nem msm o clone funciona esse metodo , somente o original da cena q funciona!!
bl.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);

}
}











capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Seg Abr 05, 2021 8:30 pm

@capim22 escreveu:
@dutrabr100 escreveu:Ajuda-lo, sem problemas.  Smile

essa sua nova explicação ajudou um pouco.

pelo que entendi esse script que mandou fica no balão.

mas, não vejo nada que indique uma tentativa de alterar a cor do balão.

ou de liberar o balão.(tem a função, mas não é chamada nesse script)

então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado


uma analise rápida [b][LEIA ME][/b]:

bem consegue subir e descer todos balões sem problema, até ai ok.

aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).

esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele

e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.

esse script e responsavel por quase td no meu balao, so q preciso q aconteca o msm qd instanciar outro balao , isso n esta acontecendo nem msm se eu clonar o balao da cena o clone naoa funciona tipo se aperto seta p subir o balao so o original da cena q sobe o clone fica parado , o msm acontece c outros metodos , no balao original td funciona direitinho , mas como vou precisar instancia lo , o clone ou prefab nao funciona fica td parado!!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;


void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");  //--- else um trigger q preciso desativar qd conectado for false usei Find pq n consegui usar gameObject qd converto em prefab!!
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao"); //-- msm coisa de cima!
cb.GetComponent<EventTrigger>().enabled = true;
lineRender.gameObject.SetActive(true);
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
//bandeira.gameObject.SetActive (false);
}

// Update is called once per frame
void Update()
{

if (conectado)
{

GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<

}

if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;

}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl = GameObject.FindWithTag("balao");  //--- eu preciso preciso q toda essa funcao funcione qd o balao e instanciado , so q nem prefab e nem msm o clone funciona esse metodo , somente o original da cena q funciona!!
bl.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);

}
}

se puder me chamar zap 24988284425 te agradeco muiiiito msm!!

resumidamente oq preciso e so fazer com q o clone do objeto balao funciona conforme o original , pq no original da cena funciona tudinho certinho , troca de cor, seta subir e descer , botao p liberar o balao , funciona td , mas com clone dele ou um prefab desse objeto as coisas n funcionam!! muito obg









capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Ter Abr 06, 2021 9:38 am

???

essas suas duas respostas aparecem aqui meio que vazias
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Dom Abr 11, 2021 10:56 am

@dutrabr100 escreveu:???

essas suas duas respostas aparecem aqui meio que vazias
Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!! 

meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Dom Abr 11, 2021 2:49 pm

@capim22 escreveu:
@dutrabr100 escreveu:???

essas suas duas respostas aparecem aqui meio que vazias
Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!! 

meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!
mas tem "find" que retorna mais de um ou seja um GameObject[].


https://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag.html

https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html

ai seria só usar um for ou foreach e aplicar em todos o que estava fazendo em apenas um
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Dom Abr 11, 2021 2:53 pm

@capim22 escreveu:
@dutrabr100 escreveu:???

essas suas duas respostas aparecem aqui meio que vazias
Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!! 

meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!

ou tu pode simplesmente

criar uma

GameObject[] e ao instanciar adicionar o balão nela e ao liberar tirar ele dela.
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Dom Abr 11, 2021 2:53 pm

e nao tenho facebook
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Dom Abr 11, 2021 3:01 pm

@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Dom Abr 11, 2021 6:28 pm

@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:???

essas suas duas respostas aparecem aqui meio que vazias
Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!! 

meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!




ou tu pode simplesmente

criar uma

GameObject[] e ao instanciar adicionar o balão nela e ao liberar tirar ele dela.

fiz isso e ao instanciar o segundo ele n obedece os comandos!!
using UnityEngine.EventSystems;
using System.Collections.Generic;
using UnityEngine;

public class Botoes : MonoBehaviour
{

private nivel _nivel1;
public GameObject Aqui;
public GameObject[] balao;

void Start()
{
if (balao == null)
balao = GameObject.FindGameObjectsWithTag("balao");

foreach (GameObject balao1 in balao) ;
}

public void InstanciarBalao(int idBalao)
{



// List<GameObject> balaoList = new List<GameObject>();
// balao = new List<GameObject>();

Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y + 4, Aqui.transform.position.z), balao[idBalao].transform.rotation);

}
}



capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Seg Abr 12, 2021 10:55 am

@capim22 escreveu:
@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Bem vamos lá



Scripts
o primeiro script é do balão o segundo é do BaloesController
Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;

public class Baloes : MonoBehaviour
{
    public bool preso = true;
    public Transform pivot;
    private Rigidbody rb;
    Renderer material;
    
    public LineRenderer corda;
    public float tamanhoDaCorda = 5;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        
        material = GetComponent<Renderer>();

        corSelecionada = Random.Range(0, cores.Length);
        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }

    // Update is called once per frame
    void Update()
    {
        if (preso)
        {
            corda.SetPosition(1, (pivot.position - transform.position));
        }

        if (!preso)
        {
            corda.SetPosition(1,
                Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
            transform.parent = null;
        }
    }

    private void FixedUpdate()
    {
        //Fazer
        float distancia = Vector3.Distance(pivot.position, transform.position);
        if ((distancia < tamanhoDaCorda && preso) || !preso)
        {
            rb.AddForce(Vector3.up * (Time.deltaTime * 30));
        }
        else
        if(distancia > tamanhoDaCorda && preso)
        {
            rb.AddForce(Vector3.down * (Time.deltaTime * 30));
        }

        if (distancia - tamanhoDaCorda < 0.25 && preso)
        {
            rb.AddForce(-rb.velocity);
        }
    }

    private int corSelecionada;
    private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
    public void proximaCor()
    {
        corSelecionada++;
        if (corSelecionada > cores.Length - 1)
        {
            corSelecionada = 0;
        }

        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }
}
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaloesController : MonoBehaviour
{
    public GameObject balao;
    
    
    private List<GameObject> MeusBaloes = new List<GameObject>();
    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) //novo balão
        {
            Vector2 rd = Random.insideUnitCircle * 3;
            
            GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
            
            //configurar balao
            Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
            
            meuBalaoNovinho.pivot = transform;
            
            
            MeusBaloes.Add(novoBalao);
        }

        //mudar cor
        if (Input.GetKeyDown(KeyCode.F))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().proximaCor();
            }
        }
        
        //sobe e desce
        if (Input.GetAxis("Vertical") != 0)
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
            }
        }
        
        //soltar todos
        if (Input.GetKeyDown(KeyCode.E))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().preso = false;
            }

            MeusBaloes.Clear();

        }
        
        
    }
}



Sobre o Prefab Balão


eu usei uma Esfera e botei como filho um LineRenderer.

a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.

Sobre o cubo


apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes

Controles


W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Ter Abr 13, 2021 9:37 am

@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Bem vamos lá



Scripts
o primeiro script é do balão o segundo é do BaloesController
Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;

public class Baloes : MonoBehaviour
{
    public bool preso = true;
    public Transform pivot;
    private Rigidbody rb;
    Renderer material;
    
    public LineRenderer corda;
    public float tamanhoDaCorda = 5;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        
        material = GetComponent<Renderer>();

        corSelecionada = Random.Range(0, cores.Length);
        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }

    // Update is called once per frame
    void Update()
    {
        if (preso)
        {
            corda.SetPosition(1, (pivot.position - transform.position));
        }

        if (!preso)
        {
            corda.SetPosition(1,
                Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
            transform.parent = null;
        }
    }

    private void FixedUpdate()
    {
        //Fazer
        float distancia = Vector3.Distance(pivot.position, transform.position);
        if ((distancia < tamanhoDaCorda && preso) || !preso)
        {
            rb.AddForce(Vector3.up * (Time.deltaTime * 30));
        }
        else
        if(distancia > tamanhoDaCorda && preso)
        {
            rb.AddForce(Vector3.down * (Time.deltaTime * 30));
        }

        if (distancia - tamanhoDaCorda < 0.25 && preso)
        {
            rb.AddForce(-rb.velocity);
        }
    }

    private int corSelecionada;
    private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
    public void proximaCor()
    {
        corSelecionada++;
        if (corSelecionada > cores.Length - 1)
        {
            corSelecionada = 0;
        }

        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }
}
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaloesController : MonoBehaviour
{
    public GameObject balao;
    
    
    private List<GameObject> MeusBaloes = new List<GameObject>();
    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) //novo balão
        {
            Vector2 rd = Random.insideUnitCircle * 3;
            
            GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
            
            //configurar balao
            Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
            
            meuBalaoNovinho.pivot = transform;
            
            
            MeusBaloes.Add(novoBalao);
        }

        //mudar cor
        if (Input.GetKeyDown(KeyCode.F))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().proximaCor();
            }
        }
        
        //sobe e desce
        if (Input.GetAxis("Vertical") != 0)
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
            }
        }
        
        //soltar todos
        if (Input.GetKeyDown(KeyCode.E))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().preso = false;
            }

            MeusBaloes.Clear();

        }
        
        
    }
}



Sobre o Prefab Balão


eu usei uma Esfera e botei como filho um LineRenderer.

a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.

Sobre o cubo


apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes

Controles


W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes

bom dia muito obg por td! video e script!!
Porem oq acontece comigo e somente na hora de instanciar tipo o primeiro balao q ja esta na cena funciona td perfeitamente , porem ao entrar no meu inventario e instanciar outro balao ja nao obdece os comandos de troca de cor , de movimentos etc....

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Ter Abr 13, 2021 9:39 am

@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Bem vamos lá



Scripts
o primeiro script é do balão o segundo é do BaloesController
Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;

public class Baloes : MonoBehaviour
{
    public bool preso = true;
    public Transform pivot;
    private Rigidbody rb;
    Renderer material;
    
    public LineRenderer corda;
    public float tamanhoDaCorda = 5;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        
        material = GetComponent<Renderer>();

        corSelecionada = Random.Range(0, cores.Length);
        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }

    // Update is called once per frame
    void Update()
    {
        if (preso)
        {
            corda.SetPosition(1, (pivot.position - transform.position));
        }

        if (!preso)
        {
            corda.SetPosition(1,
                Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
            transform.parent = null;
        }
    }

    private void FixedUpdate()
    {
        //Fazer
        float distancia = Vector3.Distance(pivot.position, transform.position);
        if ((distancia < tamanhoDaCorda && preso) || !preso)
        {
            rb.AddForce(Vector3.up * (Time.deltaTime * 30));
        }
        else
        if(distancia > tamanhoDaCorda && preso)
        {
            rb.AddForce(Vector3.down * (Time.deltaTime * 30));
        }

        if (distancia - tamanhoDaCorda < 0.25 && preso)
        {
            rb.AddForce(-rb.velocity);
        }
    }

    private int corSelecionada;
    private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
    public void proximaCor()
    {
        corSelecionada++;
        if (corSelecionada > cores.Length - 1)
        {
            corSelecionada = 0;
        }

        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }
}
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaloesController : MonoBehaviour
{
    public GameObject balao;
    
    
    private List<GameObject> MeusBaloes = new List<GameObject>();
    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) //novo balão
        {
            Vector2 rd = Random.insideUnitCircle * 3;
            
            GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
            
            //configurar balao
            Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
            
            meuBalaoNovinho.pivot = transform;
            
            
            MeusBaloes.Add(novoBalao);
        }

        //mudar cor
        if (Input.GetKeyDown(KeyCode.F))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().proximaCor();
            }
        }
        
        //sobe e desce
        if (Input.GetAxis("Vertical") != 0)
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
            }
        }
        
        //soltar todos
        if (Input.GetKeyDown(KeyCode.E))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().preso = false;
            }

            MeusBaloes.Clear();

        }
        
        
    }
}



Sobre o Prefab Balão


eu usei uma Esfera e botei como filho um LineRenderer.

a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.

Sobre o cubo


apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes

Controles


W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Ter Abr 13, 2021 9:50 am

@capim22 escreveu:
@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Bem vamos lá



Scripts
o primeiro script é do balão o segundo é do BaloesController
Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;

public class Baloes : MonoBehaviour
{
    public bool preso = true;
    public Transform pivot;
    private Rigidbody rb;
    Renderer material;
    
    public LineRenderer corda;
    public float tamanhoDaCorda = 5;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        
        material = GetComponent<Renderer>();

        corSelecionada = Random.Range(0, cores.Length);
        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }

    // Update is called once per frame
    void Update()
    {
        if (preso)
        {
            corda.SetPosition(1, (pivot.position - transform.position));
        }

        if (!preso)
        {
            corda.SetPosition(1,
                Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
            transform.parent = null;
        }
    }

    private void FixedUpdate()
    {
        //Fazer
        float distancia = Vector3.Distance(pivot.position, transform.position);
        if ((distancia < tamanhoDaCorda && preso) || !preso)
        {
            rb.AddForce(Vector3.up * (Time.deltaTime * 30));
        }
        else
        if(distancia > tamanhoDaCorda && preso)
        {
            rb.AddForce(Vector3.down * (Time.deltaTime * 30));
        }

        if (distancia - tamanhoDaCorda < 0.25 && preso)
        {
            rb.AddForce(-rb.velocity);
        }
    }

    private int corSelecionada;
    private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
    public void proximaCor()
    {
        corSelecionada++;
        if (corSelecionada > cores.Length - 1)
        {
            corSelecionada = 0;
        }

        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }
}
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaloesController : MonoBehaviour
{
    public GameObject balao;
    
    
    private List<GameObject> MeusBaloes = new List<GameObject>();
    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) //novo balão
        {
            Vector2 rd = Random.insideUnitCircle * 3;
            
            GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
            
            //configurar balao
            Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
            
            meuBalaoNovinho.pivot = transform;
            
            
            MeusBaloes.Add(novoBalao);
        }

        //mudar cor
        if (Input.GetKeyDown(KeyCode.F))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().proximaCor();
            }
        }
        
        //sobe e desce
        if (Input.GetAxis("Vertical") != 0)
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
            }
        }
        
        //soltar todos
        if (Input.GetKeyDown(KeyCode.E))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().preso = false;
            }

            MeusBaloes.Clear();

        }
        
        
    }
}



Sobre o Prefab Balão


eu usei uma Esfera e botei como filho um LineRenderer.

a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.

Sobre o cubo


apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes

Controles


W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg

instancia varios baloes e verifica se eles estao todos com a variável publica conectado como true
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Ter Abr 13, 2021 10:23 am

@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:
@capim22 escreveu:
@dutrabr100 escreveu:e nao tenho facebook
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Bem vamos lá



Scripts
o primeiro script é do balão o segundo é do BaloesController
Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;

public class Baloes : MonoBehaviour
{
    public bool preso = true;
    public Transform pivot;
    private Rigidbody rb;
    Renderer material;
    
    public LineRenderer corda;
    public float tamanhoDaCorda = 5;


    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        
        material = GetComponent<Renderer>();

        corSelecionada = Random.Range(0, cores.Length);
        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }

    // Update is called once per frame
    void Update()
    {
        if (preso)
        {
            corda.SetPosition(1, (pivot.position - transform.position));
        }

        if (!preso)
        {
            corda.SetPosition(1,
                Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
            transform.parent = null;
        }
    }

    private void FixedUpdate()
    {
        //Fazer
        float distancia = Vector3.Distance(pivot.position, transform.position);
        if ((distancia < tamanhoDaCorda && preso) || !preso)
        {
            rb.AddForce(Vector3.up * (Time.deltaTime * 30));
        }
        else
        if(distancia > tamanhoDaCorda && preso)
        {
            rb.AddForce(Vector3.down * (Time.deltaTime * 30));
        }

        if (distancia - tamanhoDaCorda < 0.25 && preso)
        {
            rb.AddForce(-rb.velocity);
        }
    }

    private int corSelecionada;
    private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
    public void proximaCor()
    {
        corSelecionada++;
        if (corSelecionada > cores.Length - 1)
        {
            corSelecionada = 0;
        }

        material.material.SetColor("_BaseColor", cores[corSelecionada]);
    }
}
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BaloesController : MonoBehaviour
{
    public GameObject balao;
    
    
    private List<GameObject> MeusBaloes = new List<GameObject>();
    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space)) //novo balão
        {
            Vector2 rd = Random.insideUnitCircle * 3;
            
            GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
            
            //configurar balao
            Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
            
            meuBalaoNovinho.pivot = transform;
            
            
            MeusBaloes.Add(novoBalao);
        }

        //mudar cor
        if (Input.GetKeyDown(KeyCode.F))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().proximaCor();
            }
        }
        
        //sobe e desce
        if (Input.GetAxis("Vertical") != 0)
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
            }
        }
        
        //soltar todos
        if (Input.GetKeyDown(KeyCode.E))
        {
            foreach (var meuBalao in MeusBaloes)
            {
                meuBalao.GetComponent<Baloes>().preso = false;
            }

            MeusBaloes.Clear();

        }
        
        
    }
}



Sobre o Prefab Balão


eu usei uma Esfera e botei como filho um LineRenderer.

a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.

Sobre o cubo


apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes

Controles


W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg

instancia varios baloes e verifica se eles estao todos com a variável publica conectado como true

sim qd instancio esta cmo conectado true 

acho q o probelma esta nesses Find !!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;


void Start()
{

lineRender.gameObject.SetActive(true);


_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;

rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
//bandeira.gameObject.SetActive (false);


}

// Update is called once per frame
void Update()
{


if (conectado)
{
conectado = true;

GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<

}

//if (Input.GetKey("w") || subir.pressed )
//{
//transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
// transform.Translate(0, -0.05f, 0.1f);
//}
//else if (Input.GetKey("s") || descer.pressed)
//{
// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
//}
if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;


}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl = GameObject.FindWithTag("balao");
bl.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);

}

}




Ja estou a meses nisso kkk

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Ter Abr 13, 2021 10:34 am

Intrigado

primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.

acho que o problema deve estar nesse EventTrigger

os baloes estao subindo e descendo normal ?
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Ter Abr 13, 2021 11:08 am

@dutrabr100 escreveu:Intrigado

primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.

acho que o problema deve estar nesse EventTrigger

os baloes estao subindo e descendo normal ?

Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por capim22 Ter Abr 13, 2021 11:21 am

@capim22 escreveu:
@dutrabr100 escreveu:Intrigado

primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.

acho que o problema deve estar nesse EventTrigger

os baloes estao subindo e descendo normal ?

Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!
vc pode me ajudar remotamente por favor? ja estou um tempao nisso ja pesuiqzei muito e  nada!!

capim22
Membro
Membro

PONTOS : 599
REPUTAÇÃO : 7
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Instanciar objetos e controla los!!

Mensagem por dutrabr100 Ter Abr 13, 2021 2:57 pm

@capim22 escreveu:
@dutrabr100 escreveu:Intrigado

primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.

acho que o problema deve estar nesse EventTrigger

os baloes estao subindo e descendo normal ?

Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!

nem precisa ser um inventario complexo.

quando tu usa o Instantiate, ele retorna um tipo GameObject que é o que tu acabou de instanciar
Código:
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y),Quaternion.identity,transform);

agora só falta uma forma de armazenar, nesse caso eu diria que uma List é mais coveniente, por que ela se "estica" e "encolhe" enquanto um array é de tamanho fixo
Código:
private List<GameObject> MeusBaloes = new List<GameObject>();

ai é só adicionar
Código:
MeusBaloes.Add(novoBalao);

ai pra dar um comando a todos baloes basta usar um foreach ou um for
dutrabr100
dutrabr100
Programador

Masculino PONTOS : 367
REPUTAÇÃO : 52
Idade : 22
Áreas de atuação : -Formado Em Analise e Desenvolvimento De Sistemas
-Iniciante Em Unity
-Iniciante Em Blender

Minhas
Respeito as regras : Instanciar objetos e controla los!! WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum