unity實戰之大主宰

2021-01-12 愛上遊戲開發
下載 Fantasy Skybox FREE, 構建自己的遊戲場景

點擊菜單中的windows->assert store,打開商店窗口,搜素想要的資源,下載添加到倉庫。

然後回到unity,點擊windows ->package manager,就能找到自己的資源,全部import

這裡是獲取場景後的結果:

簡單總結遊戲對象的使用遊戲對象的屬性

從目前來看,我們最常使用的屬性是位置,尺寸等,可以通過:

Object.transform.position=new Vector(x,y,z);

對象可能不止包含基本信息,還可以包含許多component(組件),可以通過按鈕來為對象添加組件,組件有自己的屬性,功能等。對於複雜的特殊組件,一般通過按鈕添加,如果想添加自定義的代碼,就是用:

object.AddComponent(typeof(class_name))

其結果相當於把class打包進入一個cs文件,並添加到對象裡,這個類必須繼承MonoBehaviour

要獲取組件:

object.GetComponent<component_type>()

返回值是組件,可以在獲取組件後通過組件內的函數,改變組件的一些值。

對象的加載簡單加載

最簡單的加載方式,就是直接用滑鼠把對象拖到左上角的窗口中,然後手動設置屬性。

但是這樣會耗費大量的時間去加載。(如果有許多個對象是相同的,系統會重複加載,耗時)

而且有許多對象是在遊戲中途才生成的。為了遊戲流暢性,在開始就要加載,但是不顯示,這種簡單加載做不到。

用代碼加載

首先對象必須放在Assert/Resources文件夾中,這個Resources文件夾是特殊的,如果沒有請自己建立,把需要用到的資源加載進去

source=Resources.Load<type>(location)

返回一個對象(只加載,不顯示),這裡的location是一個地址,一個以Resources文件夾為根的相對地址。

但後把資源顯示在地圖中

object=Instantiate(source,Vector3,Quaternion)

這樣對象就會顯示出來,由於之前加載了,這是會很快把對象顯示出來,避免卡頓

對象移動

通過修改object.transform.position可以實現最直接的修改,此外還提供了函數,放在Update中:

Vector3.MoveTowards(Vector3 now,Vector3 target,float speed)
Vector3.Slerp(Vector3 start,Vector3 end,float 百分比)

一般這兩個就很強大了。如果要移動拋物線等,可以通過物理引擎加入rigid body,也可以自己定義複雜的算法。

此外Rotate,RotateAround分別進行旋轉和自轉,兩個函數都在transform組件中,自查

對象操作

在前面的屬性中已經提到了改變組件的方法改變對象,這裡還有:

點擊事件
class ClickEvent :MonoBehaviour{
 void OnMouseDown(){
  
 }
}

碰撞檢查

首先要給物體加入組件collider,定義碰撞體的形狀,體積等

class CollisionEvent :MonoBehaviour{
 void OnCollisionEnter(Collision c){
  
 }
 
 void OnCollisionStay(Collision c){
  
 }

 void OnCollisionExit(Collision c){
  
 }
}

遊戲玩法

闖關遊戲,通關就行,總共有三個地圖,也就是序章,主題,終章。這只是個小demo,並沒有太長的流程。

所謂「麻雀雖小,五臟俱全」,如果加以時日,可以做大,做美

成果展示

這只是一張截圖:

通關視頻https://www.bilibili.com/video/BV1hf4y1i7N8/幻影道路

遊戲中有一個跳跳樂關卡,裡面的物體快只有離近了才能看見,而且踩上去很快就會消失,這是反應的比拼,如果不能反映過來下一個點的位置,就會死掉。

那麼物體透明度的調節如下:

Color c;
c=this.GetComponent<Renderer>().material.color;
c.a= X 
this.GetComponent<Renderer>().material.color=c;

摩擦力?一起運動!

遊戲中有很多移動的平臺,如果踩在這些移動的平臺上,會與平臺一起運動,這非常像是現實中的摩擦力。

這是通過一起運動做到的,如果主角碰撞到某些平臺,就會獲得和平臺當前速度一樣的額外速度

易錯點主角的額外位移必須與平臺放在同一個Update函數中,而不是分開。不同物體的Update不是一起執行的,如果位移函數分開,我們看到的物體會延遲一幀,具體情況是看到平臺在腳下抖動(鬼畜)

BOSS總是盯著我看?

通過Quaternion提供的函數轉向

boss.transform.rotation =Quaternion.Slerp(boss.transform.rotation, Quaternion.LookRotation(me.transform.position - boss.transform.position), 10 * Time.deltaTime);

被打了屏幕閃紅光

閃紅光的本質是一張純紅色的Texture2D貼圖,通過調節它的透明度漸變。

GUI.color.a就是透明度,取值為0-1,函數自定義

例如:

