欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。
角色控制器
角色控制器主要用于第三人称或第一人称游戏主角控制,并不使用刚体物理效果。
选择你要加角色控制器的物体,在右侧的Inspector窗口选中下面的Add Component>Physics> Charactr Controller就可以为这个物体添加角色控制器了。
通过调用SimpleMove()使物体移动
CharacterController controller;
public float speed=10;
void Start () {
controller=this.GetComponent<CharacterController>();
}
void Update () {
controller.SimpleMove (new Vector3(Input.GetAxis("Horizontal")*speed,0,Input.GetAxis("Vertical")*speed));
}
}
射线
射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。
用途:射线应用范围比较广, 多用于碰撞检测(如:子弹飞行是否击中目标)、角色移动等 等。
利用射线打豆豆:
public GameObject bean1;
void Update ()
{
if(Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast(ray,out hit,1000))
{
GameObject go=GameObject.Instantiate(bean1,hit.point,transform.rotation)as GameObject;
}
}
忽略碰撞
有些时候我们不想让指定的两对象发生碰撞,即要忽略他们的碰撞
public Transform ball;
void Start() {
Physics.IgnoreCollision(ball.collider, this.collider);
}