[PEDIDOS DE TUTORIAIS]
+67
trutamaster
FelipeSouza11
Extreme Craft
hulkg3x
PatifeCraft
Phph09
Regis garcia
dazentt55
Diego Felix
Édipo
thzin
Unoog
dipode
Gabriel César O
HimorriveL
joaogabrielfer
jhonescarneiro
Will
adriell
ediltongamelack
Callyde Jr
dbzronaldo
lostwins
Eduardoro39
Sheyk
artplayer
danyllo106
Dants
WerehogGamer
kpucho
karllus250
RenanMSV
MarcosSchultz
Guilherme_cj852
Fernando Thomazi
Chilinger
kalielson
JohnSantos
JohnRambo
JohnnyKills
NotoriousDev
simaomenezes
ScorpionG4mer
faustogomes
Budyw
LonelyGamingBr
mrariel2011
Pedro Lorenzon
daviinsanity
sabbath
LuizArruda
luKkaSs
Mattheus
LegendGames
hellkiller
anizioNoob
Joaogabrielf13
rafaelllsd
Osyris Games©
Dimas Heitor
Santiago Furtado
MAURICIO LOPES
HeaTom
Alvaro Iankoski
Lucas Garcia Frade
JustBring
bruninnho
71 participantes
Página 1 de 3
Página 1 de 3 • 1, 2, 3
[PEDIDOS DE TUTORIAIS]
Estou criando este tópico para que membros possam " pedir " tutoriais
Conforme a complexidade dos tutoriais irei faze-los.
Podem ser tutoriais de qualquer tipo, sobre funçoes, sistemas de lanterna por ex, etc, etc. Sistemas mais simples eu irei elaborar e postar no dia mesmo. Sistemas um pouco mais complexos provavelmente eu irei fazer em uma cena separado, para depois postar aqui para download.
Estou aceitando pedidos, podem mandar.
Conforme a complexidade dos tutoriais irei faze-los.
Podem ser tutoriais de qualquer tipo, sobre funçoes, sistemas de lanterna por ex, etc, etc. Sistemas mais simples eu irei elaborar e postar no dia mesmo. Sistemas um pouco mais complexos provavelmente eu irei fazer em uma cena separado, para depois postar aqui para download.
Estou aceitando pedidos, podem mandar.
Última edição por MarcosSchultz em Qui Jun 02, 2016 3:32 pm, editado 1 vez(es)
Re: [PEDIDOS DE TUTORIAIS]
Como faço para o jogo ter um objetivo e alterar o cenario(e ir para o próximo objetivo) assim que o player completar o objetivo.
Exemplo: Pegar a chave na sala da diretoria.
Exemplo: Pegar a chave na sala da diretoria.
bruninnho- Iniciante
- PONTOS : 3492
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Com variaveis booleanas e variaveis estáticas. por ex:
você cria uma variavel estatica do tipo boolean em um objeto
e neste mesmo script você coloca um comando para se você entrar no colisor do objeto você pegar este objeto, com este trecho de script
isto desativará o objeto e deixará a variavel true para ir para a proxima missão
para " checar " esta variavel em um outro script você terá que usar de variaveis estaticas, como mostro neste tutorial:
https://www.schultzgames.com/t15-tutorial-acessar-variaveis-de-outros-scripts-variaveis-estaticas
usando variáveis estaticas você pode setar uma missão na tela, com o GUI.Label, por ex:
Dá para usar outros metodos para fazer a quest aparecer, más este é um deles.
o resto agora vai depender do que exatamente você está planejando fazer....
você cria uma variavel estatica do tipo boolean em um objeto
- Código:
public static bool JaFezAQuest;
e neste mesmo script você coloca um comando para se você entrar no colisor do objeto você pegar este objeto, com este trecho de script
- Código:
void OnTriggerEnter (){
JaFezAQuest = true;
gameObject.SetActive(false);
}
isto desativará o objeto e deixará a variavel true para ir para a proxima missão
para " checar " esta variavel em um outro script você terá que usar de variaveis estaticas, como mostro neste tutorial:
https://www.schultzgames.com/t15-tutorial-acessar-variaveis-de-outros-scripts-variaveis-estaticas
usando variáveis estaticas você pode setar uma missão na tela, com o GUI.Label, por ex:
- Código:
void OnGUI () {
if(NomeDoPrimeiroScript.JaFezAQuest == false){
GUI.Label (new Rect (Screen.width/2-50,Screen.height/2-25,100,50), "Ache uma chave");
}
if(NomeDoPrimeiroScript.JaFezAQuest == true){
GUI.Label (new Rect (Screen.width/2-50,Screen.height/2-25,100,50), "Faça outra coisa");
}
Dá para usar outros metodos para fazer a quest aparecer, más este é um deles.
o resto agora vai depender do que exatamente você está planejando fazer....
Re: [PEDIDOS DE TUTORIAIS]
Obrigado, na realidade tenho em mente um jogo estilo Outlast, por isso estou tentando aprender a mexer no Unity e a formar uma equipe. porém, de que me adianta ter uma equipe, sendo que não sei mexer muito bem
bruninnho- Iniciante
- PONTOS : 3492
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
então fera eu gostaria pedir 1 sistema de ''inventario'' para carregar os X objetos que vai ter pelo jogo(unity 5)
JustBring- Iniciante
- PONTOS : 3284
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Um sistema de inventario é uma boa, por exemplo quando eu encosto na madeira que foi dropada de uma arvore ela recebe um Destroy e aparece no inventario...
Lucas Garcia Frade- Avançado
- PONTOS : 3593
REPUTAÇÃO : 9
Idade : 22
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
uhum exatamente ja procurei por tudo.achei muita gente usando,mais não achei como adicionar ele
JustBring- Iniciante
- PONTOS : 3284
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
como eu faço pra ter um limite de pilhas coletadas na minha lanterna??
e dificuldades tbm?? se n for muito dificil. se nao só o limite de pilhas obg..
ex:
no facil eu posso ter 10 pilhas no maximo.
no medio eu posso 5 pilhas.
e no dificil eu posso 2 pilhas.
e dificuldades tbm?? se n for muito dificil. se nao só o limite de pilhas obg..
ex:
no facil eu posso ter 10 pilhas no maximo.
no medio eu posso 5 pilhas.
e no dificil eu posso 2 pilhas.
Alvaro Iankoski- Iniciante
- PONTOS : 3314
REPUTAÇÃO : 0
Idade : 27
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Alvaro, básicamente eu teria que reformular o sistema de pilhas para em vez da pilha atuar já sobre a lanterna, ela atuar sobre uma lista e a lista atuar sobre a lanterna...
Re: [PEDIDOS DE TUTORIAIS]
pode fazer isso para mim? eu sou meio noob. n sei muito bem como fazer isso.
Alvaro Iankoski- Iniciante
- PONTOS : 3314
REPUTAÇÃO : 0
Idade : 27
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
você está se baseando na série de terror ou no tutorial da lanterna em separado?
Re: [PEDIDOS DE TUTORIAIS]
me basiei no sistema de lanternas da serie de terror. pois achei melhor e mais simples. ...
Alvaro Iankoski- Iniciante
- PONTOS : 3314
REPUTAÇÃO : 0
Idade : 27
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Olá a todos, sou novo aqui o/
Gostaria de fazer um pedido.
queria aprender a fazer animações simultâneas em um unico personagem.
ex: enquanto preciono o 'W' pra andar ele faz a animação 'andando';
e se eu apertar o botão 'ataque' ele fazer a animação 'atacando' enquanto faz a animação 'andando'.
(tipo armatures separados)
será q expliquei certo ?!
é isso q gostaria de saber. Obrigado.
Gostaria de fazer um pedido.
queria aprender a fazer animações simultâneas em um unico personagem.
ex: enquanto preciono o 'W' pra andar ele faz a animação 'andando';
e se eu apertar o botão 'ataque' ele fazer a animação 'atacando' enquanto faz a animação 'andando'.
(tipo armatures separados)
será q expliquei certo ?!
é isso q gostaria de saber. Obrigado.
HeaTom- Iniciante
- PONTOS : 3285
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
OI EU QUERI SABER SE DA PARA CRIAR UM PESONAGEN DE UM TANQUE DE GUERRA?
MAURICIO LOPES- Iniciante
- PONTOS : 3282
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
OI EU NAO SEI COMO IMPORTAR COISAS,TEXTURAS E OUTRAS FERRAMENTAS PODE FAZER UM TUTORIAL COMO FASO PARA ACRESENTAR TEXTURAS?
MAURICIO LOPES- Iniciante
- PONTOS : 3282
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Meu pedido acredito que seja simples: sempre que iniciar uma cena (scene) ou fase do game, o mesmo começar com uma mensagem de texto em letras grandes, com uma escolha de fonte específica, no centro da tela, que aparece em fade in e desaparece em fade out, depois de alguns segundos. Minha ideia é marcar os Capítulos (ex: "Capitulo 1 - O Mal Está Lá Fora") Grato pela atenção.
Re: [PEDIDOS DE TUTORIAIS]
Marcos,faz um tutor pra min de um sistema de coletar agua
Santiago Furtado- MembroAvançado
- PONTOS : 3549
REPUTAÇÃO : 16
Idade : 22
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Marcos, gostaria de saber como eu faço pra quebrar objetos como caixas, vasos e vidros. Um exemplo que achei interessante foi a caixa sendo destruída no vídeo "O terror está de volta" do seu canal do youtube.
Dimas Heitor- Iniciante
- PONTOS : 3331
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
o meu pedido é : como fazer roupa com simulaçao cloth para personagem
Osyris Games©- Iniciante
- PONTOS : 3053
REPUTAÇÃO : 0
Idade : 24
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Meu pedido, é como fazer uma granada que diminui a vida do inimigo devido a distancia dele, estilo fps.
rafaelllsd- ProgramadorMaster
- PONTOS : 5055
REPUTAÇÃO : 507
Idade : 23
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
rafaelllsd escreveu:Meu pedido, é como fazer uma granada que diminui a vida do inimigo devido a distancia dele, estilo fps.
Clothes basta pesquisar no canal do marcos. Tem la um video. E tantos outros
Quanto a granada:
- Código:
public GameObject Granada;
public float distanciaMinima;
private float danoMaximo;
//distancia minima eh distancia total de dano em radius.
void Start(){
danoMaximo = distanciaMinima;
}
void Update(){
if (granada.Explodiu){
if (Vector3.distance(gameObject.transform,Granada.transform) < distanciaMinima){
float danofinal = Vector3.distance(gameObject.transform,Granada.transform) - danoMaximo);
life-=danofinal;
}
}
}
Granada:
- Código:
public bool Explodiu;
void Start(){
Invoke("Explodir",5000)";
}
void Explodir(){
Explodiu = true;
CancelInvoke("Explodir");
// ative a explosao visual aqui
}
Ele tira 1 de dano pra cada unidade longe da granada. Pode multiplicar esse dano final por 2,3 para aumentar se quiser.
Mais ou menos assim. Adapte ao seu projeto. Nao to com o unity aberto talvez tenha erros de digitacao.
RenanMSV- Instrutor
- PONTOS : 4297
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Sera que alguém,por gentileza, pode fazer um tutorial sobre personagens começarem bloqueados e de acordo com o que fazemos no jogo vamos desbloqueando? Ex: Eu tenho um personagem bloqueado, e caso eu, sei lá, mate tantos inimigos, ai o personagem é desbloqueado. Obrigado.
Joaogabrielf13- Avançado
- PONTOS : 3409
REPUTAÇÃO : 7
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
alguem ensina como fazer alguem montar os scrips do marcos e me enviar pelo web skype pa usa no meu game
tou falano sério enquanto eu não consigo montar os script
tou falano sério enquanto eu não consigo montar os script
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Para criarmos um script de bloquear um inimigo e algo tão simples que nem precisaria de tutorial.
Basta vc fazer tipo contadores e usar o setactive dependendo da forma que vc quer.
Crie um topico e digas o que vc quer mais ou menos..
Quanto ao anizionoob, n entendi nada, vc esta procurando um programador?vc n entende os scripts?, fale melhor n entendi..
Basta vc fazer tipo contadores e usar o setactive dependendo da forma que vc quer.
Crie um topico e digas o que vc quer mais ou menos..
Quanto ao anizionoob, n entendi nada, vc esta procurando um programador?vc n entende os scripts?, fale melhor n entendi..
hellkiller- Mestre
- PONTOS : 3867
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Tutorial de fazer um multiplayer local tipo minecraft
sei q deve ser complicado mas se me ajudarem agradeço muito
sei q deve ser complicado mas se me ajudarem agradeço muito
LegendGames- Membro
- PONTOS : 3056
REPUTAÇÃO : 6
Idade : 23
Áreas de atuação : programação
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Quanto ao multiplayer,
Essa serie aqui é antiga, mais acredito que com modificações e trabalho duro, vc ira conseguir.
https://www.youtube.com/playlist?list=PLgecLxzHBSbPArLMP3cbiJkRBp7UYATRv
Essa serie aqui é antiga, mais acredito que com modificações e trabalho duro, vc ira conseguir.
https://www.youtube.com/playlist?list=PLgecLxzHBSbPArLMP3cbiJkRBp7UYATRv
hellkiller- Mestre
- PONTOS : 3867
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Obrigado
LegendGames- Membro
- PONTOS : 3056
REPUTAÇÃO : 6
Idade : 23
Áreas de atuação : programação
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Inimigos? Mas eu falo de personagens começarem bloqueados, exemplo, na tela de escolha de personagens, alguns estarem bloqueados, e ai dependendo do que fizer no jogo, ai ele é desbloqueado e pode ser escolhido.
Joaogabrielf13- Avançado
- PONTOS : 3409
REPUTAÇÃO : 7
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Isso e simples se vc quiser simplesmente bloqueados, e so n ativar o botão escolher(dependendo do jogo)ou desativar ele, o negocio dos inimigos e so um exemplo.
Basta vc ir salvando entre a cenas com o PlayerPrefs.
Se for tipo o numero de inimigos mortes para desbloquear os personagens, vc pode conta-los e salva-los com playerprefs.
E verifica-los na cena de escolher, e algo muito simples!
Basta vc ir salvando entre a cenas com o PlayerPrefs.
Se for tipo o numero de inimigos mortes para desbloquear os personagens, vc pode conta-los e salva-los com playerprefs.
E verifica-los na cena de escolher, e algo muito simples!
hellkiller- Mestre
- PONTOS : 3867
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Galera, se eu baixar um asset pirateado, sendo que ele é pago na asset store, e usar em um jogo que eu fizer. Eu posso ter complicações? Tipo um personagem ou um carro ou um mapa com casa e tudo.
Mattheus- Iniciante
- PONTOS : 3051
REPUTAÇÃO : 0
Idade : 26
Respeito as regras :
hellkiller- Mestre
- PONTOS : 3867
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Faz um tutorial ensinando com fazer um sistema de Characters Controller tipo o gta 4 :bounce:
Última edição por luKkaSs em Sáb Mar 19, 2016 12:23 am, editado 1 vez(es)
luKkaSs- MembroAvançado
- PONTOS : 3166
REPUTAÇÃO : 19
Idade : 28
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
preciso de um programador
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Para quem está se perguntando se algum tutorial daqui vai sair, a resposta é sim...
Está demorando por que estou a mais de 2 meses desenvolvendo um asset de veículos, e isto está atrasando muita coisa
Está demorando por que estou a mais de 2 meses desenvolvendo um asset de veículos, e isto está atrasando muita coisa
Re: [PEDIDOS DE TUTORIAIS]
marcos vc é foda tudo em sua volta é foda então pode trasferir sua fodisse pa mim uns 2% pelo skype anizio123
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
hellkiller escreveu:Depende, se seu jogo for pago ou n, ou se os cara permite!
Se é pirata logicamente seria sem permissao. Mais como assim depende? Se meu jogo for pago por exemplo.. Como fica?
Mattheus- Iniciante
- PONTOS : 3051
REPUTAÇÃO : 0
Idade : 26
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
tutorial ensinando SSRR Beta seria uma otima
LuizArruda- Iniciante
- PONTOS : 3006
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
quero saber como usa o makehuman um tuto completo
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Galera eu gostaria de um tutorial completo sobre network, abordando os novos conceitos da versão 5+, e mostrando o usa do networkserver e cliente, networktransform.
eu não sou muito experiente em C# mais os caras mais velhos ai podem mostrar isso com certa facilidade.
eu não sou muito experiente em C# mais os caras mais velhos ai podem mostrar isso com certa facilidade.
sabbath- MembroAvançado
- PONTOS : 3176
REPUTAÇÃO : 24
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
faz um sistema de chat pra unity 5 e se puder um de chat de voz
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
seria interessante um chat.. estilo cs ou minecraft e também de mortes variáveis ex:
quando eu morro de queda aparece no chat Personagem: pulou de um lugar alto quando morro de um tiro aparece Personagem: levou um tiro na (parte do corpo) irei ficar muito grato se fizer isso.
quando eu morro de queda aparece no chat Personagem: pulou de um lugar alto quando morro de um tiro aparece Personagem: levou um tiro na (parte do corpo) irei ficar muito grato se fizer isso.
daviinsanity- Iniciante
- PONTOS : 3004
REPUTAÇÃO : 0
Idade : 21
Áreas de atuação : level desing e programador
Respeito as regras :
TRafego
Faz um tutu ensinando fazer estradas e trafego se der .
Pedro Lorenzon- Iniciante
- PONTOS : 3009
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Pedro Lorenzon escreveu:Faz um tutu ensinando fazer estradas e trafego se der .
Isto é algo extremamente complexo pois depende totalmente de um sistema de veículos já existente...
Tem alguns assets para isto, más é algo realmente complexo que iria requerir algums meses de dedicação para fazer
Re: [PEDIDOS DE TUTORIAIS]
marcos faz um sistema de nado como o do minecraft
anizioNoob- Avançado
- PONTOS : 3290
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
To com uma duvida a um tempo ja em respeito a rpgs, como fazer para que os npcs transitem entre as cenas sem perder os dados da cena anterior? Tipo Skyrim onde os npcs transitam entre estradas/cidades/mapas sem depender do player em si
mrariel2011- Avançado
- PONTOS : 3174
REPUTAÇÃO : 6
Idade : 25
Áreas de atuação : Modelagem(Basica)
Programação js, c#
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
seria legal um parser de csv ou de excell no unity. Assim podemos trazer informacoes externas e nao ter q ficar digitando coisas no jogo
LuizArruda- Iniciante
- PONTOS : 3006
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Luiz, não sei se isto é possível sem utilizar dll ou pluguin..
Já até tentei algo parecido, más não achei muita coisa do genero
Já até tentei algo parecido, más não achei muita coisa do genero
Re: [PEDIDOS DE TUTORIAIS]
MarcosSchultz escreveu:Luiz, não sei se isto é possível sem utilizar dll ou pluguin..
Já até tentei algo parecido, más não achei muita coisa do genero
tem jeito sim. comecei a fazer um codigo. consegui fazer upload do arquivo csv ... ler ele... mas meu parser nao deu mto certo
qual parte q vc nao conseguiu? se quiser posso te enviar o script q fiz
LuizArruda- Iniciante
- PONTOS : 3006
REPUTAÇÃO : 0
Respeito as regras :
Re: [PEDIDOS DE TUTORIAIS]
Eu não conseguia nem importar os arquivos, e também não sabia como ler uma extenção própria do excel por exemplo...
Re: [PEDIDOS DE TUTORIAIS]
Esse codigo aqui fiz com a ajuda em outro site... tem outro codigo soh pra criar campos, onde cada dado vai ser enviado...
using UnityEngine;
using System.Collections;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class scheduleParser : MonoBehaviour {
// the internal file name (private)
private string fileToParse = "";
// some public variables, to configure this script
public string filePath = "filePath";
public string fileName = "fileName";
public string fileExtension = "txt";
public int headersLineNumber = 0;
public int valuesFromLine = 1;
private string[] SplitCsvLine(string line)
{
string pattern = @"
# Match one value in valid CSV string.
(?!\s*$) # Don't match empty last value.
\s* # Strip whitespace before value.
(?: # Group for value alternatives.
'(?[^'\\]*(?:\\[\S\s][^'\\]*)*)' # Either $1: Single quoted string,
| ""(?[^""\\ ]*(?:\\[\S\s][^""\\ ]*)*)"" # or $2: Double quoted string,
| (?[^,'""\ s\\]*(?:\s+[^,'""\ s\\]+)*) # or $3: Non-comma, non-quote stuff.
) # End group of value alternatives.
\s* # Strip whitespace after value.
(?:,|\t|\s|;|$) # Field ends on comma, tab, whitespace or EOS.
";
string[] values = (from Match m in Regex.Matches(line,
pattern,
RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline)
select m.Groups[1].Value).ToArray();
return values;
}
// Use this for initialisation
void Start () {
string[] headers = new string[0];
fileToParse = filePath;
fileToParse = Path.Combine(fileToParse, fileName);
fileToParse = fileToParse + "." + fileExtension;
FileInfo theSourceFile = null;
TextReader reader = null; // NOTE: TextReader, superclass of StreamReader and StringReader
// Read from plain text file if it exists
theSourceFile = new FileInfo (Path.Combine(Application.dataPath,fileToParse));
if ( theSourceFile != null && theSourceFile.Exists ){
reader = theSourceFile.OpenText(); // returns StreamReader
Debug.Log("Created Stream Reader for " + fileToParse + "(in Datapath)");
}
if (reader == null) {
Debug.Log (fileName + " not found or not readable");
} else {
// Read each line from the file/resource
bool goOn = true;
int lineCounter = 0;
//string[] headers;
while (goOn) {
string buf = reader.ReadLine ();
if (buf == null) {
goOn = false;
return;
} else {
Debug.Log ("Current Line : " + lineCounter + " : " + buf);
string[] values;
if (lineCounter == headersLineNumber) {
headers = this.SplitCsvLine(buf);
//headers = buf.Split(',');
Debug.Log("--> Found header " + headers[0]);
}
if (lineCounter >= valuesFromLine) {
// now we get a , ; or -delimited string with data
// ID ...
values = this.SplitCsvLine(buf);
//values = buf.Split(',');
string ID = values[0];
Debug.Log("--> Found values " + values[0]);
GameObject go;
// Attempt 1 - Assume the ID equals the full name
// This works for the ArchiCAD file as the ID is used as Object Name
go = GameObject.Find(ID);
// Attempt 2 - Assume the ID is part of the full name
// For the Revit schedule, the ID is part of the Object Name e.g. "Family Type [12345]"
if (go == null){
foreach (var gameObj in
FindObjectsOfType(typeof(GameObject)) as GameObject[]){
if(gameObj.name.Contains(ID.ToString())){
go = gameObj;
}
}
}
if (go != null) {
Debug.Log (" Found ID : " + ID);
go.AddComponent<metadata>();
metadata meta = go.GetComponent<metadata>();
meta.values = values;
meta.keys = headers;
} else {
Debug.Log(" No objects found with ID: " + ID);
}
}
lineCounter++;
}
}
}
}
}
using UnityEngine;
using System.Collections;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class scheduleParser : MonoBehaviour {
// the internal file name (private)
private string fileToParse = "";
// some public variables, to configure this script
public string filePath = "filePath";
public string fileName = "fileName";
public string fileExtension = "txt";
public int headersLineNumber = 0;
public int valuesFromLine = 1;
private string[] SplitCsvLine(string line)
{
string pattern = @"
# Match one value in valid CSV string.
(?!\s*$) # Don't match empty last value.
\s* # Strip whitespace before value.
(?: # Group for value alternatives.
'(?[^'\\]*(?:\\[\S\s][^'\\]*)*)' # Either $1: Single quoted string,
| ""(?[^""\\ ]*(?:\\[\S\s][^""\\ ]*)*)"" # or $2: Double quoted string,
| (?[^,'""\ s\\]*(?:\s+[^,'""\ s\\]+)*) # or $3: Non-comma, non-quote stuff.
) # End group of value alternatives.
\s* # Strip whitespace after value.
(?:,|\t|\s|;|$) # Field ends on comma, tab, whitespace or EOS.
";
string[] values = (from Match m in Regex.Matches(line,
pattern,
RegexOptions.ExplicitCapture | RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline)
select m.Groups[1].Value).ToArray();
return values;
}
// Use this for initialisation
void Start () {
string[] headers = new string[0];
fileToParse = filePath;
fileToParse = Path.Combine(fileToParse, fileName);
fileToParse = fileToParse + "." + fileExtension;
FileInfo theSourceFile = null;
TextReader reader = null; // NOTE: TextReader, superclass of StreamReader and StringReader
// Read from plain text file if it exists
theSourceFile = new FileInfo (Path.Combine(Application.dataPath,fileToParse));
if ( theSourceFile != null && theSourceFile.Exists ){
reader = theSourceFile.OpenText(); // returns StreamReader
Debug.Log("Created Stream Reader for " + fileToParse + "(in Datapath)");
}
if (reader == null) {
Debug.Log (fileName + " not found or not readable");
} else {
// Read each line from the file/resource
bool goOn = true;
int lineCounter = 0;
//string[] headers;
while (goOn) {
string buf = reader.ReadLine ();
if (buf == null) {
goOn = false;
return;
} else {
Debug.Log ("Current Line : " + lineCounter + " : " + buf);
string[] values;
if (lineCounter == headersLineNumber) {
headers = this.SplitCsvLine(buf);
//headers = buf.Split(',');
Debug.Log("--> Found header " + headers[0]);
}
if (lineCounter >= valuesFromLine) {
// now we get a , ; or -delimited string with data
// ID ...
values = this.SplitCsvLine(buf);
//values = buf.Split(',');
string ID = values[0];
Debug.Log("--> Found values " + values[0]);
GameObject go;
// Attempt 1 - Assume the ID equals the full name
// This works for the ArchiCAD file as the ID is used as Object Name
go = GameObject.Find(ID);
// Attempt 2 - Assume the ID is part of the full name
// For the Revit schedule, the ID is part of the Object Name e.g. "Family Type [12345]"
if (go == null){
foreach (var gameObj in
FindObjectsOfType(typeof(GameObject)) as GameObject[]){
if(gameObj.name.Contains(ID.ToString())){
go = gameObj;
}
}
}
if (go != null) {
Debug.Log (" Found ID : " + ID);
go.AddComponent<metadata>();
metadata meta = go.GetComponent<metadata>();
meta.values = values;
meta.keys = headers;
} else {
Debug.Log(" No objects found with ID: " + ID);
}
}
lineCounter++;
}
}
}
}
}
LuizArruda- Iniciante
- PONTOS : 3006
REPUTAÇÃO : 0
Respeito as regras :
Página 1 de 3 • 1, 2, 3
Tópicos semelhantes
» Tutoriais 2.5D
» Manawydan Tutoriais
» Blender tutoriais
» [RESOLVIDO] Tutoriais
» Canal de tutoriais android
» Manawydan Tutoriais
» Blender tutoriais
» [RESOLVIDO] Tutoriais
» Canal de tutoriais android
Página 1 de 3
Permissões neste sub-fórum
Não podes responder a tópicos