Question by
Guylian_Dev · Jan 02, 2018 at 10:20 AM ·
collisioncharactercontroller
How do i check for a character controller to overlap a gameobject on a specific layer
I'm new to unity and i want to know how i can check if a character controller is touching a object on a specific layer.
Here is my code:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Player : MonoBehaviour {
public CharacterController playerController = new CharacterController();
public Vector2 playerVector = new Vector2(0, 0);
//public Transform groundCheck;
//public Collision2D coll;
bool Grounded;
float posX = 0;
float posY = 0;
bool canJump = false;
bool inAir = true;
// Use this for initialization
void Start()
{
Debug.Log("test");
}
// Update is called once per frame
void Update () {
inAir = true;
#region Directional Movement
/*Getting user input*/
if (Input.GetKey("right"))
{
if(posX < 16)
{
posX = posX + 8;
playerVector.x = posX;
}
}
else if (Input.GetKey("left"))
{
if (posX > -16)
{
posX = posX - 8;
playerVector.x = posX;
}
}
/*Add a slowdown effect to the movement*/
if (!Input.GetKey("right"))
{
if (posX > 0)
{
posX = posX - 1;
playerVector.x = posX;
}
}
if (!Input.GetKey("left"))
{
if (posX < 0)
{
posX = posX + 1;
playerVector.x = posX;
}
}
#endregion
#region Gravity
/*Cast the line to see if we are on the ground*/
//Grounded = playerController.isGrounded; Physics2D.Linecast(transform.position, groundCheck.position, 1<<LayerMask.NameToLayer("LevelGround"));
/*if (coll.otherCollider.IsTouchingLayers(8))
{
Debug.Log("Hit");
}
if (Grounded == false)
{
inAir = true;
Debug.Log("Air = true");
}
else
{
inAir = false;
Debug.Log("Air = false");
}*/
/*Gravity Script*/
if(inAir == true)
{
posY = posY - 1;
playerVector.y = posY;
}
else
{
posY = posY + 1;
playerVector.y = posY;
}
#endregion
/*Moving the player*/
playerController.Move((playerVector * 2) * Time.deltaTime);
}
}
Comment
Your answer
Follow this Question
Related Questions
Player pushes object but gets pushed into the Wall/Boundary 0 Answers
I'm having issues with collision and Physics 1 Answer
How do I make player attack with LMB if the enemy is within range? 0 Answers
How do I make the player walk up walls using raycast? (making a mountain goat game prototype) 2 Answers
Flying character rigidbody - can't see any static collider 1 Answer