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:
como usar o Lookat com o addforce do rigidibody?
[MagicaVoxel] Programa de modelagem de cenários cúbicos fácil
Duvida Animation Play não faz nada
Escolher que resoluções jogo vai ter
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
Animacao2D
[____TÓPICO LIVRE____] FALE O QUE QUISER
Unity 5 Bugado
script
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Forma uma equipe
Baixar Documentaçao Unity 3D?
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?
Cryengine 3?
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] Barra de VIDA / HP contínua
[TUTORIAL] Sistema de Escada Estilo FPS
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Ideia Inovadora
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Texturas
script por favor me ajudem
Números aleatorios
Tem como saber o Tamanho do Objeto?
Banco de dados Aleatorio
Procuro desenhista para jogo 2D Pixel Art (Compra)
[Dúvida] Blender erro ao aplicar osso na mesh
[resolvido]enfiar float no UItext por script
Daria para pegar as horas do computador e por no jogo?
Gerador de Characters Autodesk Online
[JOGO DE FPS MULTIPLAYER] Alguém que saiba fazer animações na Unity 5 ou no blender :D
[LANÇADO] The Dilma
Inventario
Procuro vagas em equipes [Programador]
The Dilma - O terror da Petrobrás
Ajuda Neste Script?
Teste de usuário para um jogo
Procuro Equipe de Jogos 2D
Animações de sobra
[TUTORIAL]Singleton, A melhor forma de acessar a classe!
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
Mudança de FPS afetam a velocidade das coisas
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Problema da Conta do comerciante do developer
BUG DE VOLUME NO SCRIPT MENU DE PAUSA
controle 2D com touch ou clique do mouse
[Dúvida] MySQL. Funciona apenas no editor.
[RESOLVIDO]como acesar uma void publica pelo script e ativa-la
Active UI
Como Criar Textura De Armas
Formaçao De Equipe (FLAMEBLOOD)
Fonte Proporcional
Ativar / Desativar Varios GameObject
[Duvida] Como fazer Medkit
[RESOLVIDO]Duvida com butao UI para ativar Void
Rodando o Sul
Procuro programadores para meu projeto BR Bus
Sistema de score
Strings e quebra de texto?
Procuro programadores para meu jogo
Interação com cenário
(formação de equipe BSU 17)
Personagem
Sistema de tráfego
Hoje à(s) 10:46 pm
Hoje à(s) 10:46 pm
Hoje à(s) 10:39 pm
Hoje à(s) 10:37 pm
Hoje à(s) 10:36 pm
Hoje à(s) 10:31 pm
Hoje à(s) 10:30 pm
Hoje à(s) 10:24 pm
Hoje à(s) 10:22 pm
Hoje à(s) 10:11 pm
Hoje à(s) 9:58 pm
Hoje à(s) 12:32 pm
Hoje à(s) 11:01 am
Hoje à(s) 9:53 am
Hoje à(s) 12:25 am
Hoje à(s) 12:11 am
Hoje à(s) 12:08 am
Ontem à(s) 10:59 pm
Ontem à(s) 10:20 pm
Ontem à(s) 10:15 pm
Ontem à(s) 10:10 pm
Ontem à(s) 10:09 pm
Ontem à(s) 10:08 pm
Ontem à(s) 10:02 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:52 pm
Ontem à(s) 9:50 pm
Ontem à(s) 9:07 pm
Ontem à(s) 9:04 pm
Ontem à(s) 8:12 pm
Ontem à(s) 7:53 pm
Ontem à(s) 7:49 pm
Ontem à(s) 2:14 pm
Ontem à(s) 11:46 am
Ontem à(s) 10:53 am
Ontem à(s) 7:06 am
Qui Dez 01, 2016 10:31 pm
Qui Dez 01, 2016 9:46 pm
Qui Dez 01, 2016 6:28 pm
Qui Dez 01, 2016 5:42 pm
Qui Dez 01, 2016 4:08 pm
Qui Dez 01, 2016 4:06 pm
Qui Dez 01, 2016 3:44 pm
Qua Nov 30, 2016 10:46 pm
Qua Nov 30, 2016 10:45 pm
Qua Nov 30, 2016 10:19 pm
Ter Nov 29, 2016 7:03 pm
Ter Nov 29, 2016 6:49 pm
Ter Nov 29, 2016 11:15 am
Ter Nov 29, 2016 9:46 am
Ter Nov 29, 2016 9:13 am
Ter Nov 29, 2016 9:08 am
Ter Nov 29, 2016 5:32 am
Ter Nov 29, 2016 5:29 am
Ter Nov 29, 2016 2:13 am
Ter Nov 29, 2016 1:51 am
Ter Nov 29, 2016 1:47 am
Ter Nov 29, 2016 1:45 am
Ter Nov 29, 2016 12:42 am
Seg Nov 28, 2016 11:44 pm
Seg Nov 28, 2016 11:24 pm
Seg Nov 28, 2016 9:38 pm
Seg Nov 28, 2016 9:03 pm
Seg Nov 28, 2016 9:00 pm
Seg Nov 28, 2016 5:33 pm
Seg Nov 28, 2016 4:32 pm
Seg Nov 28, 2016 4:22 pm
Seg Nov 28, 2016 2:57 pm
Seg Nov 28, 2016 2:38 pm
Seg Nov 28, 2016 12:29 pm
Seg Nov 28, 2016 12:01 pm
Seg Nov 28, 2016 7:29 am
Seg Nov 28, 2016 6:22 am
Seg Nov 28, 2016 5:17 am
Seg Nov 28, 2016 2:06 am
Dom3000
ismarspn
kalielson
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
mafipt
dimmuo
dimmuo
Dom3000
Dom3000
Dom3000
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
AndyShow
Dom3000
edumoran
dstaroski
dstaroski
Manawydan
Dom3000
artplayer
mlmattos
rafaelllsd
weslleyFx
Extreme Craft
Édipo
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
mayokota
weslleyFx
artplayer
dimmuo
Hardencio
Hardencio
Callyde Jr
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Extreme Craft
kalielson
kalielson
artplayer
leandroinforware
leandroinforware
John Rambo
Extreme Craft
WesleyLemosLeal
Kelvyn_Feitosa
Weverton Borges da Silva
leandroinforware
mafipt
dimmuo
dstaroski
Callyde Jr
AndyShow

[TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

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

TUTORIAL [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Sab Jul 16, 2016 7:35 pm

Vídeo explicando como utilizar



Script utilizado:
Código:
using UnityEngine;
using System.Collections;
using System;

[Serializable] //www.youtube.com/marcosschultzunity e www.schultzgames.com
public class RastrVeiculo { //autoria predominante de MARCOS SCHULTZ
 [Range(0.1f,4.0f)] public float larguraDoRastro = 0.3f;
 [Range(1.0f,10.0f)] public float sensibilidade = 2.0f;
 [Range(0.1f,1.0f)]public float OpacidadePadrao = 0.7f;
 [Range(0.001f,0.1f)]public float DistanciaDoChao = 0.02f;
 public Color CorPadrao = new Color(0.15f,0.15f,0.15f,0);
 public Shader shaderDerrapagens;
 public TerrenosDiversosRastros[] OutrosTerrenos;
}
[Serializable]
public class TerrenosDiversosRastros {
 public bool rastroContinuo = false;
 public string tagChao = "chao";
 public Color corDoRastro = new Color(0.5f,0.2f,0.0f,0);
 [Range(0.1f,1.0f)]public float OpacidadeDoRastro = 0.3f;
}
[Serializable]
public class RodasVeicl {
 public _RodFrentDir RodaFrenteDir;
 public _RodFrentEsq RodaFrenteEsq;
 public _RodTrazDir RodaTrazDir;
 public _RodTrazEsq RodaTrazEsq;
 public _RodasExtraObjeto[] RodasExtraVeiculo;
}
[Serializable]
public class _RodFrentDir {
 public WheelCollider ColliderDaRoda;
 [Range(-2.0f,2.0f)] public float deslocamentoRastro = 0.0f;
 [HideInInspector] public Mesh rendSKDmarks;
 [HideInInspector] public bool gerandoRastro;
}
[Serializable]
public class _RodFrentEsq {
 public WheelCollider ColliderDaRoda;
 [Range(-2.0f,2.0f)] public float deslocamentoRastro = 0.0f;
 [HideInInspector] public Mesh rendSKDmarks;
 [HideInInspector] public bool gerandoRastro;
}
[Serializable]
public class _RodTrazDir {
 public WheelCollider ColliderDaRoda;
 [Range(-2.0f,2.0f)] public float deslocamentoRastro = 0.0f;
 [HideInInspector] public Mesh rendSKDmarks;
 [HideInInspector] public bool gerandoRastro;
}
[Serializable]
public class _RodTrazEsq {
 public WheelCollider ColliderDaRoda;
 [Range(-2.0f,2.0f)] public float deslocamentoRastro = 0.0f;
 [HideInInspector] public Mesh rendSKDmarks;
 [HideInInspector] public bool gerandoRastro;
}
[Serializable]
public class _RodasExtraObjeto {
 public WheelCollider ColliderDaRodaExtra;
 [Range(-2.0f,2.0f)] public float deslocamentoRastro = 0.0f;
 [HideInInspector] public Mesh rendSKDmarks;
 [HideInInspector] public bool gerandoRastro;
}
public class MarcasDeDerrapagem : MonoBehaviour {
 
 public RastrVeiculo RastrosDoVeiculo;
 public RodasVeicl RodasDoVeiculo;
 private float KMh;
 private bool ativarRastros;
 private Rigidbody corpoRigido;
 void Start(){
 corpoRigido = GetComponent<Rigidbody> ();
 if (RastrosDoVeiculo.shaderDerrapagens != null) {
 SetarValoresRastros ();
 ativarRastros = true;
 } else {
 ativarRastros = false;
 }
 }

 void Update(){
 KMh = corpoRigido.velocity.magnitude * 3.6f;
 }

 void LateUpdate(){
 if (ativarRastros == true) {
 ChecarChaoParaRastros ();
 }
 }

 void ChecarChaoParaRastros(){
 if (RodasDoVeiculo.RodaFrenteDir.ColliderDaRoda != null) {
 if (RodasDoVeiculo.RodaFrenteDir.ColliderDaRoda.isGrounded) {
 RodasDoVeiculo.RodaFrenteDir.gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodaFrenteDir.ColliderDaRoda, RodasDoVeiculo.RodaFrenteDir.rendSKDmarks, RodasDoVeiculo.RodaFrenteDir.gerandoRastro, RodasDoVeiculo.RodaFrenteDir.deslocamentoRastro);
 } else {
 RodasDoVeiculo.RodaFrenteDir.gerandoRastro = false;
 }
 }
 //
 if (RodasDoVeiculo.RodaFrenteEsq.ColliderDaRoda != null) {
 if (RodasDoVeiculo.RodaFrenteEsq.ColliderDaRoda.isGrounded) {
 RodasDoVeiculo.RodaFrenteEsq.gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodaFrenteEsq.ColliderDaRoda, RodasDoVeiculo.RodaFrenteEsq.rendSKDmarks, RodasDoVeiculo.RodaFrenteEsq.gerandoRastro, RodasDoVeiculo.RodaFrenteEsq.deslocamentoRastro);
 } else {
 RodasDoVeiculo.RodaFrenteEsq.gerandoRastro = false;
 }
 }
 //
 if (RodasDoVeiculo.RodaTrazDir.ColliderDaRoda != null) {
 if (RodasDoVeiculo.RodaTrazDir.ColliderDaRoda.isGrounded) {
 RodasDoVeiculo.RodaTrazDir.gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodaTrazDir.ColliderDaRoda, RodasDoVeiculo.RodaTrazDir.rendSKDmarks, RodasDoVeiculo.RodaTrazDir.gerandoRastro, RodasDoVeiculo.RodaTrazDir.deslocamentoRastro);
 } else {
 RodasDoVeiculo.RodaTrazDir.gerandoRastro = false;
 }
 }
 //
 if (RodasDoVeiculo.RodaTrazEsq.ColliderDaRoda != null) {
 if (RodasDoVeiculo.RodaTrazEsq.ColliderDaRoda.isGrounded) {
 RodasDoVeiculo.RodaTrazEsq.gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodaTrazEsq.ColliderDaRoda, RodasDoVeiculo.RodaTrazEsq.rendSKDmarks, RodasDoVeiculo.RodaTrazEsq.gerandoRastro, RodasDoVeiculo.RodaTrazEsq.deslocamentoRastro);
 } else {
 RodasDoVeiculo.RodaTrazEsq.gerandoRastro = false;
 }
 }
 //
 for (int x = 0; x < RodasDoVeiculo.RodasExtraVeiculo.Length; x++) {
 if (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRodaExtra != null) {
 if (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRodaExtra.isGrounded) {
 RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRodaExtra, RodasDoVeiculo.RodasExtraVeiculo[x].rendSKDmarks , RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro, RodasDoVeiculo.RodasExtraVeiculo [x].deslocamentoRastro);
 } else {
 RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro = false;
 }
 }
 }
 }
 private bool GerarRastroDasRodas(WheelCollider colisor, Mesh meshDaRoda, bool variavelBooleana, float deslocamentoLateral) {
 WheelHit hit;
 colisor.GetGroundHit (out hit);
 var vertices = meshDaRoda.vertices;
 var normals = meshDaRoda.normals;
 var tris = meshDaRoda.triangles;
 var colors = meshDaRoda.colors;
 var uv = meshDaRoda.uv;
 var alpha = Mathf.Abs(hit.sidewaysSlip);
 var skid = hit.sidewaysDir * RastrosDoVeiculo.larguraDoRastro / 2f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.forwardDir);
 skid -= hit.forwardDir * RastrosDoVeiculo.larguraDoRastro * 0.1f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.sidewaysDir);
 if(KMh > (75.0f/RastrosDoVeiculo.sensibilidade) && Mathf.Abs(colisor.rpm) < (3.0f / RastrosDoVeiculo.sensibilidade)){
 if (colisor.isGrounded) {
 alpha = 10;
 }
 }
 float maximaDerrapagem = 1.2f/RastrosDoVeiculo.sensibilidade;
 if (KMh < 20.0f * (Mathf.Clamp (RastrosDoVeiculo.sensibilidade, 1, 3))) {
 if (Mathf.Abs(hit.forwardSlip) > maximaDerrapagem) {
 if (colisor.isGrounded) {
 alpha = 10;
 }
 }
 }
 for (int x = 0; x < RastrosDoVeiculo.OutrosTerrenos.Length; x++) {
 string tagg = RastrosDoVeiculo.OutrosTerrenos [x].tagChao;
 if (hit.collider.gameObject.tag == tagg) {
 if (RastrosDoVeiculo.OutrosTerrenos [x].rastroContinuo == true) {
 alpha = 10;
 }
 break;
 }
 }
 if (alpha < (1 / RastrosDoVeiculo.sensibilidade)) {
 return false;
 }
 float distance = (Vector3.zero - hit.point - skid).sqrMagnitude;
 float alphaAplic = Mathf.Clamp (alpha, 0.0f, 1.0f);
 if(variavelBooleana) {
 if (distance < 0.1f) {
 return true;
 }
 Array.Resize(ref tris, tris.Length + 6);
 }
 Array.Resize(ref vertices, vertices.Length + 2);
 Array.Resize(ref normals, normals.Length + 2);
 Array.Resize(ref colors, colors.Length + 2);
 Array.Resize(ref uv, uv.Length + 2);
 var verLenght = vertices.Length;
 vertices[verLenght - 1] = hit.point + hit.normal * RastrosDoVeiculo.DistanciaDoChao - skid + hit.sidewaysDir * deslocamentoLateral;
 vertices[verLenght - 2] = hit.point + hit.normal * RastrosDoVeiculo.DistanciaDoChao + skid + hit.sidewaysDir * deslocamentoLateral;
 normals[verLenght - 1] = normals[verLenght - 2] = hit.normal;
 //
 Color corRastro = RastrosDoVeiculo.CorPadrao;
 corRastro.a = Mathf.Clamp (alphaAplic * RastrosDoVeiculo.OpacidadePadrao, 0.01f, 0.7f);
 for (int x = 0; x < RastrosDoVeiculo.OutrosTerrenos.Length; x++) {
 string tagg = RastrosDoVeiculo.OutrosTerrenos [x].tagChao;
 if (hit.collider.gameObject.tag == tagg) {
 corRastro = RastrosDoVeiculo.OutrosTerrenos [x].corDoRastro;
 corRastro.a = Mathf.Clamp (alphaAplic * RastrosDoVeiculo.OutrosTerrenos [x].OpacidadeDoRastro, 0.01f, 0.7f);
 break;
 }
 }
 colors[verLenght - 1] = colors[verLenght - 2] = corRastro;
 //

 if(variavelBooleana) {
 tris[tris.Length - 1] = verLenght - 2;
 tris[tris.Length - 2] = verLenght - 1;
 tris[tris.Length - 3] = verLenght - 3;
 tris[tris.Length - 4] = verLenght - 3;
 tris[tris.Length - 5] = verLenght - 4;
 tris[tris.Length - 6] = verLenght - 2;
 uv[verLenght - 1] = uv[verLenght - 3] + Vector2.up * distance*0.01f;
 uv[verLenght - 2] = uv[verLenght - 4] + Vector2.up * distance*0.01f;
 }
 else {
 uv[verLenght - 1] = Vector2.zero;
 uv[verLenght - 2] = Vector2.right;
 }
 meshDaRoda.vertices = vertices;
 meshDaRoda.normals = normals;
 meshDaRoda.triangles = tris;
 meshDaRoda.colors = colors;
 meshDaRoda.uv = uv;
 return true;
 }

 Mesh GerarRendRef(Material skdMaterial){
 GameObject rendRef = new GameObject("SKDMark");
 rendRef.AddComponent<MeshFilter>();
 rendRef.AddComponent<MeshRenderer>();
 rendRef.hideFlags = HideFlags.HideAndDontSave;
 rendRef.GetComponent<MeshFilter>().mesh = new Mesh();
 rendRef.GetComponent<MeshRenderer>().material = skdMaterial;
 rendRef.GetComponent<MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
 rendRef.GetComponent<MeshFilter> ().mesh.MarkDynamic ();
 return rendRef.GetComponent<MeshFilter>().mesh;
 }
 void SetarValoresRastros(){
 Material skidmarkMaterial = new Material( RastrosDoVeiculo.shaderDerrapagens );
 skidmarkMaterial.mainTexture = CriarTexturaRastros ();
 Color corRastro = RastrosDoVeiculo.CorPadrao;
 corRastro.a = RastrosDoVeiculo.OpacidadePadrao;
 skidmarkMaterial.color = corRastro;
 //
 RodasDoVeiculo.RodaFrenteDir.rendSKDmarks = GerarRendRef(skidmarkMaterial);
 RodasDoVeiculo.RodaFrenteEsq.rendSKDmarks = GerarRendRef(skidmarkMaterial);
 RodasDoVeiculo.RodaTrazDir.rendSKDmarks = GerarRendRef(skidmarkMaterial);
 RodasDoVeiculo.RodaTrazEsq.rendSKDmarks = GerarRendRef(skidmarkMaterial);
 for (int x = 0; x < RodasDoVeiculo.RodasExtraVeiculo.Length; x++) {
 RodasDoVeiculo.RodasExtraVeiculo[x].rendSKDmarks = GerarRendRef(skidmarkMaterial);
 }
 }
 public Texture CriarTexturaRastros(){
 var texture = new Texture2D(32, 32, TextureFormat.ARGB32, false);
 Color corTransparente = new Color (1.0f, 1.0f, 1.0f, 0.0f);
 for (int x = 0; x < 32; x++) {
 for (int y = 0; y < 32; y++) {
 texture.SetPixel(x, y, Color.white);
 }
 }
 for (int y = 0; y < 32; y++) {
 for (int x = 0; x < 32; x++) {
 if (y == 0 || y == 1 || y == 6 || y == 7 || y == 15 || y == 16 || y == 24 || y == 25 || y == 30 || y == 31) {
 texture.SetPixel (x, y, corTransparente);
 }
 }
 }
 for (int y = 4; y < 28; y++) {
 for (int x = 2; x < 28; x++) {
 if (y == 4 || y == 5 || y == 8 || y == 9 || y == 22 || y == 23 || y == 26 || y == 27) {
 if (x == 4 || x == 5 || x == 11 || x == 12 || x == 19 || x == 20 || x == 26 || x == 27) {
 texture.SetPixel (x, y, corTransparente);
 }
 }
 }
 }

 for (int y = 10; y < 22; y++) {
 for (int x = 2; x < 26; x++) {
 if (y == 10 || y == 11 || y == 12 || y == 13 || y == 14 || y == 17 || y == 18 || y == 19 || y == 20 || y == 21) {
 if (x == 2 || x == 3 || x == 9 || x == 10 || x == 17 || x == 18 || x == 24 || x == 25) {
 texture.SetPixel (x, y, corTransparente);
 }
 }
 }
 }
 texture.Apply();
 return texture;
 }
}

Shader utilizado(para criar um shader basta clicar com o botão direito>create>shader>standard surface shader)
Código:
Shader "Derrapagem" {
    Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
    }
    SubShader {
       Tags {
     "Queue"="AlphaTest"
     "IgnoreProjector"="True"
     "RenderType"="TransparentCutout"
     }
        LOD 200

        CGPROGRAM
        #pragma surface surf Lambert alpha
      
        sampler2D _MainTex;
 
        struct Input {
            float2 uv_MainTex;
            float4 color: Color; // Vertex color
        };
 
        void surf (Input IN, inout SurfaceOutput o) {
            half4 c = tex2D (_MainTex, IN.uv_MainTex);
            o.Albedo = c.rgb * IN.color.rgb; // vertex RGB
            o.Alpha = c.a * IN.color.a; // vertex Alpha
        }
        ENDCG
    }
}


Última edição por MarcosSchultz em Qua Ago 03, 2016 11:58 pm, editado 1 vez(es)

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por karllus250 em Sab Jul 16, 2016 9:38 pm

marcos nao conseguir 

aparece isso:

karllus250
Avançado
Avançado

Masculino PONTOS : 350
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por ScorpionG4mer em Sab Jul 16, 2016 10:38 pm

Marcos o script tá muito show, quanto mais vejo suas aulas e crio meus scripts vejo o quanto longe estou do seu nível de programação e isso é muito empolgante rsrs

