[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
+11
Callyde Jr
Santiago Furtado
Rokkzul
ninjaEX
DZjocker
TiagoBRx
KPzone
Weslley
anizioNoob
magnamaster
MarcosSchultz
15 participantes
Página 1 de 1
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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:
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)
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
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
- PONTOS : 3194
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
É por que você não viu o segundo vídeo completo -.-
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
anizioNoob- Avançado
- PONTOS : 3478
REPUTAÇÃO : 17
Idade : 22
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
- PONTOS : 3194
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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 ?
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 ?
Weslley- Moderador
- PONTOS : 5728
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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 }
}
void OnTriggerExit(Collider colisor){
if (colisor.gameObject.CompareTag (TagAgua)) {
dentroDaAgua = false;
}
}
}
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
}
void OnTriggerExit(Collider colisor){
if (colisor.gameObject.CompareTag (TagAgua)) {
dentroDaAgua = false;
}
}
}
magnamaster- Iniciante
- PONTOS : 3194
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Não este, o do FPSController, o controlador mesmo
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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<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);
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);
}
}
}
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<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);
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
- PONTOS : 3194
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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 .-.
O segundo vídeo eu falo especificamente da edição deste código, para que o sistema funcione .-.
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Eu tenho um erro, não me deixe m_walkspeed , m_gravityspeed , e todos aqueles
KPzone- Iniciante
- PONTOS : 3089
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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.
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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 ^^'
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
- PONTOS : 3105
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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.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 ^^'
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
- PONTOS : 3082
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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.
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
o meu esta tendo os mesmo problemas e eu editei o fps controler
ninjaEX- Avançado
- PONTOS : 3188
REPUTAÇÃO : 6
Á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 :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
ninjaEX escreveu:o meu esta tendo os mesmo problemas e eu editei o fps controler
Manda o script do seu FPSController editado ai
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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);
}
}
}
ninjaEX- Avançado
- PONTOS : 3188
REPUTAÇÃO : 6
Á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 :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Tem uma print do erro que ta dando?
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
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
ninjaEX- Avançado
- PONTOS : 3188
REPUTAÇÃO : 6
Á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 :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
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
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
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
ninjaEX- Avançado
- PONTOS : 3188
REPUTAÇÃO : 6
Á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 :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
tenho uma pergunta,tem como fazer um objeto com uma tag flutuar nessa agua?
ninjaEX- Avançado
- PONTOS : 3188
REPUTAÇÃO : 6
Á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 :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Tem, mas isto é questão para outro tópico... tem tutoriais aqui pelo fórum ensinando a fazer objetos flutuarem em lugaresninjaEX escreveu:tenho uma pergunta,tem como fazer um objeto com uma tag flutuar nessa agua?
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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!
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
- PONTOS : 3059
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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:
https://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?
https://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?
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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:
https://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.
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
- PONTOS : 3059
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
você importo o Standard Assets > Effects ?
verifique se existe uma classe Chamada Blur
verifique se existe uma classe Chamada Blur
Weslley- Moderador
- PONTOS : 5728
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
- PONTOS : 3737
REPUTAÇÃO : 16
Idade : 23
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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
- PONTOS : 3059
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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" ???
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" ???
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Parabens Marcos esse sistema e fantastico e o que eu precisava, muito bom show de bola
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Quando Eu estou com o controlador ativado as nuvem some oq faço ?
garden- Iniciante
- PONTOS : 2806
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
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?
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Hi Marcos and thanks for your great tutorials... I'm using your underwater effect and swimming system and all works great.. btw
i would to determine if the player is underwater so oxygen drains down starts and when player go on water level oxygen drain up-
at the moment when player is in water oxygen drains down even is player head is on water level this since player position is determinated by "on triggger enter collider" i suppose.. so
how can i try to acheive my goal?'
many thanks in advance
leon
i would to determine if the player is underwater so oxygen drains down starts and when player go on water level oxygen drain up-
at the moment when player is in water oxygen drains down even is player head is on water level this since player position is determinated by "on triggger enter collider" i suppose.. so
how can i try to acheive my goal?'
many thanks in advance
leon
JCLEON- Iniciante
- PONTOS : 3029
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
JCLEON escreveu:Hi Marcos and thanks for your great tutorials... I'm using your underwater effect and swimming system and all works great.. btw
i would to determine if the player is underwater so oxygen drains down starts and when player go on water level oxygen drain up-
at the moment when player is in water oxygen drains down even is player head is on water level this since player position is determinated by "on triggger enter collider" i suppose.. so
how can i try to acheive my goal?'
many thanks in advance
leon
Poderia especificar um pouco melhor a sua dúvida?
Fica um pouco difícil de entender pois tenho que traduzir.
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Eu entendi que o oxigênio começa a diminuir quando o player entra na água, até quando a cabeça esta no nível da água, e ele quer que o oxigênio só comece a diminuir quando o player estiver com a cabeça debaixo d'água, e quando a cabeça no nível da água o oxigênio aumente.MarcosSchultz escreveu:JCLEON escreveu:Hi Marcos and thanks for your great tutorials... I'm using your underwater effect and swimming system and all works great.. btw
i would to determine if the player is underwater so oxygen drains down starts and when player go on water level oxygen drain up-
at the moment when player is in water oxygen drains down even is player head is on water level this since player position is determinated by "on triggger enter collider" i suppose.. so
how can i try to acheive my goal?'
many thanks in advance
leon
Poderia especificar um pouco melhor a sua dúvida?
Fica um pouco difícil de entender pois tenho que traduzir.
MiguelLuiz- Programador
- PONTOS : 3088
REPUTAÇÃO : 10
Idade : 21
Áreas de atuação : Programação C#(Intermediário), Modelagem com Blender (Iniciante - Intermediário).
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
yes i mean what MigelLuiz explainedMiguelLuiz escreveu:Eu entendi que o oxigênio começa a diminuir quando o player entra na água, até quando a cabeça esta no nível da água, e ele quer que o oxigênio só comece a diminuir quando o player estiver com a cabeça debaixo d'água, e quando a cabeça no nível da água o oxigênio aumente.MarcosSchultz escreveu:JCLEON escreveu:Hi Marcos and thanks for your great tutorials... I'm using your underwater effect and swimming system and all works great.. btw
i would to determine if the player is underwater so oxygen drains down starts and when player go on water level oxygen drain up-
at the moment when player is in water oxygen drains down even is player head is on water level this since player position is determinated by "on triggger enter collider" i suppose.. so
how can i try to acheive my goal?'
many thanks in advance
leon
Poderia especificar um pouco melhor a sua dúvida?
Fica um pouco difícil de entender pois tenho que traduzir.
JCLEON- Iniciante
- PONTOS : 3029
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
O problema ocorre por que você está usando a void OnTriggerEnter no seu jogador, e não na sua câmera.
O código responsável por fazer o efeito submerso está na câmera do jogador. Se você quer que algo aconteça apenas quando o jogador estiver submerso, deve associar os scripts na câmera do jogador.
O código responsável por fazer o efeito submerso está na câmera do jogador. Se você quer que algo aconteça apenas quando o jogador estiver submerso, deve associar os scripts na câmera do jogador.
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
yes ...thanks for your reply i managed to accomplish that and i integrated your great water script into my project togheter with your MS Drag i purchased from asset store...MarcosSchultz escreveu:O problema ocorre por que você está usando a void OnTriggerEnter no seu jogador, e não na sua câmera.
O código responsável por fazer o efeito submerso está na câmera do jogador. Se você quer que algo aconteça apenas quando o jogador estiver submerso, deve associar os scripts na câmera do jogador.
thanks.
JCLEON- Iniciante
- PONTOS : 3029
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Estou usando a unity 2017 esses erros estão mostrando aqui nessa nova versão como posso resolver?
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
O que estava faltandoe que na unity 2017
mageEffects nao tinha,
eu tinha aqui um projeto feito de outra versao 5.6 entao coloquei e pronto
mageEffects nao tinha,
eu tinha aqui um projeto feito de outra versao 5.6 entao coloquei e pronto
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Uma bela tutorial como sempre. parabens pelo trabalho marcos. :D :D :D :D :D
ronito- Avançado
- PONTOS : 3670
REPUTAÇÃO : 9
Idade : 27
Respeito as regras :
Re: [TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Achei aqui pode resolver esses erros
Imagens Efe
Effect
Imagens Efe
Effect
Tópicos semelhantes
» [TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
» Como fazer o personagem nadar e mergulhar ??
» Ajuda a fazer o personagem nadar e mergulhar
» Como fazer o personagem nadar e mergulhar em 3ª pessoa?
» Efeito submerso e agua em 2D
» Como fazer o personagem nadar e mergulhar ??
» Ajuda a fazer o personagem nadar e mergulhar
» Como fazer o personagem nadar e mergulhar em 3ª pessoa?
» Efeito submerso e agua em 2D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos