1 点击物体触发事件的思路
RaycastHit hit;//射线投射碰撞信息
// 从鼠标所在的位置发射
Vector2 screenPosition = Input.mousePosition;//当前鼠标的位置
var ray = Camera.ScreenPointToRay(screenPosition); //从当前屏幕鼠标位置发出一条射线
if (Physics.Raycast(ray, out hit) && hit.transform == transform)//判断是否点击到实例物体上
{
//此处为开关处理
//Debug.Log(this.transform.name);
if (!up) { down = false; up = true; }
else { down = true; up = false; }
}
2.Transform–rotation
2.1 transform.localEulerAngles
使用localEulerAngles进行旋转的时候,我们要使用
transform.localEulerAngles = new Vector3(x, y,z);
其中,new Vector(x,y,z)为游戏物体最终旋转到的目标角度,x.y,z的值分别都是以0为基准,假设游戏物体的初始角度为(x1,y1,z1),则游戏物体从(x1,y1,z1)旋转到(x,y,z),同时也以自身坐标系为参考,而不是世界坐标系。
2.2 transform.rotation
将欧拉旋转角转换为四元素旋转角
Quaternion rotation= Quaternion.Euler(new Vector3(x, y,z));
Transform.rotation=rotation;
new Vector(x,y,z)为游戏物体最终旋转到的目标角度,x.y,z的值分别都是以0为基准,假设游戏物体的初始角度为(x1,y1,z1),则游戏物体从(x1,y1,z1)旋转到(x,y,z),,同时也以自身坐标系为参考,而不是世界坐标系。
2.3 transform.Rotate(参数)
transform.Rotate(x,y,z):以自身坐标系为参考,而不是世界坐标系,分别以x度y度z度绕X轴、Y轴、Z轴匀速旋转
transform.Rotate(轴, Space.Self):以自身坐标系为参考
Transform.Rotate(轴,Space.World):以世界坐标系为参考
3 Transform position
human.transform.position = new Vector3(x, y, z);
4 Transform father&son
GameObject father = GameObject.Find("Canvas");//父目录
GameObject f = father.transform.Find("All").gameObject;//子
f.SetActive(false);
此方法可以选中active值为false的对象,直接find不可以!!
5 button点击事件纯脚本方式
Button btn = this.GetComponent<Button>();
btn.onClick.AddListener(OnClick);
private void OnClick()
6 unity编辑器中的中文输入问题
将光标放在中英文切换出即可...
7点光源个数限制
进入Edit | Project Settings | Quality界面调整最大点光源个数
本文详细介绍了在Unity中实现物体交互的方法,包括通过射线投射触发物体事件,使用Transform组件进行物体旋转和平移,以及如何通过脚本实现按钮点击事件。同时,文中还提到了Unity编辑器的一些常见问题解决方法。

8443

被折叠的 条评论
为什么被折叠?