ScorpionG4mer
Avançado
Avançado

Masculino PONTOS : 454
REPUTAÇÃO : 26
Áreas de atuação : Inciante no C#, Arruaceiro no Blender
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Sab Jul 16, 2016 10:55 pm

karllus250 escreveu:marcos nao conseguir 

aparece isso:

Você está jogando o shader em um shader ou está criando 2 scripts?

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Sab Jul 16, 2016 10:56 pm

ScorpionG4mer escreveu:Marcos o script tá muito show, quanto mais vejo suas aulas e crio meus scripts vejo o quanto longe estou do seu nível de programação e isso é muito empolgante rsrs
vlww Very Happy

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por karllus250 em Sab Jul 16, 2016 11:23 pm

Criando um script e um shader

karllus250
Avançado
Avançado

Masculino PONTOS : 350
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por luKkaSs em Dom Jul 17, 2016 12:40 am

nuusss que foda

luKkaSs
Avançado
Avançado

Masculino PONTOS : 412
REPUTAÇÃO : 14
Idade : 20
Áreas de atuação : Unity 3D
3DS Max
Gta3 script
C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Dom Jul 17, 2016 1:16 am

karllus250 escreveu:Criando um script e um shader

Está colocando o nome corretamente no script?

Posta print da tela toda mostrando aonde estão o script e o shader

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por higormartins em Dom Jul 31, 2016 10:46 pm

