问题解决了,实现了角色的高度随地形高低起伏而改变,分享一下
//创建一条射线
ray2 = new Ray(new Vector3(0,0,0),new Vector3(0,-10,0));
//创建碰撞信息
rayCastHit2 =new RaycastHit();
//针循环
public function _update():void {
//刷新人物位置,_position是缓动函数实时更新的坐标
roleModel.transform.position = _position;
//设置射线原点
ray2.origin=new Vector3(roleModel.transform.position.x, roleModel.transform.position.y+10, roleModel.transform.position.z);
//物理射线与碰撞器相交检测
Physics.rayCast(ray2, rayCastHit2, 300);
if(rayCastHit2.sprite3D)
{
//这里取碰撞点的y值给角色重新赋值
var currPosition:Vector3 = new Vector3(_position.x, rayCastHit2.position.y, _position.z);
roleModel.transform.position = currPosition;
}
//刷新摄像机位置
camera.transform.position=new Vector3(roleModel.transform.position.x, roleModel.transform.position.y + cameraY, roleModel.transform.position.z - cameraZ);
}