碰撞发生 必须要有Collider 其中之一必须有刚体组件
viod OncollisionEnter(Collision collision){
//进入碰撞
}
viod OncollisionStayr(Collision collision){
//碰撞中
}
viod OncollisionExit(Collision collision){
//退出碰撞
}
viod OnTrrigerEnter(Collider other){
}
碰撞发生 必须要有Collider 其中之一必须有刚体组件
viod OncollisionEnter(Collision collision){
//进入碰撞
}
viod OncollisionStayr(Collision collision){
//碰撞中
}
viod OncollisionExit(Collision collision){
//退出碰撞
}
viod OnTrrigerEnter(Collider other){
}
Debug.LogWarning
Debug.LogError
leisi
任务6
1.解决错误的时候先去解决第一个
2.先把课程写了
[零基础入门 丛林探险]相机不跟随角色了
详细的错误信息 与问题相关的
在运行游戏的时候出现了异常,并且相机不跟随角色移动了。
异常信息
出问题的代码
Unity的版本号和插件的版本号
说的好像提bug一样
2333
float h = Input.GetAxis("Horizontal");
水平方向移动
float v = Input.GetAxis("Vertical");
垂直方向移动
rd.AddForce(new Vector3(h, 0, v));
把设的h和v填入相应的位置
public float speed = 3;
transform.Translate(new Vector3(h, 0, v)*speed);
可以设置一个速度,在乘与
public class player : MonoBehaviour {
public Transform pt;
private Vector3 offset;
// Use this for initialization
void Start () {
offset=transform.position - pt.position;
}
// Update is called once per frame
void Update () {
transform.position= pt.position + offset;
}
}
相机跟随物体。先定义物体的Transform,在开始写出物体和相机的偏移值为相机的position减去物体的position,再定义一个值来保存这个数据public Vector3 offset,在Update里相机的位置为物体的position+offset(偏移值)。
transform.Rotate(new Vector3(0, 1, 0));
围绕一个轴旋转
collision.colldier
获取碰撞到游戏物体身上的collision组件
string name = collision.collider.name;
获取碰撞道德游戏物体的名字
print
可以把一个字符串输出显示到控制台
Destroy(collision.collider.gameObject)
销毁游戏物体
private void OnCollisionEnter(Collider other)
碰撞检测
private void OnCollisionExit(Collision collision)
检测物体碰撞后离开,只会触发一次
private void OnCollisionStay(Collision collision)
检测物体在碰撞后呆一段时间,会一直触发
word文档下载后无法打开
Mac平台下
1.学习unity必定要高强度连续的集中精神,因此我每次开始新的课程之前应该把5-10个课时为一个单元进行连续学习。切记学习一定要全神贯注。
2.自己可以开一个blog天天记录自己的学习状态与案例
3.一定要坚持觉得无聊时候也要坚持
感觉这个笔记写的很好,
//创建物体的3种方式
public GameObject prefab;
void Start () {
GameObject go = new GameObject("cube");
GameObject.Instantiate(prefab);
GameObject.CreatePrimitive(PrimitiveType.Capsule);
}
//测试方法的性能用的
public int count = 10000000;
void Start()
{
float time1 = Time.realtimeSinceStartup;
for (int i = 0; i < count; i++)
{
Method1();
}
float time2 = Time.realtimeSinceStartup;
Debug.Log(time2-time1);
float time3 = Time.realtimeSinceStartup;
for (int i = 0; i < count; i++)
{
Method2();
}
float time4 = Time.realtimeSinceStartup;
Debug.Log(time4-time3);
}