Desculpa incomodar mais deu uma treta aki ta dando esse erro se alguém souber como arruma.

Failed getting triangles. Submesh topology is lines or points.
UnityEngine.Mesh:get_triangles()
MarcasDeDerrapagem:GerarRastroDasRodas(WheelCollider, Mesh, Boolean, Single) (at Assets/Script/MarcasDeDerrapagem.cs:140)
MarcasDeDerrapagem:ChecarChaoParaRastros() (at Assets/Script/MarcasDeDerrapagem.cs:103)
MarcasDeDerrapagem:LateUpdate() (at Assets/Script/MarcasDeDerrapagem.cs:88)

higormartins
Iniciante
Iniciante

PONTOS : 217
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Dom Jul 31, 2016 11:03 pm

Você criou o shader?  linkou as rodas e o shader no script? por que o código não está achando o material das rodas.

Qual versão da Unity você está usando?

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por rafaelxd5 em Sex Set 23, 2016 9:26 pm

Eai Galera estou recebendo o seguinte erro:

"Failed getting triangles. Submesh topology is lines or points.
UnityEngine.Mesh:get_triangles()
MarcasDeDerrapagem:GerarRastroDasRodas(WheelCollider, Mesh, Boolean, Single) (at Assets/Scripts/MarcasDeDerrapagem.cs:140)
MarcasDeDerrapagem:ChecarChaoParaRastros() (at Assets/Scripts/MarcasDeDerrapagem.cs:103)
MarcasDeDerrapagem:LateUpdate() (at Assets/Scripts/MarcasDeDerrapagem.cs:88)"

