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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
É assim que se começa um "novo mundo" na era medieval? kkjk
Dash2D
Criar Simulador de Sinuca
Coroutines Loop
Recrutamento de equipe
[TUTORIAL] Unity 5 - Como utilizar o Animator
Procuro membros para minha Equipe (Programadores, designers, etc)
Movimentação de inimigo
Tempo Minutos e Segundos Transformar em Volta mais Rapida
[TUTORIAL] Unity 5.5 - Splash Screen
R7 - GOOH (resident evil 7)
InputField/String Com formato para data XX/XX/XXXX
Estou com varias duvidas sobre o inputfield do ui canvas
(Dúvida) Setar ultima string de uma array
[Ajuda] Unity 5.5.0 não abre
[____TÓPICO LIVRE____] FALE O QUE QUISER
Destruindo objeto em uma outra cena
modo desenvolvedor xbox one?
como usar o Lookat com o addforce do rigidibody?
Cryengine 3?
Transferência de valores.
Teste de usuário para um jogo
Ajuda com variaveis multiplas?
Animação da arma (Mirar/Recarregar)
script
[TUTORIAL] Barra de VIDA / HP contínua
Tornar objeto filho por script
Time.timeScale continua em 0
Animacao2D
Duvida Animation Play não faz nada
Unity 5 Bugado
Escolher que resoluções jogo vai ter
Baixar Documentaçao Unity 3D?
COMO DESATIVAR O SCRIPT "FisrtPersonController" DO PLAYER ATRAVÉS DE OUTRO SCRIPT
Ajuda Movimento2D
AJUDA COM BAKE EM LUZES
Tem como editar o inspector?
[TUTORIAL] Como Abrir e Fechar Gavetas - Unity 5
Números aleatorios
[TUTORIAL]Save Load Criptografado (Atualizado 07/12/16)
Trocar de true pra false em uma animação bool
[TUTORIAL] Alterarando o ícone do Executável do Jogo
Baixar Unity ?
Unity 5 + um pouco de conhecimento ou Skyrim?
Procuro vagas em equipes [Programador]
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Asset de FPS - AU FPS Kit [unity 5] v1.5
[TUTORIAL] Dicas de otimização
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Integração PHP e Unity
Ideia Inovadora
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Forma uma equipe
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
Hoje à(s) 3:03 pm
Hoje à(s) 2:12 pm
Hoje à(s) 2:07 pm
Hoje à(s) 2:03 pm
Hoje à(s) 12:51 pm
Hoje à(s) 12:13 pm
Hoje à(s) 11:42 am
Hoje à(s) 11:16 am
Hoje à(s) 1:02 am
Hoje à(s) 12:41 am
Hoje à(s) 12:37 am
Ontem à(s) 9:40 pm
Ontem à(s) 9:39 pm
Ontem à(s) 8:44 pm
Ontem à(s) 8:26 pm
Ontem à(s) 6:19 pm
Ontem à(s) 1:42 pm
Ontem à(s) 1:15 pm
Ontem à(s) 10:45 am
Ontem à(s) 8:17 am
Ontem à(s) 1:58 am
Ontem à(s) 1:55 am
Ontem à(s) 12:57 am
Ontem à(s) 12:22 am
Ontem à(s) 12:03 am
Qua Dez 07, 2016 10:51 pm
Qua Dez 07, 2016 10:47 pm
Qua Dez 07, 2016 10:45 pm
Qua Dez 07, 2016 10:42 pm
Qua Dez 07, 2016 10:36 pm
Qua Dez 07, 2016 10:32 pm
Qua Dez 07, 2016 10:30 pm
Qua Dez 07, 2016 10:22 pm
Qua Dez 07, 2016 9:47 pm
Qua Dez 07, 2016 7:54 pm
Qua Dez 07, 2016 7:50 pm
Qua Dez 07, 2016 6:31 pm
Qua Dez 07, 2016 6:16 pm
Qua Dez 07, 2016 5:40 pm
Qua Dez 07, 2016 5:26 pm
Qua Dez 07, 2016 5:01 pm
Qua Dez 07, 2016 4:31 pm
Qua Dez 07, 2016 12:42 pm
Qua Dez 07, 2016 12:46 am
Qua Dez 07, 2016 12:30 am
Ter Dez 06, 2016 8:02 pm
Ter Dez 06, 2016 7:01 pm
Ter Dez 06, 2016 5:31 am
Ter Dez 06, 2016 1:52 am
Seg Dez 05, 2016 8:52 pm
Seg Dez 05, 2016 8:48 pm
Seg Dez 05, 2016 8:32 pm
Seg Dez 05, 2016 8:17 pm
Seg Dez 05, 2016 8:15 pm
Seg Dez 05, 2016 6:08 pm
Seg Dez 05, 2016 5:10 pm
Seg Dez 05, 2016 3:36 pm
Seg Dez 05, 2016 2:35 pm
Seg Dez 05, 2016 12:52 am
Dom Dez 04, 2016 8:37 pm
Dom Dez 04, 2016 8:33 pm
Dom Dez 04, 2016 7:46 am
Dom Dez 04, 2016 5:34 am
Dom Dez 04, 2016 1:36 am
Dom Dez 04, 2016 1:31 am
Sab Dez 03, 2016 3:32 pm
Sab Dez 03, 2016 12:53 pm
Sab Dez 03, 2016 3:25 am
Sab Dez 03, 2016 3:11 am
Sab Dez 03, 2016 3:08 am
Sab Dez 03, 2016 1:20 am
Sab Dez 03, 2016 1:15 am
Sab Dez 03, 2016 1:10 am
Sab Dez 03, 2016 1:08 am
Sab Dez 03, 2016 12:58 am
Dom3000
Manawydan
Manawydan
luKkaSs
Locodapraça
debBoy
AndyShow
demetriosfernands
AndyShow
MarcosSchultz
foxtenn
leandroinforware
leandroinforware
hetrodo_gamer
hetrodo_gamer
Manawydan
kleytonpb
AndyShow
Dom3000
Callyde Jr
Matrirxp
zBanidor
MarcosSchultz
zBanidor
artplayer
MarcosSchultz
DoctorGame15
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
hetrodo_gamer
Marlonwanger
diegopds
Dom3000
joabr
natanael.olimpio
hetrodo_gamer
hetrodo_gamer
Callyde Jr
dstaroski
Dom3000
Creat Games
Dom3000
hetrodo_gamer
dimmuo
Dom3000
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
weslleyFx
weslleyFx
artplayer
Madness
weslleyFx
weslleyFx
mafipt
dimmuo
Dom3000
Dom3000
Dom3000
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas

Mensagem por MarcosSchultz em Sab Nov 22, 2014 10:13 pm

Demorou, más com algumas referencias e trechos de scripts consegui montar isto:

Código:
//Nao se esqueça de alterar os valores das variaveis na aba inspector tambem caso for alterar algum valor.

private var estaArrastando : boolean = false;
private var PlanoDeArrasto : Plane;
private var moverPara : Vector3;
var AmortecerArrasto : float = 5.0; // altere aqui para deixar o arrasto mais suave
var AdicionarEmY : float = 5.0; // altere aqui para adicionar valor no eixo Y ao controlar o rigidbody
var VelocidadeMaxima : float = 5; // altere aqui a velocidade maxima de movimento do rigidbody
function Update(){
    var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    var hit : RaycastHit;
    var distancia : float;
    if(Input.GetMouseButtonDown(0)){
        if(Physics.Raycast(ray, hit)){
            if(hit.transform.root.transform == transform){
                estaArrastando = true;
                rigidbody.useGravity = false;
                PlanoDeArrasto = new Plane(Vector3.forward, transform.position + Vector3.up * AdicionarEmY); // troque Vector3.forward por Vector3.up se nao quiser que o rigidbody consiga descer
            }
        }
    }
    if(estaArrastando){
        var hasHit = PlanoDeArrasto.Raycast(ray, distancia);
        if(hasHit){
            moverPara = ray.GetPoint(distancia);
        }
    }
    if(Input.GetMouseButtonUp(0) &&  estaArrastando){
        estaArrastando = false;
        rigidbody.useGravity = true;
    }
}
function FixedUpdate(){
    if(!estaArrastando) return;
    var velocity = moverPara - transform.position;
    rigidbody.velocity = Vector3.Lerp(rigidbody.velocity, velocity, AmortecerArrasto * Time.deltaTime);
     if(rigidbody.velocity.magnitude > VelocidadeMaxima){
                rigidbody.velocity = rigidbody.velocity.normalized * VelocidadeMaxima;
         }
}
@script RequireComponent(Rigidbody)

Coloque este script no objeto que deseja arrastar com o mouse e voala, 


você terá que ajustar as configuraçoes do seu rigidbody conforme a preferencia, massa, arrasto, etc.


Já deixei o script comentado nas partes principais para dar um melhor entendimento.



OBS: SE ESTIVER UTILIZANDO UNITY 5, USE O SCRIPT ABAIXO:


Código:
private var estaArrastando : boolean = false;
private var PlanoDeArrasto : Plane;
private var moverPara : Vector3;
var AmortecerArrasto : float = 5.0; // altere aqui para deixar o arrasto mais suave
var AdicionarEmY : float = 5.0; // altere aqui para adicionar valor no eixo Y ao controlar o rigidbody
var VelocidadeMaxima : float = 5; // altere aqui a velocidade maxima de movimento do rigidbody
function Update(){
    var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    var hit : RaycastHit;
    var distancia : float;
    if(Input.GetMouseButtonDown(0)){
        if(Physics.Raycast(ray, hit)){
            if(hit.transform.root.transform == transform){
                estaArrastando = true;
                GetComponent.<Rigidbody>().useGravity = false;
                PlanoDeArrasto = new Plane(Vector3.forward, transform.position + Vector3.up * AdicionarEmY); // troque Vector3.forward por Vector3.up se nao quiser que o rigidbody consiga descer
            }
        }
    }
    if(estaArrastando){
        var hasHit = PlanoDeArrasto.Raycast(ray, distancia);
        if(hasHit){
            moverPara = ray.GetPoint(distancia);
        }
    }
    if(Input.GetMouseButtonUp(0) &&  estaArrastando){
        estaArrastando = false;
        GetComponent.<Rigidbody>().useGravity = true;
    }
}
function FixedUpdate(){
    if(!estaArrastando) return;
    var velocity = moverPara - transform.position;
    GetComponent.<Rigidbody>().velocity = Vector3.Lerp(GetComponent.<Rigidbody>().velocity, velocity, AmortecerArrasto * Time.deltaTime);
     if(GetComponent.<Rigidbody>().velocity.magnitude > VelocidadeMaxima){
                GetComponent.<Rigidbody>().velocity = GetComponent.<Rigidbody>().velocity.normalized * VelocidadeMaxima;
         }
}
@script RequireComponent(Rigidbody)

MarcosSchultz
Administrador

Masculino PONTOS : 7171
REPUTAÇÃO : 891
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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