1.Unity脚本和C#脚本的区别?
*unity脚本继承自MonoBehavior。
*unity脚本不能new。
*unity脚本有自己的生命周期。
*unity脚本作为组件附加在GameObject上面,是GameObject的附加功能(unity的使用是组件模式)
2.GameObject和Transform的区别
*GameObject是游戏对象本身。
*Transform是一个特殊的组件在unity引擎中(1.必有组件,任何游戏对象都有transform组件。 2.二者互相可获取。3.方法较多)
*GameObject:游戏对象的基本操作
*gameObject.activeSelf 是否激活
*gameObject.tag 标签
*gameObject.layer 层
*gameObject.name 名字
Transform:位置,旋转,缩放
transform.Position 位置
transform.Rotation 旋转
transform.Scale 缩放
3.生命周期
一个游戏组件的脚本,从开始实例化,到结束实例化被销毁,有一个完整的生命周期。
void Reset(){}
void Awake(){}
void OnEnable(){}
void Start(){}
void FixedUpdate(){}
void OnTriggerEnter(Collider other){}
void OnTriggerStay(Collider other){}
void OnTriggerExit(Collider other){}
void OnCollisionEnter(Collision other){}
void OnCollisionStay(Collision other){}
void OnCollisionExit(Collision other){}
void OnMouseUp(){}
void OnMouseDown(){}
void OnMouseEnter(){}
void OnMouseExit(){}
void OnMouseOver(){}
void Update(){}
void LateUpdate(){}
void OnGUI(){}
void OnApplicationPause(){}
void OnDisable(){}
void OnDestroy(){}
4.4种访问修饰符Public, Private, Protected, Internal.
5.GameObject动态获取(查找)游戏对象
GameObject.Find()
GameObject.FindObjectWithTag()
GameObject.FindObjectOfType<>();
6.transform获取子节点或组件方法
transform.Find
FindChild()
transform.GetChild();
transform.GetComponentInChildren<>();
7.添加/获取/删除组件
gameObject.AddComponent<>();
gameObject.GetComponnet<>();
Destroy(gameObject.GetComponnet<>());
8.物体位移、自转、公转的方法
transform.Translate();
transform.Rotate();
transform.RotateAround();
9.向量的模/标准化/叉乘/点乘/距离Vector3.magnitude
Vector3.Normalize
Vector3.Cross
Vector3.Dotvector
Vector3.Distance();
10.Time.帧分量、当前时间、时间缩放
Time.deltaTime
Time.time
Time.timeScale;
11.Input.键盘、鼠标按键(0,1,2)/鼠标滚轴/GetAxis()* Input面板:Edit->ProjectSetting->Input;
Input.GetKey,GetKeyDown,GetKeyUpInput.
GetMouseButtonInput.GetAxis("Mouse ScrollWheel");
Input.deltaScrollWheelInput.GetAxis("Horizontal/Vertical")
Input.GetAxis("Mouse X/Mouse Y")
10.Mathf.绝对值、乒乓、插值、开方
Mathf.Abs
Mathf.Pingpang
Mathf.Lerp
Mathf.Sqrt
11.Random.值和区间
Random.value
Random.Range(int,[)/ float[])
12.刚体和4种碰撞器;
RigidBody,
BoxCollider
CapsuelCollider
SphereCollider
MeshCollider
TerrainCollider
13.刚体碰撞和触发的6个方法14.给刚体施加力和力矩
AddForce
AddTorque
AddRelativeForce
AddRelativeTorque
15.寻路导航,代理,障碍,分离网格
Navigation
Nav Mesh Agent
Nav Mesh Obstacle
Off Mesh link
16.射线检测的方法。
Ray ray=Camera.main.ScreenPointToRayRaycastHit hit;Physics.RayCast(ray,out hit,distance,layerMask)Physics.RayCast(start,end);
17.材质
gameObject.GetComponent().Material.Color/mainTexture
18.角色控制器
CharactorController.Move/SimpleMove
19.线渲染和拖尾
Line Renderer
Trail Renderer
20.基础几何体
21.常见异常
NullRefrenceException
UnassignedException
MissingComponetException
IndexOutOfRangeException
Argument
22.画布3种模式
Overlay
Camera
World
23.常用设计分辨率?
1136x640
1334*750
1280*720
16:9
24.Button点击事件,脚本添加?
Button btn;
btn.onClick.AddListener(函数,匿名函数,larmda);
25.布局管理器?
GridLayout
HorizonLayout
VerticalLayout
-------------
Content Size Fitter
26.EventSystem事件接口?
点击
IPointerClick,Enter,Exit,Down,Up
拖拽
IDrag/IBeginDrag/IEndDrag/IDrop