您好,登錄后才能下訂單哦!
一個小老鄉(xiāng)跟我聊到去上海某大公司的基礎面試題,面試結果不盡如人意,但還是分享了下面試的試題,剛剛第一次唱給視頻,給某人講課,我感覺講的還算比較耐心,但發(fā)現(xiàn)一些新手入門學習的弊端,可能是很普遍的現(xiàn)象,這也驗證了我之前所說的,看視頻學習的效果有時候并不是很好,鍛煉少,看著老師寫感覺我“懂”了,但實際并沒有真真掌握,這里不是特指批評某人,希望某人不要介意!1、容易滿足,易浮躁,所謂“滿瓶不動,半瓶搖”,我講的時候,在演示操作的時候,她總是說我知道了,我懂了,不要重復了,但輪到自己寫的時候卻不會了!學習的時候,還是要保持一顆謙遜的心,虛心求學!2、粗心大意,當我聽到她說她懂了,她會了的時候我就出道題目測試下是否真的掌握了,然后開心的一會就寫好,我一看,感覺不對,我叫她“翻譯”自己寫的東西,然后一看跟自己想的不一致,有時候考試也是這樣,粗心大意,走出考場感覺信心滿滿,但直到成績后卻覺得不可思議,相信覺得是老師改錯試卷了!其實不然,我想說的就是粗心要不得!
說出這么一個現(xiàn)象之后,接下來進入主題,分享上海某大型游戲公司的一個基礎測試題!
1.Unity中碰撞器(Collider)和觸發(fā)器(Trigger)的區(qū)別?
碰撞器(Collider)有碰撞效果,IsTrigger=false,可以調用OnCollisionEnter/Stay/Exit函數
觸發(fā)器(Trigger)沒有碰撞效果,isTrigger=true,可以調用OnTriggerEnter/Stay/Exit函數
2.物體發(fā)生碰撞的必要條件?
必須帶有collider碰撞器和rigibody剛體屬性或者人物控制器,其實人物控制器就包含了前兩者,另外一個物體也要必須帶有Collider,Collider分類:網格碰撞器,盒子碰撞器,膠囊碰撞器,球型碰撞器,地形碰撞器!
3.CharacterController和Rigidbody的區(qū)別?
Rigidbody具有完全真實物理的特性,而CharacterController可以說是受限的的Rigidbody,具有一定的物理效果但不是完全真實的。
4.物體發(fā)生碰撞時,有幾個階段,分別對應的函數?
三個階段,OnCollisionEnter/Stay/Exit函數
5.物體發(fā)生碰撞時,幾種施加壓力的方式,描述出來?
rigidbody.AddForce/AddForceAtPosition,都是rigidbody的成員函數
6.Unity3d提供了幾種光源,分別是什么?
共4種,DirectionalLight、PointLight、SpotLight、AreaLight(用于烘焙)
7.物理更新一般在哪個系統(tǒng)函數里?
FixedUpdate,每固定幀繪制時執(zhí)行一次,和update不同的是FixedUpdate是渲染幀執(zhí)行,如果你的渲染幀效率低下的時候FixedUpdate調用次數就會跟著下降。FixedUpdate比較適合用于物理引擎的計算,因為是跟每幀的渲染有關。Update就比較適合做控制。
8.移動相機動作在哪個函數里,為什么在這個函數里。
LateUpdate,是在所有的update結束后才調用,比較適合用于命令腳本的執(zhí)行。官網上例子是攝像機的跟隨,都是所有的update操作完才進行攝像機的跟進,不然就有可能出現(xiàn)攝像機已經推進了,但是視角里還未有角色的空幀出現(xiàn)。
9.簡述一下Prefab的用處?
在游戲運行時實例化,prefab相當于一個模板,對你已經有的素材、腳本、參數做一個默認的配置,以便于以后的修改,同事prefab打包的內容簡化了導出的操作,便于團隊的交流。
10.簡述一下對象池,你覺得在FPS游戲里哪些東西適合使用對象池?
對象池就存放需要被反復調用資源的一個空間,比如游戲中要常被大量復制的對象,×××,敵人,以及任何重復出現(xiàn)的對象。
11.最后一題就不詳細說了,時間也不早了,該洗洗睡了,可以參考這個來模仿:
1. 機槍兵在平時站立時,處于 空閑 狀態(tài);
初始化狀態(tài)機,并將 空閑 狀態(tài)作為初始狀態(tài)放入狀態(tài)機堆棧中;狀態(tài)機堆棧:【空閑】
2. 機槍兵發(fā)現(xiàn)敵人,并且敵人在射程范圍內,機槍兵開始***敵人;此時,機槍兵進入 *** 狀態(tài);
進入 *** 狀態(tài);狀態(tài)機堆棧:【***】【空閑】
3. 敵人死亡,機槍兵停止***;此時,機槍兵回到 空閑 狀態(tài);
退出當前狀態(tài);狀態(tài)機堆棧:【空閑】
4. 此時玩家發(fā)出進攻命令,此進攻命令是用A鍵點了遠處的一個地面 place1 ,也就是沒有具體目標的進攻;此時,機槍兵進入 移動進攻 狀態(tài);
進入 移動進攻 狀態(tài);狀態(tài)機堆棧:【移動進攻】【空閑】
5. 在移動過程中,機槍兵發(fā)現(xiàn)了敵人,所以他要脫離原來的路徑,走向發(fā)現(xiàn)的敵人;此時,機槍兵進入 追擊 狀態(tài);
進入 追擊 狀態(tài);狀態(tài)機堆棧:【追擊】【移動進攻】【空閑】
6. 機槍兵和敵人的距離小于了自己的射程之后,機槍兵停下來,并且***敵人;此時,機槍兵進入了 *** 狀態(tài);
切換到 *** 狀態(tài);狀態(tài)機堆棧:【***】【移動進攻】【空閑】
7. 敵人死亡后,機槍兵重新尋路到place1,繼續(xù)前進;此時機槍兵回到步驟4,回到了 移動進攻 狀態(tài)。
退出當前狀態(tài);狀態(tài)機堆棧:【移動***】【空閑】
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。