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:
Criar jogo estilo clash of clans
[AWP CS-GO] A PEDIDO DE UM Fã MEU
[Ajuda] Third Person subir degrau
NavMeshAgent não aparece no script
Script para sistema de genética
Adicionar arma em uma animação do Mixamo
[____TÓPICO LIVRE____] FALE O QUE QUISER
Galera?, Vamos Trocar umas Musicas Favoritas?
Meu rpg Lendarios
[Duvida]Centralizar Cursor
Script de Spawn Aleatório
[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?
Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
Check-in no facebook dentro da Unity
Salvar vida do player por tempo
[TUTORIAL] Sistema de escolha de personagens
character collide
[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
Mira de Third Person Shooter
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
Problema em criar tiros múltiplos
Modelo AK-12 (Arma)
Clicar no botão
Alguém pode me indicar um site de tutorial de c# sem ser em videos
A.S TRUCK
[Tutorial]C# 1 variáveis.
Audio Player C#
[Duvida] NN consigo importar um asset
Qual o melhor pra vcs ?
TROCAR RODAS DO CARRO NA OFICINA
[Terrorista] Avaliem ae galerinha!
[Tutorial] Script de um animal!!!
[Ajuda]Apenas um simples favorzinho que vai me ajudar muito
ANIMAÇÃO DE TIRO NO UNITY
touch botão sair som
Problema com player e animação
[TUTORIAL] Multiplayer global em múltiplos dispositivos
[TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.
como q eu faço quando aperto um botão UI Aparece outro Canvas ?
Salvar dados do player ao trocar de cenas
Blender Duvida
(ATUALIZADO) Demo Jogo para testes...(ANDROID)
Erro
[ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais
[Dúvida] Erro ao tentar compilar jogo para android
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
Script para salva o jogo?
[____FÓRUM SEM PROPAGANDAS____]
Menu Marcos Não Fuinciona Em Android !
Micro escala
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Ajuda em animação mira
[Em teste] Jogo sem nome :/
como saber a versao que coloco em meu game
Nao quero um script novo quero aprender onde errei
Asset Architecture
[TUTORIAL] Sistema COMPLETO de câmeras
[Duvida] Como fasso para mover o objeto pra frente sempre que apertar w
Duvida sobre camera do controlador
TESTE inimigo anda por um trajeto definido, para ao ser iluminado, e segue seu caminho
MULTIPLAYER LAN
[____REGRAS DO FÓRUM____]
Duvida com NavMesh AJUDAAA
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Dúvida de publicação
[TUTORIAL] Arrastar Objetos com o mouse
COMO INSTANCIAR OBJETOS EM ANGULAÇÃO
Marcos, faz um tutorial de como ganhar dinheiro em um Jogo Unity para PC
Versão Unity
[TUTORIAL] Fazer um VOLANTE com UI, para Android
como usar o script de menu no android
[Duvida]Como instanciar um objeto da maneira descrita na mensagem abaixo.
Hoje à(s) 10:45 pm
Hoje à(s) 10:21 pm
Hoje à(s) 9:55 pm
Hoje à(s) 9:18 pm
Hoje à(s) 8:29 pm
Hoje à(s) 8:04 pm
Hoje à(s) 8:00 pm
Hoje à(s) 5:25 pm
Hoje à(s) 4:44 pm
Hoje à(s) 4:22 pm
Hoje à(s) 1:00 pm
Hoje à(s) 12:51 pm
Hoje à(s) 9:52 am
Hoje à(s) 9:50 am
Hoje à(s) 1:06 am
Ontem à(s) 10:09 pm
Ontem à(s) 10:09 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:56 pm
Ontem à(s) 8:49 pm
Ontem à(s) 8:39 pm
Ontem à(s) 8:24 pm
Ontem à(s) 8:20 pm
Ontem à(s) 7:44 pm
Ontem à(s) 7:24 pm
Ontem à(s) 7:05 pm
Ontem à(s) 6:19 pm
Ontem à(s) 6:10 pm
Ontem à(s) 5:12 pm
Ontem à(s) 3:52 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:23 pm
Ontem à(s) 12:06 pm
Ontem à(s) 11:47 am
Ontem à(s) 10:54 am
Ontem à(s) 9:28 am
Ontem à(s) 2:07 am
Sab Abr 22, 2017 11:30 pm
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 12:47 pm
Sab Abr 22, 2017 11:22 am
Sab Abr 22, 2017 11:19 am
Sab Abr 22, 2017 11:10 am
Sab Abr 22, 2017 12:29 am
Sex Abr 21, 2017 11:44 pm
Sex Abr 21, 2017 10:12 pm
Sex Abr 21, 2017 9:59 pm
Sex Abr 21, 2017 9:50 pm
Sex Abr 21, 2017 8:59 pm
Sex Abr 21, 2017 7:25 pm
Sex Abr 21, 2017 6:17 pm
Sex Abr 21, 2017 3:07 pm
Sex Abr 21, 2017 1:43 pm
Sex Abr 21, 2017 1:31 pm
Sex Abr 21, 2017 12:01 pm
Sex Abr 21, 2017 11:46 am
Sex Abr 21, 2017 11:32 am
Sex Abr 21, 2017 10:15 am
Sex Abr 21, 2017 5:46 am
Sex Abr 21, 2017 1:49 am
Qui Abr 20, 2017 11:45 pm
Qui Abr 20, 2017 11:37 pm
Qui Abr 20, 2017 9:57 pm
Qui Abr 20, 2017 8:42 pm
Qui Abr 20, 2017 8:38 pm
Qui Abr 20, 2017 8:34 pm
Qui Abr 20, 2017 8:21 pm
Qui Abr 20, 2017 8:15 pm
Qui Abr 20, 2017 7:40 pm
Qui Abr 20, 2017 1:08 pm
Qui Abr 20, 2017 1:03 pm
Qui Abr 20, 2017 12:58 pm
Qui Abr 20, 2017 12:56 pm
Qui Abr 20, 2017 12:51 pm
Qui Abr 20, 2017 8:56 am
Qua Abr 19, 2017 7:19 pm
Qua Abr 19, 2017 7:17 pm
Qua Abr 19, 2017 5:19 pm
Qua Abr 19, 2017 3:09 pm
Qua Abr 19, 2017 1:24 pm
Qua Abr 19, 2017 9:23 am
Qua Abr 19, 2017 2:28 am
Qua Abr 19, 2017 2:26 am
Qua Abr 19, 2017 2:24 am
Qua Abr 19, 2017 2:20 am
Qua Abr 19, 2017 2:14 am
Qua Abr 19, 2017 2:12 am
Qua Abr 19, 2017 2:10 am
Qua Abr 19, 2017 2:07 am
Qua Abr 19, 2017 2:02 am
Qua Abr 19, 2017 1:50 am
Qua Abr 19, 2017 1:17 am
thiagograssi
Gabriel César O
Zecandy
xXGianlucksXx
DuViDoSo34
lelouchsdky
weslleyFx
zZAndersonZz
zZAndersonZz
DuViDoSo34
rafaelllsd
rafaelllsd
PauloFR
dstaroski
Hardencio
hbesm
cody0033
DuViDoSo34
Eric Vinicius
HeF Soft
Callyde Jr
Callyde Jr
Hardencio
Callyde Jr
HeF Soft
mtmateus
DuViDoSo34
weslleyFx
Matrirxp
Callyde Jr
DuViDoSo34
Ále Kauvy
dstaroski
HeF Soft
dstaroski
Mic4el
NyanHeavyBR
916anderson
cody0033
erick.q.faria
MarcosSchultz
JohnSantosGamer
rafaelllsd
MrTFGamer1
MrTFGamer1
IanLuan
JailtonUnity
DuViDoSo34
weslleyFx
weslleyFx
Gabriel César O
Strogonoff
Matrirxp
JailtonUnity
PauloFR
PauloFR
thzin
sabbath
dstaroski
PauloFR
deikson
iagokennedyy
JailtonUnity
DuViDoSo34
John Rambo
Callyde Jr
Dom3000
iagokennedyy
WiredD
Ronmaster
JailtonUnity
artplayer
Callyde Jr
MarcosSchultz
HeF Soft
JohnSantosGamer
Gabriel César O
Gabriel César O
deikson
PauloFR
Encracker
weslleyFx
Callyde Jr
PauloFR
MarcosSchultz
PauloFR
Giulyo
JailtonUnity
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

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

TUTORIAL [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Seg Maio 02, 2016 3:09 pm

Fala pessoal, finalmente elaborei um tutorial para juntar com este efeito de submerso:



Depois que você fizer este efeito submerso funcionar 100%, basta seguir o tutorial abaixo para fazer o seu FPSController nadar e mergulhar na água


Vídeo:


Script usado:
Código:
using UnityEngine;
using System.Collections;
using UnityStandardAssets.Characters.FirstPerson;
[RequireComponent(typeof(FirstPersonController))]
public class Nadar : MonoBehaviour {
 public string TagAgua = "AGUA";
 [Range(-0.2f,0.2f)] public float toleranciaAltura = 0.1f;
 [Range(-0.5f,2.0f)] public float velocidadeVertical = 1.5f;
 private FirstPersonController FPSController;
 private CharacterController controlador;
 private bool dentroDaAgua = false;
 private float alturaDaAguaNoMundo, alturaAjusteControlador;
 private float originalWalkSpeed, originalRunSpeed, originalJumpSpeed, originalGravity;
 void Awake () {
 FPSController = GetComponent<FirstPersonController> ();
 controlador = GetComponent<CharacterController> ();
 alturaAjusteControlador = 0.275f * controlador.height;
 originalWalkSpeed = FPSController.m_WalkSpeed;
 originalRunSpeed = FPSController.m_RunSpeed;
 originalJumpSpeed = FPSController.m_JumpSpeed;
 originalGravity = FPSController.m_GravityMultiplier;
 }
 void Update () {
 if (dentroDaAgua == true && (transform.position.y < (alturaDaAguaNoMundo - alturaAjusteControlador + (toleranciaAltura * alturaAjusteControlador)))) {
 FPSController.m_WalkSpeed = 2.0f;
 FPSController.m_RunSpeed = 2.0f;
 FPSController.m_JumpSpeed = 0.0f;
 //
 float inputGravidadeY = (-Camera.main.transform.forward.y / 20.0f) * Input.GetAxis ("Vertical") * velocidadeVertical;
 if (Input.GetKey (KeyCode.Space)) {
 inputGravidadeY -= 0.15f * velocidadeVertical;
 }
 if (Mathf.Abs (controlador.velocity.y) > 2.0f) {
 inputGravidadeY += controlador.velocity.y * velocidadeVertical;
 }
 FPSController.m_GravityMultiplier = inputGravidadeY;
 if (Mathf.Abs (Input.GetAxis ("Vertical")) < 0.5f && Mathf.Abs (Input.GetAxis ("Horizontal")) < 0.5f && !Input.GetKey (KeyCode.Space)) {
 FPSController.m_GravityMultiplier = 0;
 FPSController.m_MoveDir = Vector3.Lerp (FPSController.m_MoveDir, Vector3.zero, Time.deltaTime * 2.0f);
 }
 } else {
 FPSController.m_WalkSpeed = Mathf.Lerp (FPSController.m_WalkSpeed, originalWalkSpeed, Time.deltaTime * 2.0f);
 FPSController.m_RunSpeed = Mathf.Lerp (FPSController.m_RunSpeed, originalRunSpeed, Time.deltaTime * 2.0f);
 FPSController.m_JumpSpeed = Mathf.Lerp (FPSController.m_JumpSpeed, originalJumpSpeed, Time.deltaTime * 0.5f);
 FPSController.m_GravityMultiplier = Mathf.Lerp (FPSController.m_GravityMultiplier, originalGravity, Time.deltaTime * 2.0f);
 }
 }
 void OnTriggerEnter(Collider colisor){
 if (colisor.gameObject.CompareTag (TagAgua)) {
 dentroDaAgua = true;
 alturaDaAguaNoMundo = colisor.gameObject.GetComponent<BoxCollider> ().bounds.center.y + colisor.gameObject.GetComponent<BoxCollider> ().bounds.extents.y;
 }
 }
 void OnTriggerExit(Collider colisor){
 if (colisor.gameObject.CompareTag (TagAgua)) {
 dentroDaAgua = false;
 }
 }
}


Última edição por MarcosSchultz em Ter Jun 07, 2016 8:44 pm, editado 1 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por magnamaster em Qui Jun 02, 2016 6:45 pm

está tendo uns erros aqui com o meu podem me ajudar ?
Assets/Nadar.cs(18,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(19,35): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(20,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(21,34): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(25,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(26,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(27,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(36,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(38,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(39,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(39,36): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Lerp(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments
Assets/Nadar.cs(39,36): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Vector3'
Assets/Nadar.cs(39,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(42,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(42,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(42,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(42,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,55): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,35): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(43,35): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(43,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(44,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(44,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(45,64): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(45,44): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(45,44): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(45,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level

magnamaster
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sex Jun 03, 2016 2:00 am

É por que você não viu o segundo vídeo completo -.-
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por anizioNoob em Sex Jun 03, 2016 9:07 am

o cara não fez nada q o marcos disse pa fazer no segundo video mano aprenda a assistir os videos ae mano pq se vc não asseste tu fica boiando
avatar
anizioNoob
MembroAvançado

Masculino PONTOS : 710
REPUTAÇÃO : 15
Idade : 15
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por magnamaster em Sex Jun 03, 2016 11:34 am

Eu assisti os dois vídeos o primeiro funciona mais o segundo da esses erros q eu postei,como faço pra arrumar os erros

magnamaster
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por weslleyFx em Sex Jun 03, 2016 11:45 am

São vários erros tem varias coisas a ser vista
você exporto tudo ?
você esta usando o FPSController ?
você verifico se esta esquecendo de linkar alguma coisa ?
você verifico se esta passando argumentos inválidos no script ?
avatar
weslleyFx
Moderador

Masculino PONTOS : 2361
REPUTAÇÃO : 518
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sex Jun 03, 2016 2:28 pm

magnamaster escreveu:Eu assisti os dois vídeos o primeiro funciona mais o segundo da esses erros q eu postei,como faço pra arrumar os erros

OK, então me passa o seu script do FPSController
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por magnamaster em Sex Jun 03, 2016 3:23 pm

using UnityEngine;
using System.Collections;
using UnityStandardAssets.Characters.FirstPerson;
[RequireComponent(typeof(FirstPersonController))]
public class Nadar : MonoBehaviour {
 public string TagAgua = "AGUA";
 [Range(-0.2f,0.2f)] public float toleranciaAltura = 0.1f;
 [Range(-0.5f,2.0f)] public float velocidadeVertical = 1.5f;
 private FirstPersonController FPSController;
 private CharacterController controlador;
 private bool dentroDaAgua = false;
 private float alturaDaAguaNoMundo, alturaAjusteControlador;
 private float originalWalkSpeed, originalRunSpeed, originalJumpSpeed, originalGravity;
 void Awake () {
 FPSController = GetComponent ();
 controlador = GetComponent ();
 alturaAjusteControlador = 0.275f * controlador.height;
 originalWalkSpeed = FPSController.m_WalkSpeed;
 originalRunSpeed = FPSController.m_RunSpeed;
 originalJumpSpeed = FPSController.m_JumpSpeed;
 originalGravity = FPSController.m_GravityMultiplier;
 }
 void Update () {
 if (dentroDaAgua == true && (transform.position.y < (alturaDaAguaNoMundo - alturaAjusteControlador + (toleranciaAltura * alturaAjusteControlador)))) {
 FPSController.m_WalkSpeed = 2.0f;
 FPSController.m_RunSpeed = 2.0f;
 FPSController.m_JumpSpeed = 0.0f;
 //
 float inputGravidadeY = (-Camera.main.transform.forward.y / 20.0f) * Input.GetAxis ("Vertical") * velocidadeVertical;
 if (Input.GetKey (KeyCode.Space)) {
 inputGravidadeY -= 0.15f * velocidadeVertical;
 }
 if (Mathf.Abs (controlador.velocity.y) > 2.0f) {
 inputGravidadeY += controlador.velocity.y * velocidadeVertical;
 }
 FPSController.m_GravityMultiplier = inputGravidadeY;
 if (Mathf.Abs (Input.GetAxis ("Vertical")) < 0.5f && Mathf.Abs (Input.GetAxis ("Horizontal")) < 0.5f && !Input.GetKey (KeyCode.Space)) {
 FPSController.m_GravityMultiplier = 0;
 FPSController.m_MoveDir = Vector3.Lerp (FPSController.m_MoveDir, Vector3.zero, Time.deltaTime * 2.0f);
 }
 } else {
 FPSController.m_WalkSpeed = Mathf.Lerp (FPSController.m_WalkSpeed, originalWalkSpeed, Time.deltaTime * 2.0f);
 FPSController.m_RunSpeed = Mathf.Lerp (FPSController.m_RunSpeed, originalRunSpeed, Time.deltaTime * 2.0f);
 FPSController.m_JumpSpeed = Mathf.Lerp (FPSController.m_JumpSpeed, originalJumpSpeed, Time.deltaTime * 0.5f);
 FPSController.m_GravityMultiplier = Mathf.Lerp (FPSController.m_GravityMultiplier, originalGravity, Time.deltaTime * 2.0f);
 }
 }
 void OnTriggerEnter(Collider colisor){
 if (colisor.gameObject.CompareTag (TagAgua)) {
 dentroDaAgua = true;
 alturaDaAguaNoMundo = colisor.gameObject.GetComponent ().bounds.center.y + colisor.gameObject.GetComponent ().bounds.extents.y;
 }
 }
 void OnTriggerExit(Collider colisor){
 if (colisor.gameObject.CompareTag (TagAgua)) {
 dentroDaAgua = false;
 }
 }
}

magnamaster
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sex Jun 03, 2016 3:38 pm

Não este, o do FPSController, o controlador mesmo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por magnamaster em Sex Jun 03, 2016 5:19 pm

using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
using UnityStandardAssets.Utility;
using Random = UnityEngine.Random;

namespace UnityStandardAssets.Characters.FirstPerson
{
    [RequireComponent(typeof (CharacterController))]
    [RequireComponent(typeof (AudioSource))]
    public class FirstPersonController : MonoBehaviour
    {
        [SerializeField] private bool m_IsWalking;
        [SerializeField] private float m_WalkSpeed;
        [SerializeField] private float m_RunSpeed;
        [SerializeField] [Range(0f, 1f)] private float m_RunstepLenghten;
        [SerializeField] private float m_JumpSpeed;
        [SerializeField] private float m_StickToGroundForce;
        [SerializeField] private float m_GravityMultiplier;
        [SerializeField] private MouseLook m_MouseLook;
        [SerializeField] private bool m_UseFovKick;
        [SerializeField] private FOVKick m_FovKick = new FOVKick();
        [SerializeField] private bool m_UseHeadBob;
        [SerializeField] private CurveControlledBob m_HeadBob = new CurveControlledBob();
        [SerializeField] private LerpControlledBob m_JumpBob = new LerpControlledBob();
        [SerializeField] private float m_StepInterval;
        [SerializeField] private AudioClip[] m_FootstepSounds;    // an array of footstep sounds that will be randomly selected from.
        [SerializeField] private AudioClip m_JumpSound;           // the sound played when character leaves the ground.
        [SerializeField] private AudioClip m_LandSound;           // the sound played when character touches back on ground.

        private Camera m_Camera;
        private bool m_Jump;
        private float m_YRotation;
        private Vector2 m_Input;
        private Vector3 m_MoveDir = Vector3.zero;
        private CharacterController m_CharacterController;
        private CollisionFlags m_CollisionFlags;
        private bool m_PreviouslyGrounded;
        private Vector3 m_OriginalCameraPosition;
        private float m_StepCycle;
        private float m_NextStep;
        private bool m_Jumping;
        private AudioSource m_AudioSource;

        // Use this for initialization
        private void Start()
        {
            m_CharacterController = GetComponent();
            m_Camera = Camera.main;
            m_OriginalCameraPosition = m_Camera.transform.localPosition;
            m_FovKick.Setup(m_Camera);
            m_HeadBob.Setup(m_Camera, m_StepInterval);
            m_StepCycle = 0f;
            m_NextStep = m_StepCycle/2f;
            m_Jumping = false;
            m_AudioSource = GetComponent();
m_MouseLook.Init(transform , m_Camera.transform);
        }


        // Update is called once per frame
        private void Update()
        {
            RotateView();
            // the jump state needs to read here to make sure it is not missed
            if (!m_Jump)
            {
                m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
            }

            if (!m_PreviouslyGrounded && m_CharacterController.isGrounded)
            {
                StartCoroutine(m_JumpBob.DoBobCycle());
                PlayLandingSound();
                m_MoveDir.y = 0f;
                m_Jumping = false;
            }
            if (!m_CharacterController.isGrounded && !m_Jumping && m_PreviouslyGrounded)
            {
                m_MoveDir.y = 0f;
            }

            m_PreviouslyGrounded = m_CharacterController.isGrounded;
        }


        private void PlayLandingSound()
        {
            m_AudioSource.clip = m_LandSound;
            m_AudioSource.Play();
            m_NextStep = m_StepCycle + .5f;
        }


        private void FixedUpdate()
        {
            float speed;
            GetInput(out speed);
            // always move along the camera forward as it is the direction that it being aimed at
            Vector3 desiredMove = transform.forward*m_Input.y + transform.right*m_Input.x;

            // get a normal for the surface that is being touched to move along it
            RaycastHit hitInfo;
            Physics.SphereCast(transform.position, m_CharacterController.radius, Vector3.down, out hitInfo,
                               m_CharacterController.height/2f);
            desiredMove = Vector3.ProjectOnPlane(desiredMove, hitInfo.normal).normalized;

            m_MoveDir.x = desiredMove.x*speed;
            m_MoveDir.z = desiredMove.z*speed;


            if (m_CharacterController.isGrounded)
            {
                m_MoveDir.y = -m_StickToGroundForce;

                if (m_Jump)
                {
                    m_MoveDir.y = m_JumpSpeed;
                    PlayJumpSound();
                    m_Jump = false;
                    m_Jumping = true;
                }
            }
            else
            {
                m_MoveDir += Physics.gravity*m_GravityMultiplier*Time.fixedDeltaTime;
            }
            m_CollisionFlags = m_CharacterController.Move(m_MoveDir*Time.fixedDeltaTime);

            ProgressStepCycle(speed);
            UpdateCameraPosition(speed);
        }


        private void PlayJumpSound()
        {
            m_AudioSource.clip = m_JumpSound;
            m_AudioSource.Play();
        }


        private void ProgressStepCycle(float speed)
        {
            if (m_CharacterController.velocity.sqrMagnitude > 0 && (m_Input.x != 0 || m_Input.y != 0))
            {
                m_StepCycle += (m_CharacterController.velocity.magnitude + (speed*(m_IsWalking ? 1f : m_RunstepLenghten)))*
                             Time.fixedDeltaTime;
            }

            if (!(m_StepCycle > m_NextStep))
            {
                return;
            }

            m_NextStep = m_StepCycle + m_StepInterval;

            PlayFootStepAudio();
        }


        private void PlayFootStepAudio()
        {
            if (!m_CharacterController.isGrounded)
            {
                return;
            }
            // pick & play a random footstep sound from the array,
            // excluding sound at index 0
            int n = Random.Range(1, m_FootstepSounds.Length);
            m_AudioSource.clip = m_FootstepSounds[n];
            m_AudioSource.PlayOneShot(m_AudioSource.clip);
            // move picked sound to index 0 so it's not picked next time
            m_FootstepSounds[n] = m_FootstepSounds[0];
            m_FootstepSounds[0] = m_AudioSource.clip;
        }


        private void UpdateCameraPosition(float speed)
        {
            Vector3 newCameraPosition;
            if (!m_UseHeadBob)
            {
                return;
            }
            if (m_CharacterController.velocity.magnitude > 0 && m_CharacterController.isGrounded)
            {
                m_Camera.transform.localPosition =
                    m_HeadBob.DoHeadBob(m_CharacterController.velocity.magnitude +
                                      (speed*(m_IsWalking ? 1f : m_RunstepLenghten)));
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_Camera.transform.localPosition.y - m_JumpBob.Offset();
            }
            else
            {
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_OriginalCameraPosition.y - m_JumpBob.Offset();
            }
            m_Camera.transform.localPosition = newCameraPosition;
        }


        private void GetInput(out float speed)
        {
            // Read input
            float horizontal = CrossPlatformInputManager.GetAxis("Horizontal");
            float vertical = CrossPlatformInputManager.GetAxis("Vertical");

            bool waswalking = m_IsWalking;

#if !MOBILE_INPUT
            // On standalone builds, walk/run speed is modified by a key press.
            // keep track of whether or not the character is walking or running
            m_IsWalking = !Input.GetKey(KeyCode.LeftShift);
#endif
            // set the desired speed to be walking or running
            speed = m_IsWalking ? m_WalkSpeed : m_RunSpeed;
            m_Input = new Vector2(horizontal, vertical);

            // normalize input if it exceeds 1 in combined length:
            if (m_Input.sqrMagnitude > 1)
            {
                m_Input.Normalize();
            }

            // handle speed change to give an fov kick
            // only if the player is going to a run, is running and the fovkick is to be used
            if (m_IsWalking != waswalking && m_UseFovKick && m_CharacterController.velocity.sqrMagnitude > 0)
            {
                StopAllCoroutines();
                StartCoroutine(!m_IsWalking ? m_FovKick.FOVKickUp() : m_FovKick.FOVKickDown());
            }
        }


        private void RotateView()
        {
            m_MouseLook.LookRotation (transform, m_Camera.transform);
        }


        private void OnControllerColliderHit(ControllerColliderHit hit)
        {
            Rigidbody body = hit.collider.attachedRigidbody;
            //dont move the rigidbody if the character is on top of it
            if (m_CollisionFlags == CollisionFlags.Below)
            {
                return;
            }

            if (body == null || body.isKinematic)
            {
                return;
            }
            body.AddForceAtPosition(m_CharacterController.velocity*0.1f, hit.point, ForceMode.Impulse);
        }
    }
}

magnamaster
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sab Jun 04, 2016 1:08 am

Poiseh, você não assistiu o segundo vídeo inteiro, como eu disse...

O segundo vídeo eu falo especificamente da edição deste código, para que o sistema funcione .-.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por KPzone em Sex Jun 10, 2016 4:50 pm

Eu tenho um erro, não me deixe m_walkspeed , m_gravityspeed , e todos aqueles

KPzone
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sex Jun 10, 2016 6:15 pm

KPzone escreveu:Eu tenho um erro, não me deixe m_walkspeed , m_gravityspeed , e todos aqueles

Você tem que assistir o vídeo e fazer passo a passo o que eu falo no vídeo... ai não terá os erros.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por TiagoBRx em Qua Jun 15, 2016 10:51 am

Eae man, 
Obrigadão pela sua força, gostei dos seus vídeos tutoriais! 
Mas só que como todo por que... Existe uma pergunta kkk Eu estava alisando e pensando como posso passar esse efeito para um personagem em terceira pessoa... Modificar o ThidPersonCharacter sem dá erros infinitos e etc hehe Não precisa colocar animations, já estou pedindo um favor, quem sou eu para cobrar  ^^'

TiagoBRx
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Qui Jun 16, 2016 2:00 am

TiagoBRx escreveu:Eae man, 
Obrigadão pela sua força, gostei dos seus vídeos tutoriais! 
Mas só que como todo por que... Existe uma pergunta kkk Eu estava alisando e pensando como posso passar esse efeito para um personagem em terceira pessoa... Modificar o ThidPersonCharacter sem dá erros infinitos e etc hehe Não precisa colocar animations, já estou pedindo um favor, quem sou eu para cobrar  ^^'
Da para dar uma adaptada, mexendo nas configs do "move" do character 3D, mas vou ter que anotar para fazer quando tiver tempo... Tem muita coisa na frente ainda.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por DZjocker em Sex Jun 17, 2016 12:26 am

magnamaster escreveu:está tendo uns erros aqui com o meu podem me ajudar ?
Assets/Nadar.cs(18,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(19,35): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(20,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(21,34): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(25,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(26,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(27,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(36,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(38,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(39,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(39,36): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Lerp(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments
Assets/Nadar.cs(39,36): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Vector3'
Assets/Nadar.cs(39,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(42,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(42,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(42,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(42,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,55): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,35): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(43,35): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(43,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(44,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(44,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(45,64): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(45,44): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(45,44): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(45,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level

DZjocker
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sex Jun 17, 2016 1:05 am

DZjocker escreveu:
magnamaster escreveu:está tendo uns erros aqui com o meu podem me ajudar ?
Assets/Nadar.cs(18,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(19,35): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(20,36): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(21,34): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(25,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(26,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(27,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(36,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(38,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(39,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(39,36): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Lerp(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments
Assets/Nadar.cs(39,36): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Vector3'
Assets/Nadar.cs(39,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_MoveDir' is inaccessible due to its protection level
Assets/Nadar.cs(42,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(42,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(42,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(42,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_WalkSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,55): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(43,35): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(43,35): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(43,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_RunSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,56): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(44,36): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(44,36): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(44,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_JumpSpeed' is inaccessible due to its protection level
Assets/Nadar.cs(45,64): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level
Assets/Nadar.cs(45,44): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments
Assets/Nadar.cs(45,44): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
Assets/Nadar.cs(45,16): error CS0122: `UnityStandardAssets.Characters.FirstPerson.FirstPersonController.m_GravityMultiplier' is inaccessible due to its protection level

É só assistir o vídeo completo e fazer as edições que eu mostrei no FPSController que não vai dar esses erros.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por ninjaEX em Dom Jun 19, 2016 3:11 pm

o meu esta tendo os mesmo problemas e eu editei o fps controler
avatar
ninjaEX
Avançado
Avançado

PONTOS : 420
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Dom Jun 19, 2016 3:40 pm

ninjaEX escreveu:o meu esta tendo os mesmo problemas e eu editei o fps controler

Manda o script do seu FPSController editado ai
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por ninjaEX em Dom Jun 19, 2016 4:37 pm

aq 
Código:
using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;
using UnityStandardAssets.Utility;
using Random = UnityEngine.Random;

namespace UnityStandardAssets.Characters.FirstPerson
{
    [RequireComponent(typeof (CharacterController))]
    [RequireComponent(typeof (AudioSource))]
    public class FirstPersonController : MonoBehaviour
    {
      [SerializeField] private bool m_IsWalking;
      [SerializeField] public float m_WalkSpeed;
      [SerializeField] public float m_RunSpeed;
        [SerializeField] [Range(0f, 1f)] private float m_RunstepLenghten;
      [SerializeField] public float m_JumpSpeed;
      [SerializeField] private float m_StickToGroundForce;
      [SerializeField] public float m_GravityMultiplier;
      [SerializeField] private MouseLook m_MouseLook;
      [SerializeField] private bool m_UseFovKick;
      [SerializeField] private FOVKick m_FovKick = new FOVKick();
      [SerializeField] private bool m_UseHeadBob;
      [SerializeField] private CurveControlledBob m_HeadBob = new CurveControlledBob();
      [SerializeField] private LerpControlledBob m_JumpBob = new LerpControlledBob();
      [SerializeField] private float m_StepInterval;
      [SerializeField] private AudioClip[] m_FootstepSounds;    // an array of footstep sounds that will be randomly selected from.
      [SerializeField] private AudioClip m_JumpSound;          // the sound played when character leaves the ground.
      [SerializeField] private AudioClip m_LandSound;          // the sound played when character touches back on ground.

      private Camera m_Camera;
      private bool m_Jump;
      private float m_YRotation;
      private Vector2 m_Input;
      public Vector3 m_MoveDir = Vector3.zero;
      private CharacterController m_CharacterController;
      private CollisionFlags m_CollisionFlags;
      private bool m_PreviouslyGrounded;
      private Vector3 m_OriginalCameraPosition;
      private float m_StepCycle;
      private float m_NextStep;
      private bool m_Jumping;
      private AudioSource m_AudioSource;

        // Use this for initialization
      private void Start()
        {
            m_CharacterController = GetComponent<CharacterController>();
            m_Camera = Camera.main;
            m_OriginalCameraPosition = m_Camera.transform.localPosition;
            m_FovKick.Setup(m_Camera);
            m_HeadBob.Setup(m_Camera, m_StepInterval);
            m_StepCycle = 0f;
            m_NextStep = m_StepCycle/2f;
            m_Jumping = false;
            m_AudioSource = GetComponent<AudioSource>();
         m_MouseLook.Init(transform , m_Camera.transform);
        }


        // Update is called once per frame
      private void Update()
        {
            RotateView();
            // the jump state needs to read here to make sure it is not missed
            if (!m_Jump)
            {
                m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
            }

            if (!m_PreviouslyGrounded && m_CharacterController.isGrounded)
            {
                StartCoroutine(m_JumpBob.DoBobCycle());
                PlayLandingSound();
                m_MoveDir.y = 0f;
                m_Jumping = false;
            }
            if (!m_CharacterController.isGrounded && !m_Jumping && m_PreviouslyGrounded)
            {
                m_MoveDir.y = 0f;
            }

            m_PreviouslyGrounded = m_CharacterController.isGrounded;
        }


      private void PlayLandingSound()
        {
            m_AudioSource.clip = m_LandSound;
            m_AudioSource.Play();
            m_NextStep = m_StepCycle + .5f;
        }


      private void FixedUpdate()
        {
            float speed;
            GetInput(out speed);
            // always move along the camera forward as it is the direction that it being aimed at
            Vector3 desiredMove = transform.forward*m_Input.y + transform.right*m_Input.x;

            // get a normal for the surface that is being touched to move along it
            RaycastHit hitInfo;
            Physics.SphereCast(transform.position, m_CharacterController.radius, Vector3.down, out hitInfo,
                              m_CharacterController.height/2f, Physics.AllLayers, QueryTriggerInteraction.Ignore);
            desiredMove = Vector3.ProjectOnPlane(desiredMove, hitInfo.normal).normalized;

            m_MoveDir.x = desiredMove.x*speed;
            m_MoveDir.z = desiredMove.z*speed;


            if (m_CharacterController.isGrounded)
            {
                m_MoveDir.y = -m_StickToGroundForce;

                if (m_Jump)
                {
                    m_MoveDir.y = m_JumpSpeed;
                    PlayJumpSound();
                    m_Jump = false;
                    m_Jumping = true;
                }
            }
            else
            {
                m_MoveDir += Physics.gravity*m_GravityMultiplier*Time.fixedDeltaTime;
            }
            m_CollisionFlags = m_CharacterController.Move(m_MoveDir*Time.fixedDeltaTime);

            ProgressStepCycle(speed);
            UpdateCameraPosition(speed);

            m_MouseLook.UpdateCursorLock();
        }


      private void PlayJumpSound()
        {
            m_AudioSource.clip = m_JumpSound;
            m_AudioSource.Play();
        }


      private void ProgressStepCycle(float speed)
        {
            if (m_CharacterController.velocity.sqrMagnitude > 0 && (m_Input.x != 0 || m_Input.y != 0))
            {
                m_StepCycle += (m_CharacterController.velocity.magnitude + (speed*(m_IsWalking ? 1f : m_RunstepLenghten)))*
                            Time.fixedDeltaTime;
            }

            if (!(m_StepCycle > m_NextStep))
            {
                return;
            }

            m_NextStep = m_StepCycle + m_StepInterval;

            PlayFootStepAudio();
        }


      private void PlayFootStepAudio()
        {
            if (!m_CharacterController.isGrounded)
            {
                return;
            }
            // pick & play a random footstep sound from the array,
            // excluding sound at index 0
            int n = Random.Range(1, m_FootstepSounds.Length);
            m_AudioSource.clip = m_FootstepSounds[n];
            m_AudioSource.PlayOneShot(m_AudioSource.clip);
            // move picked sound to index 0 so it's not picked next time
            m_FootstepSounds[n] = m_FootstepSounds[0];
            m_FootstepSounds[0] = m_AudioSource.clip;
        }


        private void UpdateCameraPosition(float speed)
        {
            Vector3 newCameraPosition;
            if (!m_UseHeadBob)
            {
                return;
            }
            if (m_CharacterController.velocity.magnitude > 0 && m_CharacterController.isGrounded)
            {
                m_Camera.transform.localPosition =
                    m_HeadBob.DoHeadBob(m_CharacterController.velocity.magnitude +
                                      (speed*(m_IsWalking ? 1f : m_RunstepLenghten)));
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_Camera.transform.localPosition.y - m_JumpBob.Offset();
            }
            else
            {
                newCameraPosition = m_Camera.transform.localPosition;
                newCameraPosition.y = m_OriginalCameraPosition.y - m_JumpBob.Offset();
            }
            m_Camera.transform.localPosition = newCameraPosition;
        }


      private void GetInput(out float speed)
        {
            // Read input
            float horizontal = CrossPlatformInputManager.GetAxis("Horizontal");
            float vertical = CrossPlatformInputManager.GetAxis("Vertical");

            bool waswalking = m_IsWalking;

#if !MOBILE_INPUT
            // On standalone builds, walk/run speed is modified by a key press.
            // keep track of whether or not the character is walking or running
            m_IsWalking = !Input.GetKey(KeyCode.LeftShift);
#endif
            // set the desired speed to be walking or running
            speed = m_IsWalking ? m_WalkSpeed : m_RunSpeed;
            m_Input = new Vector2(horizontal, vertical);

            // normalize input if it exceeds 1 in combined length:
            if (m_Input.sqrMagnitude > 1)
            {
                m_Input.Normalize();
            }

            // handle speed change to give an fov kick
            // only if the player is going to a run, is running and the fovkick is to be used
            if (m_IsWalking != waswalking && m_UseFovKick && m_CharacterController.velocity.sqrMagnitude > 0)
            {
                StopAllCoroutines();
                StartCoroutine(!m_IsWalking ? m_FovKick.FOVKickUp() : m_FovKick.FOVKickDown());
            }
        }


      private void RotateView()
        {
            m_MouseLook.LookRotation (transform, m_Camera.transform);
        }


      private void OnControllerColliderHit(ControllerColliderHit hit)
        {
            Rigidbody body = hit.collider.attachedRigidbody;
            //dont move the rigidbody if the character is on top of it
            if (m_CollisionFlags == CollisionFlags.Below)
            {
                return;
            }

            if (body == null || body.isKinematic)
            {
                return;
            }
            body.AddForceAtPosition(m_CharacterController.velocity*0.1f, hit.point, ForceMode.Impulse);
        }
    }
}
avatar
ninjaEX
Avançado
Avançado

PONTOS : 420
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Seg Jun 20, 2016 3:12 pm

Tem uma print do erro que ta dando?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por ninjaEX em Seg Jun 20, 2016 4:30 pm

olha aq os erros

Assets/minhas coisas/meus scripts/Nadar.cs(45,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_GravityMultiplier' and no extension method `m_GravityMultiplier' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(45,67): error CS1503: Argument `#1' cannot convert `object' expression to type `float'

Assets/minhas coisas/meus scripts/Nadar.cs(45,67): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments

Assets/minhas coisas/meus scripts/Nadar.cs(45,87): error CS1061: Type `FirstPersonController' does not contain a definition for `m_GravityMultiplier' and no extension method `m_GravityMultiplier' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(44,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_JumpSpeed' and no extension method `m_JumpSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(44,59): error CS1503: Argument `#1' cannot convert `object' expression to type `float'

Assets/minhas coisas/meus scripts/Nadar.cs(44,59): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments

Assets/minhas coisas/meus scripts/Nadar.cs(44,79): error CS1061: Type `FirstPersonController' does not contain a definition for `m_JumpSpeed' and no extension method `m_JumpSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(43,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_RunSpeed' and no extension method `m_RunSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(43,58): error CS1503: Argument `#1' cannot convert `object' expression to type `float'

Assets/minhas coisas/meus scripts/Nadar.cs(43,58): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments

Assets/minhas coisas/meus scripts/Nadar.cs(43,78): error CS1061: Type `FirstPersonController' does not contain a definition for `m_RunSpeed' and no extension method `m_RunSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(42,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_WalkSpeed' and no extension method `m_WalkSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(42,59): error CS1503: Argument `#1' cannot convert `object' expression to type `float'

Assets/minhas coisas/meus scripts/Nadar.cs(42,59): error CS1502: The best overloaded method match for `UnityEngine.Mathf.Lerp(float, float, float)' has some invalid arguments

Assets/minhas coisas/meus scripts/Nadar.cs(42,79): error CS1061: Type `FirstPersonController' does not contain a definition for `m_WalkSpeed' and no extension method `m_WalkSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(39,47): error CS1061: Type `FirstPersonController' does not contain a definition for `m_MoveDir' and no extension method `m_MoveDir' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(39,67): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Vector3'

Assets/minhas coisas/meus scripts/Nadar.cs(39,67): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Lerp(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments

Assets/minhas coisas/meus scripts/Nadar.cs(39,87): error CS1061: Type `FirstPersonController' does not contain a definition for `m_MoveDir' and no extension method `m_MoveDir' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(38,47): error CS1061: Type `FirstPersonController' does not contain a definition for `m_GravityMultiplier' and no extension method `m_GravityMultiplier' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)


Assets/minhas coisas/meus scripts/Nadar.cs(36,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_GravityMultiplier' and no extension method `m_GravityMultiplier' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(27,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_JumpSpeed' and no extension method `m_JumpSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(26,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_RunSpeed' and no extension method `m_RunSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(25,39): error CS1061: Type `FirstPersonController' does not contain a definition for `m_WalkSpeed' and no extension method `m_WalkSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(21,49): error CS1061: Type `FirstPersonController' does not contain a definition for `m_GravityMultiplier' and no extension method `m_GravityMultiplier' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(20,51): error CS1061: Type `FirstPersonController' does not contain a definition for `m_JumpSpeed' and no extension method `m_JumpSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(19,50): error CS1061: Type `FirstPersonController' does not contain a definition for `m_RunSpeed' and no extension method `m_RunSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

Assets/minhas coisas/meus scripts/Nadar.cs(18,51): error CS1061: Type `FirstPersonController' does not contain a definition for `m_WalkSpeed' and no extension method `m_WalkSpeed' of type `FirstPersonController' could be found (are you missing a using directive or an assembly reference?)

sao 29 erros e a versao do meu unity e 5.3.5

eu n tenho prints e o script e o mesmo que vc colocou no começo
avatar
ninjaEX
Avançado
Avançado

PONTOS : 420
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Seg Jun 20, 2016 4:35 pm

Diga, está usando o FPSController da Unity 5, conforme o tutorial? Ou está usando algum outro controlador?

Se estiver usando o FPSController da Unity 5, vou precisar que zipe o projeto e poste ai para eu ver, pois o erro não faz muito sentido O.o
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por ninjaEX em Seg Jun 20, 2016 6:00 pm

voltou ao normal pelo que parece algum outro script de outro asset esta mexendo nele
e que antes de eu fazer isso eu fui tirar um pouco de coisas que eu n estava usando que eu baixei quando eu n tinha uma ideia completa
avatar
ninjaEX
Avançado
Avançado

PONTOS : 420
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por ninjaEX em Sab Jul 02, 2016 12:49 am

tenho uma pergunta,tem como fazer um objeto com uma tag flutuar nessa agua?
avatar
ninjaEX
Avançado
Avançado

PONTOS : 420
REPUTAÇÃO : 4
Áreas de atuação : no unity,e eu sei o basico de programaçao e sou pessimo de modelar e AMO particulas
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sab Jul 02, 2016 12:47 pm

ninjaEX escreveu:tenho uma pergunta,tem como fazer um objeto com uma tag flutuar nessa agua?
Tem, mas isto é questão para outro tópico... tem tutoriais aqui pelo fórum ensinando a fazer objetos flutuarem em lugares
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por Rokkzul em Sex Jul 22, 2016 8:12 pm

Ora viva!

Muito obrigado pelos tutoriais Marco! Têm sido uma grande ajuda para eu aprender Unity.

Segui atentamente os dois vídeos, pelo que creio que está tudo praticamente ok. Apenas está a dar-me um erro no controlador aquando da compilação (6 vezes), nomeadamente:

Assets/Scripts/Controlador.cs(166,25): error CS0103: The name `_blur' does not exist in the current context

Pesquisei e poderia ser por não ter o "using UnityStandardAssets.ImageEffects;" no início do script mas aparentemente não é isso. Algumas ideias do que poderá ser o erro?

Em todo o caso, mais uma vez obrigado pelo tempo que dispensou a ensinar Unity ao pessoal. Um abraço de Portugal!

Rokkzul
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Sab Jul 23, 2016 2:51 pm

Bom, dado o erro com o "blur", acredito que seja relacionado ao primeiro script, o de efeito submerso e não o de flutuar... trataria-se deste tutorial em especial:

http://www.schultzgames.com/t482-tutorial-unity-5-efeito-submerso-underwater-effect-distorcao-da-agua-e-gotas-na-tela#2370

você importou as "ImageEffects"? qual a versão delas? e qual a versão da sua Unity?

Existe uma possibilidade (que estou estudando) de que alguns desses scripts foram alterados na versão 5.3+

Tem como mandar o script que você está utilizando e também mandar uma print do erro?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por Rokkzul em Dom Jul 24, 2016 8:31 am

MarcosSchultz escreveu:Bom, dado o erro com o "blur", acredito que seja relacionado ao primeiro script, o de efeito submerso e não o de flutuar... trataria-se deste tutorial em especial:

http://www.schultzgames.com/t482-tutorial-unity-5-efeito-submerso-underwater-effect-distorcao-da-agua-e-gotas-na-tela#2370

você importou as "ImageEffects"? qual a versão delas? e qual a versão da sua Unity?

Existe uma possibilidade (que estou estudando) de que alguns desses scripts foram alterados na versão 5.3+

Tem como mandar o script que você está utilizando e também mandar uma print do erro?

Viva!

Estou a usar a versão Unity "Unity 5.3.5f1 (64-bit)". Quando pergunta qual a versão do ImageEffects, sinceramente não sei ver qual é, em todo o caso não fiz nenhuma alteração - é a que vinha com o Unity. Se calhar é isso que diz sobre a versão (diferente) do Unity 5.3, porque se por exemplo remover do script qualquer menção ao "blur" já consigo compilar sem erros e o script funciona aparentemente sem problemas.  cheers 

O erro que me dá é este:



O script com o blur que estou a usar é este:

Código:
using UnityEngine;
using System.Collections;
using UnityStandardAssets.ImageEffects;

// Va em Edit > Project Setting > Graphics e no always adicione "GlassStainedBumpDistort"

[RequireComponent (typeof (Fisheye))]
[RequireComponent (typeof (Blur))]
[RequireComponent (typeof (SphereCollider))]
[RequireComponent (typeof (Rigidbody))]
[RequireComponent (typeof (EdgeDetection))]
[RequireComponent (typeof (Vortex))]
[RequireComponent (typeof (AudioSource))]

public class Controlador : MonoBehaviour {

 private bool revert, revert2, saiuDaAgua, temSunShafts;
 private float cronometro, cronometro2, cronometroGotas;

 public Texture TexturaPingos;
 public string TagAgua = "AGUA";
 public Color corAgua = new Color32 (15, 150, 125, 0);
 [Range(0.5f,1.5f)]
 public float Distorcao = 1;
 [Range(0.0f,0.2f)]
 public float VelocidadeDistorc = 0.15f;
 [Range(0.0f, 0.9f)]
 public float intensidadeCor = 0.3f;
 [Range(0,5)]
 public int DistanciaDeVisib = 2;
 [Range(0,10)]
 public float Visibilidade = 7;
 [Range(0,5)]
 public float IntensidadeSol = 3;
 public AudioClip somEntrando, somSaindo, somSubmerso;

 private GameObject objetoSomSub;
 private GameObject planoGotas;
 private AudioSource _audSourc;
 private Fisheye _fisheye;
 private Blur Blur;
 private EdgeDetection _edge;
 private Vortex _vortex;
 private SunShafts _sunShafts;
 private float intSolInicial;

 void Start (){
 objetoSomSub = new GameObject ();
 objetoSomSub.AddComponent (typeof(AudioSource));
 objetoSomSub.GetComponent<AudioSource> ().loop = true;
 objetoSomSub.transform.localPosition = new Vector3 (0, 0, 0);
 objetoSomSub.GetComponent<AudioSource> ().clip = somSubmerso;
 objetoSomSub.transform.parent = transform;
 objetoSomSub.SetActive (false);

 _fisheye = GetComponent<Fisheye> ();
 _blur = GetComponent<Blur> ();
 _edge = GetComponent<EdgeDetection> ();
 _vortex = GetComponent<Vortex> ();
 //
 GetComponent<SphereCollider> ().radius = 0.005f;
 GetComponent<SphereCollider> ().isTrigger = false;
 GetComponent<Rigidbody> ().isKinematic = true;
 GetComponent<Camera> ().nearClipPlane = 0.01f;
 //
 _blur.iterations = 5 - DistanciaDeVisib;
 _blur.blurSpread = 1 - (Visibilidade / 10);
 //
 _vortex.radius = new Vector2 (1, 1);
 _vortex.center = new Vector2 (0.5f, 0.5f);
 //
 _edge.mode = EdgeDetection.EdgeDetectMode.TriangleLuminance;
 _edge.lumThreshold = 0;
 _edge.sampleDist = 0;
 _edge.edgesOnly = intensidadeCor;
 _edge.edgesOnlyBgColor = corAgua;
 //
 _blur.enabled = false;
 _fisheye.enabled = false;
 _edge.enabled = false;
 _vortex.enabled = false;
 //
 planoGotas = GameObject.CreatePrimitive(PrimitiveType.Plane);
 Destroy (planoGotas.GetComponent<MeshCollider> ());
 planoGotas.transform.localScale = new Vector3 (0.02f, 0.02f, 0.02f);
 planoGotas.transform.parent = transform;
 planoGotas.transform.localPosition = new Vector3 (0, 0, 0.05f);
 planoGotas.transform.localEulerAngles = new Vector3 (90, 180, 0);
 planoGotas.GetComponent<Renderer>().material.shader = Shader.Find("FX/Glass/Stained BumpDistort");
 planoGotas.GetComponent<Renderer> ().material.SetTexture ("_BumpMap", TexturaPingos);
 planoGotas.GetComponent<Renderer> ().material.SetFloat ("_BumpAmt", 0);
 //
 if (GetComponent<SunShafts> () != null) {
 temSunShafts = true;
 _sunShafts = GetComponent<SunShafts> ();
 intSolInicial = _sunShafts.sunShaftIntensity;
 } else {
 temSunShafts = false;
 }
 //
 _audSourc = GetComponent<AudioSource> ();
 }

 void Update (){
 if (revert == false) {
 cronometro += Time.deltaTime * VelocidadeDistorc;
 }
 if (cronometro > 0.5f) {
 revert = true;
 }
 if (revert == true) {
 cronometro -= Time.deltaTime*VelocidadeDistorc;
 }
 if (cronometro < 0) {
 revert = false;
 }
 //
 if (revert2 == false) {
 cronometro2 += Time.deltaTime * VelocidadeDistorc * 2;
 }
 if (cronometro2 > 2) {
 revert2 = true;
 }
 if (revert2 == true) {
 cronometro2 -= Time.deltaTime * VelocidadeDistorc * 2;
 }
 if (cronometro2 < -1) {
 revert2 = false;
 }

 _vortex.center = new Vector2 (cronometro2, 0.5f);
 _vortex.angle = ((cronometro * 20) - 10) * (Distorcao * 2);

 _fisheye.strengthX = (cronometro / 2) * Distorcao;
 _fisheye.strengthX = 0.5f - cronometro * Distorcao;

 // PROPRIEDADES DO SHADER.
 if (saiuDaAgua == true) {
 cronometroGotas -= Time.deltaTime * 20;
 planoGotas.GetComponent<Renderer> ().material.SetTextureOffset ("_BumpMap", new Vector2 (0, -cronometroGotas / 100));
 planoGotas.GetComponent<Renderer> ().material.SetFloat ("BumpAmt", cronometroGotas);
 if(cronometroGotas < 0){
 cronometroGotas = 0;
 saiuDaAgua = false;
 planoGotas.GetComponent<Renderer> ().material.SetFloat ("_BumpAmt", 0);
 }
 }
 }
 void OntriggerEnter (Collider colisor) {
 if (colisor.gameObject.CompareTag (TagAgua)) {
 _blur.enabled = true;
 _fisheye.enabled = true;
 _edge.enabled = true;
 _vortex.enabled = true;
 saiuDaAgua = false;
 planoGotas.GetComponent<Renderer> ().material.SetFloat ("BumpAmt", 0);
 if (temSunShafts == true) {
 _sunShafts.sunShaftIntensity = _sunShafts.sunShaftIntensity * IntensidadeSol;
 }
 _audSourc.PlayOneShot (somEntrando);
 objetoSomSub.SetActive (true);
 }
 }
 void OnTriggerExit (Collider colisor) {
 if (colisor.gameObject.CompareTag (TagAgua)) {
 _blur.enabled = false;
 _fisheye.enabled = false;
 _edge.enabled = false;
 _vortex.enabled = false;
 saiuDaAgua = true;
 cronometroGotas = 40;
 if (temSunShafts == true) {
 _sunShafts.sunShaftIntensity = intSolInicial;
 }
 _audSourc.PlayOneShot (somSaindo);
 objetoSomSub.SetActive (false);
 }
 }
}

Rokkzul
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por weslleyFx em Dom Jul 24, 2016 8:36 am

você importo o Standard Assets > Effects ?

verifique se existe uma classe Chamada Blur
avatar
weslleyFx
Moderador

Masculino PONTOS : 2361
REPUTAÇÃO : 518
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por Santiago Furtado em Dom Jul 24, 2016 8:48 am

Ate lembro quando tentei fazer um efeito submerso kkk No começo tava ate bom,OnTrigger bugo tive que usar Raycast,Tive problemas ao controlar os audios,usei gambiarra,por fim apaguei o script e disse nunca mais faço gambiarra

Santiago Furtado
MembroAvançado

Masculino PONTOS : 965
REPUTAÇÃO : 15
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por Rokkzul em Dom Jul 24, 2016 10:27 am

weslleyFx escreveu:você importo o Standard Assets > Effects ?

verifique se existe uma classe Chamada Blur

Viva!

Penso que sim, porque se tentar fazer a importação novamente diz que "All assets from this package are already in your project"

A estrutura da pasta é a seguinte:



Quanto ao script "blur" ele aparentemente também está onde devia estar, penso eu. O script é este:

Código:
using System;
using UnityEngine;

namespace UnityStandardAssets.ImageEffects
{
    [ExecuteInEditMode]
    [AddComponentMenu("Image Effects/Blur/Blur")]
    public class Blur : MonoBehaviour
    {
        /// Blur iterations - larger number means more blur.
        [Range(0,10)]
        public int iterations = 3;

        /// Blur spread for each iteration. Lower values
        /// give better looking blur, but require more iterations to
        /// get large blurs. Value is usually between 0.5 and 1.0.
        [Range(0.0f,1.0f)]
        public float blurSpread = 0.6f;


        // --------------------------------------------------------
        // The blur iteration shader.
        // Basically it just takes 4 texture samples and averages them.
        // By applying it repeatedly and spreading out sample locations
        // we get a Gaussian blur approximation.

        public Shader blurShader = null;

        static Material m_Material = null;
        protected Material material {
            get {
                if (m_Material == null) {
                    m_Material = new Material(blurShader);
                    m_Material.hideFlags = HideFlags.DontSave;
                }
                return m_Material;
            }
        }

        protected void OnDisable() {
            if ( m_Material ) {
                DestroyImmediate( m_Material );
            }
        }

        // --------------------------------------------------------

        protected void Start()
        {
            // Disable if we don't support image effects
            if (!SystemInfo.supportsImageEffects) {
                enabled = false;
                return;
            }
            // Disable if the shader can't run on the users graphics card
            if (!blurShader || !material.shader.isSupported) {
                enabled = false;
                return;
            }
        }

        // Performs one blur iteration.
        public void FourTapCone (RenderTexture source, RenderTexture dest, int iteration)
        {
            float off = 0.5f + iteration*blurSpread;
            Graphics.BlitMultiTap (source, dest, material,
                                   new Vector2(-off, -off),
                                   new Vector2(-off,  off),
                                   new Vector2( off,  off),
                                   new Vector2( off, -off)
                );
        }

        // Downsamples the texture to a quarter resolution.
        private void DownSample4x (RenderTexture source, RenderTexture dest)
        {
            float off = 1.0f;
            Graphics.BlitMultiTap (source, dest, material,
                                   new Vector2(-off, -off),
                                   new Vector2(-off,  off),
                                   new Vector2( off,  off),
                                   new Vector2( off, -off)
                );
        }

        // Called by the camera to apply the image effect
        void OnRenderImage (RenderTexture source, RenderTexture destination) {
            int rtW = source.width/4;
            int rtH = source.height/4;
            RenderTexture buffer = RenderTexture.GetTemporary(rtW, rtH, 0);

            // Copy source to the 4x4 smaller texture.
            DownSample4x (source, buffer);

            // Blur the small texture
            for(int i = 0; i < iterations; i++)
            {
                RenderTexture buffer2 = RenderTexture.GetTemporary(rtW, rtH, 0);
                FourTapCone (buffer, buffer2, i);
                RenderTexture.ReleaseTemporary(buffer);
                buffer = buffer2;
            }
            Graphics.Blit(buffer, destination);

            RenderTexture.ReleaseTemporary(buffer);
        }
    }
}

Rokkzul
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Dom Jul 24, 2016 7:58 pm

Hmm, que erro estranho O.o não deveria estar acontecendo.

Se você criar um projeto novo e importar os Standard Assets > Effects, o erro acontece também?


Os scripts do StandarAssets estão na pasta "Editor" ou na pasta "Standar Assets" ???
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por Callyde Jr em Sab Nov 12, 2016 4:16 pm

Parabens Marcos esse sistema e fantastico e o que eu precisava, muito bom show de bola
avatar
Callyde Jr
Programador

Masculino PONTOS : 1006
REPUTAÇÃO : 128
Idade : 38
Áreas de atuação : Iniciante em modelagem
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por garden em Dom Abr 02, 2017 10:19 pm

Quando Eu estou com o controlador ativado as nuvem some oq faço ?

garden
Iniciante
Iniciante

PONTOS : 37
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso

Mensagem por MarcosSchultz em Qua Abr 05, 2017 11:42 pm

garden escreveu:Quando Eu estou com o controlador ativado as nuvem some oq faço ?

what? Tem como mandar print? Você está linkando o jogador no script?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8433
REPUTAÇÃO : 1248
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