日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity3D专访——真正的面试

發布時間:2025/4/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity3D专访——真正的面试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本來想寫一系列的,一半的攻擊,現在面試的水。人之奸,用大哥的話說,要走新手是做螺絲釘和抹布用的。還有一半是對出出學校的或者是自廢武功轉3d的朋友們提供一個比較有價值的參考。

只是我時間實在倉促。沒有保證。寫一點算一點吧。


先識別一下,你到了公司會讓你干什么:
1.UI(面試題會偏向NGUI等ui操作,會考到一些簡單的排序算法,數據結構。問題處理思路等)
2.數據邏輯層(會考到數據結構的搭配。配置表的構造等)
3.游戲控制流程(會考到狀態機的設計,與server協議的設計。以及少量lua或python腳本編寫內容)
4.項目架構(主程內容。。

你懂得。

反正我還不夠格面這個。。)



UI的沒什么好說的。去了之后天天layout,毫無樂趣。可是吧,新手都得虐過一次,才干夠。

數據邏輯層,也就是統籌整個游戲的后臺運算數據,按照網絡模塊給予的數據,維護整個數據基的穩定和swift。

這個工作與

unity基本無關。可是是不可缺少的。一般簡歷上寫過什么acm之類的。會讓你搞這個吧。

游戲控制流程,至此開始進入高級程序猿的行列。你會接觸非常多unity相關的內容,比方技能釋放。角色換裝,角色狀態控制等等有趣的內容。通常假設你不是自廢武功轉3d或者再原來公司本來就干這個,僅僅是干膩了跳槽而已。是不會讓新手干這個的。項目架構這個略掉,我沒資格談這個。



說道這里本來應該結束廢話的,可是可能引導大家對UI有了新的看法)——它不值得去做。事實上不是的,UI這東西盡管無聊,可是是新手接觸引擎,熟悉代碼的最佳通道,同一時候也是全部公司愿意開放給各位新手的一個免費培訓通道吧。由于UI代碼非常不值錢,你走了誰都能接上,所以他們愿意用新手。



以下來談談。假設我時面試出卷子的那個【sb】,我會問什么。

這些問題都是項目中坑過我,害過我。讓我哭讓我痛得問題。


UI方面:
1.你認為為什么UI攝像機和場景攝像機能協同工作,并且工作的這么盡如人意呢?
答案:UI攝像機和場景攝像機分別屬于兩個渲染層(Layer),所以它們之間的渲染互不干擾。

它們工作得盡如人意(沒有發生先后錯亂,UI永遠位于場景之上層)的原因就是由于攝像機深度(depth)控制的好。



2.你認為怎么防止UI控件被點穿(怎樣過濾掉點擊事件)。


答案:使用一個可渲染的物體或者pannel,綁定boxcollider組件就可以。

假設你單用一個不可渲染的物體(這里點cao一下UIwiget),即使設定了大小和boxcollider。也是無法屏蔽的。

(坑在這里)。


3.關于UIGrid問題
答案:我基本不會使用UIGrid。我會直接在代碼里設置localpos等等。(這個控件是非常坑的)。

4.你對UI功能模塊之間相互通信有什么好看法。(或者問成Broadcast和sendMes的看法)
(這道題目是我被面的一道題目,相當精髓。后來問我這道題目的人成為了我得同事,多謝他不計較我當時回答的非常操蛋,并且如今他仍舊如老師一般幫助我。)
答案:UI模塊之間盡量解耦合,使用BroadCast機智或者delegate機智。因為Unity自身的BroadCast和SendMsg效率是非常低的,(務必百度一下這倆的差別,都有,我懶得復制粘貼了。

)所以推薦使用NGUI自帶的那個消息機智。詳細的用法,下載不論什么一款NGUI3.5左右的版本號,都能清楚的看到。更或者自己實現一個msgerpool也能夠,思路是使用泛型寫法+字典+delegate。效率也非常高。



5.眾里尋他千百度,你怎么樣能迅速找到某一個UI控件。
答案:分情況處理。這是一個優化策略的題目。首先假設這個控件我在awake的時候能知道,那么我會把它存成一個private變量,代碼中使用的時候直接使用就可以。

假設不行,這個子物體是動態生成的(他可能有或者沒有),那盡量使用FindChild,得到之后加以推斷。

假設不得不全局找一個東西(比方找到角色物體)。才會用Find。



6.你對遮擋關系有什么好的策略。
答案:這樣的問題的誕生是因為Ngui2採用了一種zorder+depth方式處理遮擋關系造成的。已經在ngui3里全然屏蔽掉了。

僅僅要維護depth就可以。



7.你對屏幕適配有什么好主意。
答案:屏幕適配根本沒有完美的解決方式,假設是全屏模塊。那么鎖定目標機型,將目標機型做成滿屏,其它機型充滿寬或高后留白(也叫留黑邊)處理就可以。假設是屏幕模塊(比方戰斗界面。主城界面等等,你會看到下邊的場景那種),須要採用Anchor來解決。NGUI2 Anchor有獨立的控件,NGUI3Anchor已經被搞到Wighet和Pannel中,這個自己下去好好研究研究吧。


