Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)

(1)为物体添加初速度:

Rigidbody rigidbody;
rigidbody.velocity = new Vector2();

(2)为物体施加力的作用:

Rigidbody rigidbody;
rigidbody.AddForce(new Vector3(x,y,z));

(3)屏幕坐标转换为世界坐标
Camera.ScreenToWorldPoint
官方解释:

public Vector3 ScreenToWorldPoint(Vector3 position);
Description
Transforms position from screen space into world space.
Screenspace is defined in pixels. The bottom-left of the screen is (0,0); the right-top is (pixelWidth,pixelHeight). The z position is in world units from the camera.

注意,屏幕坐标以左下角为原点(0,0),世界坐标的原点以Camera为中心。
(4)Input类的常见方法:
获取鼠标点击位置:Input.mousePosition
获取键盘或操纵杆输入:Input.GetAxis或者Input.GetAxisRaw
控制移动:Input.GetAxis(axisName)axisName可以自行设置,一般是“Horizon”水平方向移动,“Vertical”垂直方向移动
(5)碰撞检测:(碰撞器不可穿透,即物体碰撞)

Collider.OnCollisionEnter(Collision)
Collider.OnCollisionStay(Collision)
Collider.OnCollisionExit(Collision)

上面三个方法对应,当物体开始进入、已经进入并停留、离开另一个物体三个状态。

触发检测:(碰撞器可以穿透)

Collider.OnTriggerEnter(Collider)
Collider.OnTriggerStay(Collider)
Collider.OnTriggerExit(Collider)

上面三个方法对应,当物体开始进入、已经进入并停留、离开另一个物体三个状态。
(6)控制物体旋转:

Transform.Rotate(new Vector(x,y,z))

使当前物体绕x/y/z轴以每秒x/y/z度的速度旋转。
(7)激活与否组件:

GameObject.SetActive(true/false)

猜你喜欢

转载自blog.csdn.net/weixin_37658157/article/details/78335479
今日推荐