Unity 3D 基础知识点
1. Horizontal 水平轴,Vertical 垂直位移,它们只是一个增量,取值的范围为-1到1.
2. Mouse X 鼠标水平移动,代码如下
this.transform.Translate(condition * Time.deltaTime * multiple, 0, 0)
3. Mouse Y 鼠标垂直垂直移动 ,代码如下
4. this.transform.Rotate(Vector3.left, condition * 10);
5. 物体朝向某个物体的方位this.transform.LookAt(transform);
6. Camera 中的Depth参数表示摄像机的视角,其中数值较大的在数值较小的上面(即Y值较大)
7. Camera 的属性代表视角度的范围,范围以外的视角是黑色
8. Camera 的Audio Listener 表示耳朵,可以监听目标发出的声音
9. Mesh 网格是用来建造复杂的GameObject,比如坦克,汽车等
10. Material 材质,表示GameObject的物理属性
11. Texture 纹理,表示GameObject表面是啥样子
12. Render Setting 设置整个Scene的天空盒子,Compont–>Rendering—>Skybox设置摄像机的天空盒子,摄像机的天空盒子优先级高于Scene的,勾选Fog设置雾效果
13. Material–>Inspector视图—-> RenderFX—-> SkyBox 自制天空盒子,自制天空盒子的材料将Warp Mode 设置成Damp可以无缝连接六张图片
14. GameObject 的Mesh Render属性控制游戏场景中物体的可见性,勾选Static属性,可以使物体不会移动
15. this.transform.TransformPoint可以将坐标点从Local—> world
16. this.transform.InverseTransformDirection以将坐标点从world —> Local
17. this.transform.TransformDirection方向从Local—> world
18. this.transform.InverseTransformDirection方向从world —> Local
19. GUI中屏幕坐标系以左上角为原点,右下角为(Screen.Width,Screen.Height)
20. GUILayout直接控制全部控件的样式,类似Js中的CSS
21. Camera :场景中包含多个camera时,想在预览时优先呈现某个视角时,把该camera的depth属性值设置为较大值(大于其他camera)
22. skybox:一种是全场景应用,一种是挂在camera上,随camera而变化,类似大家在同一个地图打怪,个人可以设置自己特有的背景画面
23. 系统自带方法解释
void Awake () –初始化函数,在游戏开始时系统自动调用。一般用来创建变量之类的东西。
void Start() –初始化函数,在所有Awake函数运行完之后(一般是这样,但不一定),在所有Update函数前系统自动条用。一般用来给变量赋值。
void Update() –刷新函数,在游戏的每一帧都会调用。
void FixedUpdate() –以固定的频率,系统自动调用。
void LateUpdate() –在Update函数之后调用。
24. Instantiate生成物体方法中的第一个参数(物体对象),必须要在Inspector上指定,否则报一个空对象的错误
25. 上周讨论时记录的几个问题,网上查阅的结果
1 /// 镜头离目标的距离 2 3 /// </summary> 4 5 public float Distance = 30.0f; 6 7 /// <summary> 8 9 /// 鼠标滚轮拉近拉远速度系数 10 11 /// </summary> 12 13 public float ScrollFactor = 10.0f; 14 15 //滚轮向前:拉近距离;滚轮向后:拉远距离 16 17 var scrollAmount = Input.GetAxis(GameSetting.MouseScrollWheel); 18 19 Distance -= scrollAmount * ScrollFactor; 20 21 22 23 //在攻击范围内:面朝玩家 24 25 var lookRotation = Quaternion.LookRotation(mTargetTransform.position – transform.position); 26 27 transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, RotateSpeed * Time.deltaTime);
26. VS2010/12不能挂脚本调试—原因之一建立的工程中未导入VS的资源包或reference中未设置为VS为调试工具