UI的就這么多,假設問了。你回答的不錯,想感謝我,請多來蠻牛看看~

數據邏輯層方面
1.請簡述一下你對數據結構的選取有什么看法
答案:批量取,常常遍歷的數據,會採取List來存儲,常常查找的會採取字典存儲。同一時候假設多個字段比較重要(比方一份配置表常常會id索引以及name索引),我會開辟多個字典進行存儲。犧牲空間換取逆向查找效率。



2.請把這份配置文件解析成你想要的數據結構,給我看看
答案:這份配置文件假設是xml或者json,那么它肯定會被先轉換成HashTable,然后你依據配置表的可能擁有的字段(比方有一個物體,它有“使用后添加體力”這個字段,有的沒有。你要用ContainsKey來檢測是否有字段),挨個拆出而且存入你想要的數據結構中,假設你想要的數據結構是字典,須要注意的是在加入key的時候,應該詢問是否包括了這個key,假設包括,則改動。假設不包括。則加入,,大家智力都沒有問題。

試一試就會非常清楚。


假設這個配置文件為excell。那么它將會被轉化成一個string數組。數組的每個元素,都是一個字段數據,依照配置表的順序挨個取出來存入你得數據結構中就可以。

3.請簡述一下C#中。結構體和class的使用方法
(再次鳴謝面試我得那位同事,容忍了我回答的非常爛)
答案:假設你是自廢武功。從C++轉到C#,這倆東西會讓你大跌眼鏡。C++中結構體和類差點兒沒有差別。C#中。結構體屬于對象,而類屬于引用。結構體不須要new出來。類必須new出來。這是個巨大的坑。比方你搞了一個結構體鏈表:
List<structA> structtestlist = new List<structA>();
然后給這個鏈表中注入數據,注入數據之后,你想更改當中的一個鏈節。你是這么做得
structA structlink = structtestlist[2];
structlink.data = 3;
這樣做,根本沒有改動到structtestlist中得值!

由于聲明structlink那一句話,是個對象。并非指向那個(鏈節)的“指針”!


可是假設是class,你這么做毫無煩惱。


這個東西建議大家試試。非常坑比。

4.接受到網絡發來的數據,你會怎么辦
答案:著手做項目之前,會搞一個txt。client內部消息協議羅列到上邊,這個消息協議是網絡協議的處理映射。比方網絡協議告訴我,“由于你剛才吃了一個藥,吃成功了,如今你得給我刷新,讓用戶大大可以看到”,我就必須通知所牽連的模塊:“你得數據被刷新了。再老地方又一次取一次,刷新界面給用戶大大看”。牽連到得模塊,比方就是戰斗UI,它要把血條給加上去,還有character信息的數據基,更改當前血量數據等等。這些模塊收到協議之后,改變自己的值:比方UI就會從數據基里取。而數據基會從網絡包或者配置表里取等等。



游戲控制流程:
1.你對資源載入有什么看法。


答案:首先資源載入這個東西。就是老大難,用戶一遍遍的吐槽載入的慢,可是誰也不愿意讓載入的少導致后邊必須載入而變得卡頓。

對于比較耗費的載入。屬于IO操作,在游戲剛登陸的時候,進行初始化載入。

強制載入一些重要模塊,比方登陸窗體(用戶輸入usernamepassword的地方)等等。選擇性載入一些必要的模塊:假設這人須要新手引導,則載入新手引導模塊。否則不載入,反之亦然。這些用戶一定會用(或者一定不用)的模塊。在登陸時候處理好。對于應用模塊:比方我打開一個非常龐大的UI,這個怎么載入,假設這個模塊非常吸金,用戶用得概率非常大,那么必須在登陸時載入。否則那僅僅能用戶打開的時候載入了。載入的時候要轉圈提示用戶。。關于場景載入更加的莫衷一是。既然大家被面到這一步了,相信也不須要我廢話了。一個程序有一個程序的活法不是嗎?



2.請給我設計一個狀態機。完畢一個簡單的xxxx情景。
答:狀態機并非單純的switch結構,假設你是新手,你說switch我能夠容忍。假設你干了好些年2Dx。然后想自廢武功搞U3d了,再說switch就直接pass了。能夠去搜一下相關資料,水不是非常深。但篇幅有限。大概意思就是,每一個對象都維護自己的狀態機,狀態機的狀態改變,靠狀態觸發器。全部的狀態(不是狀態機。。狀態機是一個主管它負責調度各種狀態,狀態是各種。

。。狀態。

哎不可言傳啊。

。)。都會重寫begin,excute。end這三個函數,本來敲了一大堆。。

發現說也說不清楚,大家自己去看看吧還是。畢竟這僅僅提供一種面試方式而已。。



3.角色換裝。技能釋放你會怎么做。
角色換裝這個。各有各的活法。尸塊換裝,紙娃娃貼圖等,這個莫衷一是。能夠自己百度去,找一個自己喜歡的實現一下試試吧。

