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:
[____ADMINISTRADOR OFFLINE____]
[DÚVIDA] ANIMAÇÕES DA ARMA
[Parceria] Parceria com meu fórum
Menu principal
[2d] Pistola Usp-s (CSGO) vetorizada em 2d
alguem tem um modelo 3d de arvore realista
Vídeo - RPG - DEMO de uma parte do mapa + Vegetação
FPS MULTIPLAYER (PHOTON) : Salas não aparecem para os outros jogadores.
Como usar o GetButton(¨Vertical¨) e o GetButton(¨Horizontal¨)
Virtual joystick controle para movimentar personagem
Atualização 0.0.1.0 Do meu rpg cartoon . Deem suas opnioes
[_____CRONOGRAMA (ASSET DE VEÍCULOS)_____]
[Ajuda "Rec" na unity]
TROCAR RODAS DO CARRO NA OFICINA
[Em teste] Jogo Fps sem nome :/
Como Posso Fazer isto ? Marco Uma Toggle no Canvas e um Mesh Seja ativado ?
[Duvida] Criei um script para rotacionar e andar e deu ruin.
character collide
-[ALGUEM SABE ALGUM ASSETS OU TENHA ALGUMA PASTA QUE TENHA AUDIOS CAR?]-
Duvida personagem ao passar certo ponto quero q um objeto suma e outro apareça.
(Pedido) Presciso de Um Script q quando eu Chegar em Um Local a camera alterar !
[Duvida] Rotate e RigidBody e Carro Andando de Lado.
[Dúvida] - Rotacionar a camera com touch screen
Deixar cenário 2d Totalmente escuro
Mirar e atirar na posiçao do mouse?
[TUTORIAL] Multiplicador de inimigos
MOVIMENTAÇÃO DE TANK DE GUERRA UNITY 3D
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
[RESOLVIDO] Ponteiro do mouse
Script de Spawn Aleatório
Salvar vida do player por tempo
To string return
programa que cria automaticamente Mapas com vegetacao
alguem sabe como eu posso colocar um joystick para mover a camera
O que está errado neste script ?
[TUTORIAL] Sistema COMPLETO de câmeras
[Modelo]Deem uma julgada ae garotada!
Reviver o Car Town EX
[Votação] Mira jogo fps ;-; [Terminada]
alguem sabe por que ta acontecendo isso com a minha unity
Script de seleção de player deu erro no UI
[RESOLVIDO] Como usar LookAt em apenas um eixo?
[AWP CS-GO] A PEDIDO DE UM Fã MEU
Mecanismo dos jogos da LEGO (troca de personagens)
Motivacional
DirectX ou Vulkan?
[Tutoria] Pegar item no chao. [Corrigido]
Galera?, Vamos Trocar umas Musicas Favoritas?
[Duvida]Como fazer um objeto Filho de outro
[Duvidas Com Arrays]
Como mudar o prefab do network por meio de uma UI
apagar posicoes ao morrer
Problema em criar tiros múltiplos
[____TÓPICO LIVRE____] FALE O QUE QUISER
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Mira de Third Person Shooter
NavMeshAgent não aparece no script
AI simples inimiga
Criar jogo estilo clash of clans
Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
[Ajuda] Third Person subir degrau
Script para sistema de genética
Adicionar arma em uma animação do Mixamo
Meu rpg Lendarios
[Duvida]Centralizar Cursor
[TUTORIAL] SISTEMA DE TREM.
[Modelo 3d] Machadinha
Enabling or adding a Renderer during rendering; this is not allowed
[TUTORIAL] Importando animação do mixamo para Unity3d.
Dúvidas na estrutura de puzzle.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Alguem que Conhece boas musicas para um game de suspense
É possivel aumentar a renderização de distancia da câmera?
Trocar Position Por Rotation
[RESOLVIDO] Script mira mouse?
Check-in no facebook dentro da Unity
[TUTORIAL] Sistema de escolha de personagens
[Socorro] Deu Um Erro Aqui e Eu Acho q Fiz Tudo Certo.
[Asset] Efeitos Realistas Pack V3 + Download
[Duvida]Como pegar todos os arquivos de uma pasta.
Tutorial PassarValor entre Scenas
Modelo HK SL8 (arma)
Compilar para Android
Problema com script para joystick virtual
CÂMERA ORBITAL PARA ANDROID
Mudar de cana ao clicar numa tecla
Pack de arvores Lowpoly
[TUTORIAL] Banco de dados || MySQL
Preciso de integrantes!
problema para acessar arquivos da pasta StreamingAssets
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Cenários Espaciais vs Escala
RESTAURAR A POSIÇÃO DO CARRO
-[COMO FAÇO O TOUCH PAD DO UNITY MOVER MINHA CAMERA?]-
-[ COMO FAÇO PARA MOVER UM OBJ NO EIXO "Y" COM UM BOTÃO? ]-
Spotlight Otimizada para Android
Modelo AK-12 (Arma)
Clicar no botão
Alguém pode me indicar um site de tutorial de c# sem ser em videos
Hoje à(s) 7:13 am
Hoje à(s) 6:05 am
Hoje à(s) 4:39 am
Hoje à(s) 4:08 am
Hoje à(s) 4:02 am
Hoje à(s) 4:00 am
Hoje à(s) 3:57 am
Hoje à(s) 3:53 am
Hoje à(s) 3:49 am
Hoje à(s) 3:22 am
Hoje à(s) 3:15 am
Hoje à(s) 3:09 am
Ontem à(s) 11:40 pm
Ontem à(s) 10:19 pm
Ontem à(s) 10:03 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:48 pm
Ontem à(s) 8:45 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:42 pm
Ontem à(s) 7:26 pm
Ontem à(s) 1:20 pm
Ontem à(s) 12:51 pm
Ontem à(s) 12:06 pm
Ontem à(s) 12:02 pm
Ontem à(s) 10:14 am
Ontem à(s) 7:23 am
Ontem à(s) 7:21 am
Ontem à(s) 5:51 am
Ontem à(s) 4:46 am
Ontem à(s) 12:24 am
Qua Abr 26, 2017 11:05 pm
Qua Abr 26, 2017 10:35 pm
Qua Abr 26, 2017 9:23 pm
Qua Abr 26, 2017 9:14 pm
Qua Abr 26, 2017 6:53 pm
Qua Abr 26, 2017 5:55 pm
Qua Abr 26, 2017 5:53 pm
Qua Abr 26, 2017 5:05 pm
Qua Abr 26, 2017 2:27 pm
Qua Abr 26, 2017 1:55 pm
Qua Abr 26, 2017 1:20 pm
Qua Abr 26, 2017 1:18 pm
Qua Abr 26, 2017 1:17 pm
Qua Abr 26, 2017 6:42 am
Ter Abr 25, 2017 10:07 pm
Ter Abr 25, 2017 9:57 pm
Ter Abr 25, 2017 9:55 pm
Ter Abr 25, 2017 9:33 pm
Ter Abr 25, 2017 9:05 pm
Ter Abr 25, 2017 8:29 pm
Ter Abr 25, 2017 5:52 pm
Ter Abr 25, 2017 1:55 pm
Ter Abr 25, 2017 12:26 pm
Ter Abr 25, 2017 12:24 pm
Ter Abr 25, 2017 9:53 am
Ter Abr 25, 2017 7:46 am
Ter Abr 25, 2017 12:40 am
Seg Abr 24, 2017 9:55 pm
Seg Abr 24, 2017 8:29 pm
Seg Abr 24, 2017 8:04 pm
Seg Abr 24, 2017 4:44 pm
Seg Abr 24, 2017 4:22 pm
Seg Abr 24, 2017 12:51 pm
Seg Abr 24, 2017 9:52 am
Seg Abr 24, 2017 9:50 am
Seg Abr 24, 2017 1:06 am
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 9:21 pm
Dom Abr 23, 2017 8:56 pm
Dom Abr 23, 2017 8:49 pm
Dom Abr 23, 2017 8:39 pm
Dom Abr 23, 2017 8:20 pm
Dom Abr 23, 2017 7:24 pm
Dom Abr 23, 2017 6:19 pm
Dom Abr 23, 2017 6:10 pm
Dom Abr 23, 2017 5:12 pm
Dom Abr 23, 2017 3:52 pm
Dom Abr 23, 2017 2:25 pm
Dom Abr 23, 2017 2:23 pm
Dom Abr 23, 2017 12:06 pm
Dom Abr 23, 2017 11:47 am
Dom Abr 23, 2017 10:54 am
Dom Abr 23, 2017 9:28 am
Dom Abr 23, 2017 2:07 am
Sab Abr 22, 2017 10:38 pm
Sab Abr 22, 2017 7:22 pm
Sab Abr 22, 2017 5:17 pm
Sab Abr 22, 2017 5:00 pm
Sab Abr 22, 2017 4:56 pm
Sab Abr 22, 2017 3:31 pm
Sab Abr 22, 2017 3:27 pm
Sab Abr 22, 2017 2:09 pm
Sab Abr 22, 2017 11:22 am
Sab Abr 22, 2017 11:19 am
Sab Abr 22, 2017 11:10 am
dstaroski
Gabriel César O
LucasPettine
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Madness
wender
PauloFR
PauloFR
DuViDoSo34
PauloFR
PauloFR
PauloFR
nicolasfive
rafaelllsd
marcos4503
IanLuan
rafaelllsd
Callyde Jr
IanLuan
sabbath
GloryGames
GloryGames
Callyde Jr
maikonluis
artplayer
Gabriel César O
Lando
silva75
DuViDoSo34
thiagograssi
PauloFR
rafaelllsd
IanLuan
916anderson
DuViDoSo34
IanLuan
HeF Software
Moa
DuViDoSo34
Weverton Borges da Silva
John Rambo
John Rambo
thzin
bravoent
JailtonUnity
Mic4el
GameS DoG
Callyde Jr
xXGianlucksXx
dstaroski
dstaroski
916anderson
Zecandy
DuViDoSo34
lelouchsdky
zZAndersonZz
DuViDoSo34
rafaelllsd
PauloFR
dstaroski
Hardencio
hbesm
cody0033
DuViDoSo34
Eric Vinicius
HeF Soft
Callyde Jr
Hardencio
HeF Soft
DuViDoSo34
weslleyFx
Matrirxp
Callyde Jr
DuViDoSo34
Ále Kauvy
dstaroski
HeF Soft
dstaroski
Mic4el
NyanHeavyBR
cody0033
erick.q.faria
MarcosSchultz
JohnSantosGamer
rafaelllsd
MrTFGamer1
MrTFGamer1
IanLuan
DuViDoSo34
weslleyFx
weslleyFx