c=GUI.color;
c.a=(0.4f+0.2f*depth)-(Time.time-damtime)*(0.4f+0.2f*depth);GUI.color=c;
GUI.Label(new Rect(-10,-10,2112,1188),reds);

保存點

如果多死幾次就發現,即使點擊重玩,遊戲也不會回到最開始的地方,而是從死亡的關卡開始。仿佛遊戲會自動保存一樣。

實際上由於存檔很簡單,我們直接使用一個static變量就搞定了:

public static int load=0;

這個變量就記錄著你已經到達了第幾關,從而直接將主角傳送過去。

每次重玩是,用SceneManager.LoadScene(「XXX」)函數,重新加載當前場景,但是只有static變量不會重新加載,就仿佛是簡單的存檔一樣。

通關視頻展示請移步:

通關視頻https://www.bilibili.com/video/BV1hf4y1i7N8/

項目代碼和資源連結:

項目傳送門 (資源太多了,直接發的壓縮包)https://gitee.com/lhyyes/unity-game-homework/tree/master/dazhuzai

使用方法:

新建項目,在新項目中刪除所有Asserts中文件

解壓倉庫中的dazhuzai_Asserts.zip文件,裡面有我的資源庫,用我的Asserts覆蓋你的Asserts(粘貼過去),然後刷新等待

在unity中打開Asserts/Scenes文件夾,將裡面的五個文件全都加入File–>Build setting中,雙擊first,進入名叫「first」的scene中,點擊運行。