技能釋放水是非常深的,這個能答就答。答不上來也不丟人。預計被面這些的,肯定都比我強,也就不須要我比比什么的了。。



4.動態更新有什么看法。
答:這個題牽扯到assetbundle問題。當中assetbundle面對資源的處理方法是截然不同的。

比方對于prefab。能夠非常好的搞上去,對于二進制文件,也能搞得不錯,可是對于代碼這個東西。往往是大家爭論的焦點——畢竟代碼這個東西。iosAppStore是肯定不讓你搞得,由于unity本身也不受蘋果待見,所以它怕被秒殺,也不給用戶提供更新腳本的功能。這就導致比方你更新了一個prefab,沒法使用它上邊掛的腳本!那更新有個jb用。。。提供一下解決代碼更新的一點看法,如今我再嘗試搞這一塊。一孔之見,輕噴


安卓上能夠使用unityreflaction機制進行編譯后代碼的動態更新,這個廣大google開發人員肯定是知道的。

可是問題就是。這樣的機制會導致非常龐大的開發成本——從代碼層面全然跟ios搞了個大分支,假設是想跨平臺的。這恐怕是不可取的吧。


第二就是能夠採用lua腳本無縫編寫方法。由于unity腳本并非真正的腳本,真正腳本的威力是它能夠動態編譯到宿主上。這點太牛逼了。lua就是這樣的牛逼腳本。

所以你能夠無縫換lua。

。這個沒問題。

所以立項就應該想好是lua還是什么的。。別回來做了一半,想改lua了,那就sb了。


這兩種機制在App Store上肯定是不讓你搞的,第一種,越獄平臺也不讓搞,由于unity不讓你搞。。
事實上還有神奇的第三種做法。這第三種做法。就不分享了。畢竟還沒有實驗。說出來怕坑殺大家。。

不定期會更新這個帖子,時而一個月,時而半年的。。

對不起,希望對大家有幫助

版權聲明:本文博主原創文章,博客,未經同意不得轉載。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Unity3D专访——真正的面试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产免费成人 | 国产精品另类 | 国产主播啪啪 | 69久人妻无码精品一区 | 午夜免费在线 | 激情图片在线视频 | 欧美日批视频 | jzzijzzij亚洲成熟少妇在线播放 狠狠躁日日躁夜夜躁2022麻豆 | 青青久在线视频 | av自拍网| 伊人精品视频在线观看 | 91高清视频在线观看 | 国产香蕉一区 | 我们的2018中文免费看 | 有奶水的迷人少妇 | 亚洲精品乱码久久久久久国产主播 | 高潮网 | 精品二三区 | 亚洲啪啪网站 | 亚洲性xx| 男女啪动最猛动态图 | 日日插夜夜爽 | 亚洲一区二区三区免费观看 | wwwxxxxx日本| 毛片aa | 五月婷婷开心 | 91大神网址 | 中国黄色一级毛片 | 新久草视频 | 国产av剧情一区二区三区 | 色哟哟入口 | 成年人网站黄 | 91久久精品夜夜躁日日躁欧美 | 91在线最新 | 青青草视频播放 | 91桃色在线 | 97精品人妻一区二区三区 | 我和岳m愉情xxxⅹ视频 | 欧洲精品久久久久毛片完整版 | 打屁股无遮挡网站 | 国内特级毛片 | 久久综合久久综合久久 | youjizz少妇| 日本青青草 | 国产日韩在线看 | 中国在线观看片免费 | 亚洲一区二区三区免费看 | 国产精品成人aaaa在线 | 好吊在线视频 | 久久在线观看 | 欧美孕交视频 | 亚洲wwww | 亚洲天堂一区二区 | 黄色大全在线观看 | 香蕉视频黄色片 | 日本视频h | 伦理片波多野结衣 | 久久久久久午夜 | 国产精品国产三级国产aⅴ无密码 | 日本高清www| 日韩中文字幕精品视频 | jizz一区| 丰满秘书被猛烈进入高清播放在 | 深爱激情五月婷婷 | 二区视频在线观看 | 国产青青 | 色噜噜狠狠狠综合曰曰曰88av | 国产一区二区三区在线 | 中国大陆一级片 | 国产精品久久久久久亚洲伦 | 国产床上视频 | 视频一区在线免费观看 | 日韩a√| h网站在线看| 国产尤物视频 | 久久久欧美精品 | 一个人看的视频www 色就是色网站 | 免费中文字幕av | aa黄色片 | 国产精品免费av | 可以看黄色的网站 | av在线天天 | 亚洲色图偷拍 | 亚洲天堂中文 | 午夜免费一区 | 男女h网站| 美女隐私无遮挡 | 欧美乱大交 | 成人性毛片 | 伊人激情影院 | 欧美成人一区二区 | 这里有精品 | 国产999在线观看 | 狠狠干一区 | 我要色综合网 | 九九九视频在线观看 | 日本在线视频免费 | 成人毛片视频在线观看 | 女大学生的家政保姆初体验 |