2016年12月4日 星期日

雜談和最近遇到的問題

  結訓到至今也只面試了一間公司,經歷過三次面試雖然很遺憾沒有錄取,對方還是希望能錄取有產業經驗的人,對於像我這樣未有相關經驗的人真的有點虧但也知道自己的程度在哪裡,還是不願意放棄往這條路發展
  
  近期也開始寫遊戲並預計要上架,內容是節奏遊戲並可單手操作,只需在螢幕中間按照節奏進行點壓即可,現在還在做系統分析的部分,因為只有自己一個人獨力製作,期望初期能做出五首歌並在農曆年前上架,近期的規劃也會以此獨立專案為主

========================================

  因為近期的面試和重感冒,導致原本結訓專題的持續更新進度變慢,原本在規劃時就打算做成手機操作模式,但因為時間的關係只好先做出PC操作,但UI的按鈕和圖示等都先做成便於手機介面
  
  不過這幾天把手機的操作寫好並導入Android的SDK,實際做成APK並用模擬器測試發現,雖然UI操作和遊戲操作上沒有什麼太大的問題,但整體的遊戲視野卻變窄,導致遊戲難度突然提升許多,若把UI變小又變成MiniMap的用途不大,怎麼平衡遊戲視野、遊戲難度和UI會是我的新課題,之後的遊戲更新可能會出結訓專題的APK檔

2016年11月21日 星期一

自己在Unity上用的音效與音樂管理

  自己在做專案時為了便於管理音效與音樂寫了AudioManager和MusicManager來管理專案中會用到的音樂與音效

  先來說MusicManager,因為我只有作主選單和遊戲內音樂,所以只開兩個AudioClip來用


  再來我使用的辦法是判斷現在的ScenceName為何,若在主選單就播放menuTheme,在遊戲內就播放mainTheme,然後播放音量的大小從AudioManager來決定,但這邊也有寫不好的地方,因為專案很簡單只有選單音樂和遊戲音樂兩種,中間的if可以合併為一個

  
再來就是AudioManager,為了讓使用者可以自由地調整音量大小,用enum設定的三大類別:主音量音效和音樂,並加入PlayerPrefs.Save()和PlayerPrefs.SetFloat()讓使用者自定的數據能保存起來




  然後把所有專案中會使用到的音效放入SoundLibrary裡面,但為了讓音效可以順利播放,在AudioManager裡面先把功能給寫好,之後只要呼叫即可。後面所做的線性內插,是為了讓場景轉換間背景音樂轉換不會太突兀做到淡入淡出的效果
  中間的PlaySound()是想讓遊戲中敵人受傷或是爆裂物的聲音聽起來有遠近而做的,聲音發出的位置為觸發事件時當前的位置,故主角的位置離聲音源越遠音量會越小,並有左右聲道的效果
  而PlaySound2D()是讓不關場地的聲音播放出來,如破關音效等,這並無任何效果存在


  最後是SoundLibrary,把會用到的音效用類別區隔開來,若分類裡有複數的音源會以隨機的方式播放出來





  使用的方法是在會發出音效的地方加上AudioManager內寫好個功能,例如我在Boss死亡時利用AudioManager的PlaySound()播放在SoundLibrary裡名為BossGolemDead的音效