Exatamente Aqui : 
Código:
private bool GerarRastroDasRodas(WheelCollider colisor, Mesh meshDaRoda, bool variavelBooleana, float deslocamentoLateral) {
 WheelHit hit;
 colisor.GetGroundHit (out hit);
 var vertices = meshDaRoda.vertices;
 var normals = meshDaRoda.normals;
 var tris = meshDaRoda.triangles; // Erro <~~~~ Aqui!
 var colors = meshDaRoda.colors;
 var uv = meshDaRoda.uv;
 var alpha = Mathf.Abs(hit.sidewaysSlip);
 var skid = hit.sidewaysDir * RastrosDoVeiculo.larguraDoRastro / 2f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.forwardDir);
 skid -= hit.forwardDir * RastrosDoVeiculo.larguraDoRastro * 0.1f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.sidewaysDir);
 if(KMh > (75.0f/RastrosDoVeiculo.sensibilidade) && Mathf.Abs(colisor.rpm) < (3.0f / RastrosDoVeiculo.sensibilidade)){
 if (colisor.isGrounded) {
 alpha = 10;
 }
 }

Não estou conseguindo resolver.Esse erro não para o Jogo mas causa um pouco de lag. (Unity Version : 5.1.2F1)

rafaelxd5
Membro
Membro

