2014年1月20日 星期一

Unity 3D - Facebook SDK for Unity測試心得

Facebook推出SDK for Unity已經有段時間了(不過好像一直在beta版?)...

之前的專案因為Facebook SDK還不見蹤影而使用了prime31的SocialNetwork plugin來開發,現在總算有閒可以來測測這東西了。

在設定上Facebook參考了(我覺得啦...)prime31的設定方法,也就是用個asset檔來記錄設定,但Facebook做得更好的是在Unity介面上只要設定好Facebook App Id就幾乎大功告成了,其他需要輸入到Facebook介面上的資料也很貼心的整理好等著複製,甚至貼心到連Debug Android Key Hash也抓好了!

但發生了件令人費解的事情是Web版可以正常登入Facebook帳號也可以發文章,偏偏Android卻怎樣也無法登入...

查了許久才發現Facebook SDK自動生成的AndroidManifest檔案裡面activity android:name="com.unity3d.player.UnityPlayerNativeActivity"沒有被替換成com.facebook.unity.FBUnityPlayerActivity,只要修改好這點就可以正常使用無誤了。

2014年1月16日 星期四

UNITY3D - Time.timeScale

在遊戲中常會用到遊戲暫停的功能,Unity也提供了相關的功能就是將Time.timeScale設0。
但相信很多人會搞不清楚Time.timeScale會影響哪些東西,以下就來列一下會被Time.timeScale影響的部分。

1.FixedUpdate - 官方文件也聲明了Time.timeScale爲0時FixedUpdate不會被呼叫。
2.Rigidbody - Rigidbody的物理運算跟FixedUpdate有連帶關係,自然也就不會動作。
3.Time.time, Time.deltaTime, Time.fixedDeltaTime這些跟timeScale息息相關的數值也一樣逃不了,Time.time會停止、deltaTime會變0。
4.Animation - 非常依賴time的功能當然也就不會動了。
5.WaitForSeconds - 一樣是依賴time來做運算處理,那就一樣會停止運作。
6.WaitForFixedUpdate - FixedUpdate都不動了,那自然這也會停止運作了。