相關焦點

  • 《大主宰》戰力之王評選,第一名竟然是他
    大千世界的強者之爭也從未停息,這次我們將進行一次《大主宰》遊戲世界的戰力排名,讓我們拭目以待吧!NO4 火域之主-蕭炎作為大千世界巨無霸勢力之一的無盡火域域主、執掌天下萬千神火的火神蕭炎當以無愧大主宰四大傷害王者之一!
  • 《大主宰》定檔曝奇幻版預告,王源歐陽娜娜共赴學院季
    由愛奇藝出品,上海影視聯合出品,靈河製作承制,張萌、澄豐執導,王源、歐陽娜娜、駱明劼、馬月、徐浩、王奕婷、孫溯夢汐、李淑婷、張誠航、張亞奇等主演的大型青春奇幻熱血鉅制《北靈少年志之大主宰》(簡稱《大主宰》)正式官宣定檔1月30日(大年初六)愛奇藝獨家上線,隨之曝光奇幻版預告和群像海報
  • 《大主宰》官方認可王源歐陽娜娜劇外cp?粉絲:做好你的本職工作
    3月3日晚,《大主宰》劇組更新某社交媒體,轉發了一條網友的動態。歐陽娜娜的聲音非常具有識別度,劇中洛璃(歐陽娜娜飾)的聲音也很出眾。不少觀眾非常喜歡這個聲音,於是有網友熱議,女朋友的聲音像歐陽娜娜是一種怎樣的體驗。
  • 《大主宰》王源、歐陽娜娜戀情太青澀?片方稱因年齡受限
    近日,由王源、歐陽娜娜主演的電視劇《北靈少年志之大主宰》(下文簡稱《大主宰》)正在愛奇藝熱播。該劇改編自天蠶土豆同名小說,講述了牧塵(王源 飾)在靈境中經歷不斷磨礪,從少年成長為除惡揚善的英雄的故事。《北靈少年志之大主宰》劇照該劇總製片人、靈河文化創始人兼CEO白一驄在接受新京報記者專訪時坦言,奇幻作品超脫於現實,且給予讀者太多想像,因此無論改編、製作還是選角,都有不小的難度,「就像王源扮演牧塵有人覺得很好,有人覺得是粉絲濾鏡。但從選演員的角度來講,放眼全中國年齡段適合的演員,優秀的只有這麼幾個。
  • 盤點2020「最火」的6部網劇,王源《大主宰》僅第3,第1實至名歸
    引言:盤點2020「最火」的6部網劇,王源《大主宰》僅第3,第1實至名歸2020年已經過了大半,該追的劇差不多都追完了,而今天我們就來看看今年全網最火的6部網劇盤點,王源和歐陽娜娜主演的《大主宰》僅排在第三名,看到第一名才知道什麼叫實至名歸
  • 《大主宰》王源歐陽娜娜CP名定為「源娜」,連超話都有了!
    最近王源和歐陽娜娜主演的《大主宰》正在熱播,你有沒有看呢?王源和歐陽娜娜的演技還是很不錯的,不管是臺詞功底還是每一個眼神或者每一個動作,都拿捏得很不錯,將人物形象塑造得很不錯,不得不說,他們兩人的演技是可以得到肯定的。
  • 王源錄製新綜藝間隙對粉絲放狠話,間接透露《大主宰》上映日期!
    不光如此,錄製間隙不但一定要粉絲喊他「源哥」不能喊「源源」,還一直很努力的宣傳《大主宰》,整場cue兄弟情,而且對粉絲放狠話:「誰暑假不看大主宰,拉黑誰。」哇塞,連說話都這麼剛,看來成年了就是不好惹啊!
  • Unity基礎之物理引擎
    我們在unity裡面建了一個正方體cube , 要如何使這個cube可以跟現實中的物體一樣受重力呢 ? 這就需要用到Rigidbody(剛體)組件了 .單擊cube , 在右邊的Inspector面板添加Rigidbody組件添加完Rigidbody組件後,cube1就可以受重力影響了,運行unity時,cube1會因為受到重力往下落.下面為大家介紹 Rigidbody 組件常用參數 : 1. Mass : 物體的質量 .
  • 【大咖專欄】Unity AR Foundation 平面檢測實戰
    參考資料  https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.1/manual/index.html
  • 王源在美國和歐陽娜娜一起追《大主宰》!得知聊天內容,粉絲酸了
    王源和歐陽娜娜合作了《大主宰》,雖然這部劇已經完結了,但聊起當時的事情,歐陽娜娜還是難掩開心。這不,在《拜託了冰箱》中,何炅問《大主宰》開播的時候,有沒有和王源一起看。歐陽娜娜毫不猶豫的回答:有一起追。
  • Unity 2018.3 Beta版發布
    直播課程:Facial AR Remote面部捕捉解決方案課程(第一期)直播地址:https://connect.unity.com/events/unitychina-facialarUnity官方教師培訓報名火熱進行中Unity將在10月22-26日,舉辦為期5天的專業的Unity官方教師培訓課程,誠邀廣大教師與
  • unity什麼意思
    unity什麼意思uni前綴,只包含一個的,更多例子還有:uniform, unique, unilateral, etc. 發音類似於有你,整個世界中有你就夠了,不需要別人,也就是只包含一個的。unity,聯合、統一、團結、和睦。學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!我先來:造句:Unity is strength. (團結就是力量)
  • 在unity中用C#連接資料庫步驟
    所以本文就介紹一下unity連MySQL資料庫所遇到的一些坑。unity連接資料庫,首先你需要導入如圖所示的五個數據連結庫。在本圖中,歐陽講他們放到了Mysql文件夾下,在這裡歐陽強調一下――最好將他們放到Plugins文件夾下,不然會出現莫名其妙的問題哦。
  • 2021新年匯總:Unity項目原型快速開發資源,看這一篇就夠
    Example Game : https://assetstore.unity.com/packages/templates/flappy-bird-style-example-game-80330 Tower Defense Template : https://assetstore.unity.com/packages/essentials
  • Unity3D 尋路系統
    https://docs.unity3d.com/Manual/class-NavMeshAgent.html四、組件Nav Mesh Obstacle的使用http://docs.unity3d.com/Manual
  • 樹立實戰實訓鮮明導向!消除訓練與實戰的「標準之差」
    望著窗外綿綿的細雨,第72集團軍某旅電子對抗連一班班長王劍心緒難平——之前,他4次奪得連隊訓練「龍虎榜」冠軍,但最近一輪「龍虎榜」之爭,他卻連前三名都沒進去。失意的不只是王劍。下士王瑞豪、王浩然都曾是「龍虎榜」前三名的「常客」,在這次考核中也「翻船」了。
  • 「大主宰」演員身高,王源175,歐陽娜娜167,徐浩出乎意料
    相信大家對大主宰這部電視劇都有很深刻的印象吧,自從開播以來就好評不斷,收視率也越來越高,裡面的每個主演年齡都很小,而這部電視劇又是根據某部小說改編而來,所以它本身就有一批很強大的書粉,那麼看看這部電視劇裡面演員的身高吧,相信大家都比較好奇,
  • 大主宰:大千世界的超級巨擘,牧塵沒有份,兩位主角上榜
    蕭炎剛進入大千世界時在洛天神幫助下使鬥氣同化為靈力,數年後前往火靈族中討要鎮族之火,連續擊敗了數位天至尊強者,奪取了火炎,讓體內的帝炎更加的霸道,名震大千世界。後蕭炎創造了無盡火域,成為大千最巔峰的四大頂尖超級勢力和三大最頂尖的煉丹地之一,成為一方超級巨擘,天邪神隕落之後,蕭炎晉升為主宰之境,無盡火域更是成為大千世界最頂尖的勢力。
  • Unity編碼篇 Rigidbody類
    {// 實例化一個子彈Instantiate(m_bullet);}}}然後我們運行unity下期為大家介紹一下 Time 類 , 讓你可以在 unity 中掌控時間 .
  • 使用unity製作RPG遊戲3——2D精靈
    context=%7B%22nid%22%3A%22news_9564882242542237691%22%2C%22sourceFrom%22%3A%22bjh%22%2C%22url_data%22%3A%22bjhauthor%22%7D下面需要利用Tiled2Unity把01地圖導入unity下載Tiled2Unity,在根目錄下打開可執行文件進入unity。