Masculino PONTOS : 351
REPUTAÇÃO : 6
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por MarcosSchultz em Dom Set 25, 2016 5:45 pm

rafaelxd5 escreveu:Eai Galera estou recebendo o seguinte erro:

"Failed getting triangles. Submesh topology is lines or points.
UnityEngine.Mesh:get_triangles()
MarcasDeDerrapagem:GerarRastroDasRodas(WheelCollider, Mesh, Boolean, Single) (at Assets/Scripts/MarcasDeDerrapagem.cs:140)
MarcasDeDerrapagem:ChecarChaoParaRastros() (at Assets/Scripts/MarcasDeDerrapagem.cs:103)
MarcasDeDerrapagem:LateUpdate() (at Assets/Scripts/MarcasDeDerrapagem.cs:88)"

Exatamente Aqui : 
Código:
private bool GerarRastroDasRodas(WheelCollider colisor, Mesh meshDaRoda, bool variavelBooleana, float deslocamentoLateral) {
 WheelHit hit;
 colisor.GetGroundHit (out hit);
 var vertices = meshDaRoda.vertices;
 var normals = meshDaRoda.normals;
 var tris = meshDaRoda.triangles; // Erro <~~~~ Aqui!
 var colors = meshDaRoda.colors;
 var uv = meshDaRoda.uv;
 var alpha = Mathf.Abs(hit.sidewaysSlip);
 var skid = hit.sidewaysDir * RastrosDoVeiculo.larguraDoRastro / 2f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.forwardDir);
 skid -= hit.forwardDir * RastrosDoVeiculo.larguraDoRastro * 0.1f * Vector3.Dot(colisor.attachedRigidbody.velocity.normalized, hit.sidewaysDir);
 if(KMh > (75.0f/RastrosDoVeiculo.sensibilidade) && Mathf.Abs(colisor.rpm) < (3.0f / RastrosDoVeiculo.sensibilidade)){
 if (colisor.isGrounded) {
 alpha = 10;
 }
 }

Não estou conseguindo resolver.Esse erro não para o Jogo mas causa um pouco de lag. (Unity Version : 5.1.2F1)

Este erro não faz sentido, os componentes são gerados no script O.o

Você está linkando os objetos corretamente no script? sem faltar nenhum?

Ahh, tente atualizar a sua Unity para 5.3 ou superior... muitas coisas foram corrigidas.

MarcosSchultz
Administrador

Masculino PONTOS : 7132
REPUTAÇÃO : 878
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

TUTORIAL Re: [TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)

Mensagem por Sansão em Ter Nov 15, 2016 5:04 pm

karllus250 escreveu:marcos nao conseguir 

aparece isso:
Cara já solucionou o caso???
Achei a resposta voce ta esquecendo de arrumar no começo do script coloque isso:
     public class RastrVeiculo : MonoBehaviour {

Sansão
Iniciante
Iniciante

PONTOS : 81
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

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