[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,6.0f)] public float larguraDoRastro = 0.3f;
 [Range(1.0f,10.0f)] public float sensibilidade = 2.0f;
 [Range(0.1f,1.0f)]public float OpacidadePadrao = 1.0f;
 [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;
 [Space(10)]
 [Range(0.0f,1.0f)]public float intensidadeNormalMap = 0.7f;
 [Range(0.0f,1.0f)]public float smoothness = 0.0f;
 [Range(0.0f,1.0f)]public float metallic = 0.0f;
 [Space(10)]
 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.8f;
}
[Serializable]
public class RodasVeicl {
 public _ClasseRoda RodaFrenteDir;
 public _ClasseRoda RodaFrenteEsq;
 public _ClasseRoda RodaTrazDir;
 public _ClasseRoda RodaTrazEsq;
 public _ClasseRoda[] RodasExtraVeiculo;
}
[Serializable]
public class _ClasseRoda {
 public WheelCollider ColliderDaRoda;
 [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;
 private Vector3[] last = new Vector3[54];

 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,0);
 } 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,1);
 } 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,2);
 } 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,3);
 } else {
 RodasDoVeiculo.RodaTrazEsq.gerandoRastro = false;
 }
 }
 //
 for (int x = 0; x < RodasDoVeiculo.RodasExtraVeiculo.Length; x++) {
 if (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRoda != null) {
 if (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRoda.isGrounded) {
 RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro = GerarRastroDasRodas (RodasDoVeiculo.RodasExtraVeiculo [x].ColliderDaRoda, RodasDoVeiculo.RodasExtraVeiculo[x].rendSKDmarks , RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro, RodasDoVeiculo.RodasExtraVeiculo [x].deslocamentoRastro,(x+4));
 } else {
 RodasDoVeiculo.RodasExtraVeiculo[x].gerandoRastro = false;
 }
 }
 }
 }
 private bool GerarRastroDasRodas(WheelCollider colisor, Mesh meshDaRoda, bool variavelBooleana, float deslocamentoLateral, int indiceLastMark) {
 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 = (last[indiceLastMark] - hit.point - skid).sqrMagnitude;
 float alphaAplic = Mathf.Clamp (alpha, 0.0f, 1.0f);
 if(variavelBooleana) {
 if (distance < 0.04f) {
 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, 1.0f);
 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, 1.0f);
 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.right * distance*0.01f;
 uv[verLenght - 2] = uv[verLenght - 4] + Vector2.right * distance*0.01f;
 }
 else {
 uv[verLenght - 1] = Vector2.zero;
 uv[verLenght - 2] = Vector2.up;
 }
 last[indiceLastMark] = vertices [vertices.Length - 1];
 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 ();
 skidmarkMaterial.SetTexture ("_NormalMap", CriarNormalMapRastros ());
 skidmarkMaterial.SetFloat ("_NormFactor", RastrosDoVeiculo.intensidadeNormalMap);
 skidmarkMaterial.SetFloat ("_Glossiness", RastrosDoVeiculo.smoothness);
 skidmarkMaterial.SetFloat ("_Metallic", RastrosDoVeiculo.metallic);
 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 corTransparente1 = new Color (1.0f, 1.0f, 1.0f, 0.15f);
 Color corTransparente2 = new Color (1.0f, 1.0f, 1.0f, 0.6f);
 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 == 30 || y == 31) {
 texture.SetPixel (x, y, corTransparente1);
 }
 if (y == 6 || y == 7 || y == 15 || y == 16 || y == 24 || y == 25) {
 texture.SetPixel (x, y, corTransparente2);
 }
 }
 }
 texture.Apply();
 return texture;
 }
 public Texture CriarNormalMapRastros(){
 var texture = new Texture2D(32, 32, TextureFormat.ARGB32, false);
 Color corTransparente1 = new Color (0.0f, 0.0f, 0.0f, 0.5f);
 Color corTransparente2 = new Color (0.0f, 0.0f, 0.0f, 1.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 == 30 || y == 31) {
 texture.SetPixel (x, y, corTransparente1);
 }
 if (y == 6 || y == 7 || y == 15 || y == 16 || y == 24 || y == 25) {
 texture.SetPixel (x, y, corTransparente2);
 }
 }
 }
 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 ("Albedo (RGB)", 2D) = "white" {}
 _NormalMap("NormalMap", 2D) = "bump" {}
 _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
        _NormFactor ("Normal Strength", Range (0,1)) = 1
 }
 SubShader {
 Tags {
 "Queue"="Transparent"
     "RenderType"="Transparent"
 }
 LOD 200
 CGPROGRAM
 #pragma surface surf Standard fullforwardshadows alpha:fade
        #pragma target 3.0

 sampler2D _MainTex;
 sampler2D _NormalMap;
 half _NormFactor;

 struct Input {
 float2 uv_MainTex;
 float2 uv_NormalMap;
            float4 colorr: COLOR;
 };

 half _Glossiness;
 half _Metallic;

 void surf (Input IN, inout SurfaceOutputStandard o) {
 half4 c = tex2D (_MainTex, IN.uv_MainTex) * IN.colorr;
 o.Albedo = c.rgb * IN.colorr.rgb;;
 o.Normal = UnpackScaleNormal (tex2D (_NormalMap, IN.uv_NormalMap),_NormFactor);
 o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
 o.Alpha = c.a * IN.colorr.a;
 }
 ENDCG
 }
 FallBack "Diffuse"
}


Última edição por MarcosSchultz em Sex Fev 03, 2017 1:33 am, editado 6 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 : 495
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 : 624
REPUTAÇÃO : 32
Á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?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 : 495
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
avatar
luKkaSs
MembroAvançado

Masculino PONTOS : 579
REPUTAÇÃO : 16
Idade : 21
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
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 : 362
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?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 : 496
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.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 6: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 : 226
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 Qui Fev 02, 2017 5:50 pm

Script atualizado... 3 bugs corrigidos
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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 Sex Fev 03, 2017 1:16 am

Código atualizado novamente... agora temos um shader novo e o script gera um normalMap para as marcas de derrapagem Very Happy

Também foram incrementados os efeitos de smoothness e Metallic
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
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