2016年6月2日 星期四

Week 15 葉正聖老師示範

下週端午節放假, 今天是最後一次上課做期末作品。下下週上課時, 就要繳交期末作品了。

==========================================
Question: 請問 FAAST 為什麼模擬出來的 mouse 移動事件, 在Unity裡面沒有反應?
Answer: google: unity faast mouse 可以找到以下的討論
http://forum.unity3d.com/threads/a-question-about-first-person-control.273230/
".... However, when I use Kinect that connect with Faast which control mouse pointer normally, the first person controller camera angle have not changed ..."
可見, 不只你遇到問題, 國外也有人遇到一樣的問題, 而且沒有人給回答。
我推測, FAAST 做的滑鼠模擬層級較高, 但是 Unity會去得到更低的硬體資訊, 所以騙不了Unity。
解決方案, 是不要用 FAAST, 或是用其他來取代。

==========================================
Question: 為什麼捉別人寫的 Unity程式, 跑一跑之後會當掉?
Answer: 有可能是 (1) CPU用盡, (2)記憶體Memory用盡, (3) 記憶體存取錯誤等。
(1) CPU用盡主要是程式沒寫好, (2) Memory用盡主要是資源沒管理好
建議可以使用工作管理員, 來看 Memory 及 CPU 的使用狀況, 先了解當機的原因。


另外我推測, 可能也與 Unity版本太多有關係, 所以你網路上下載下來、別人來路不明的程式, 到底是用哪一個版本的 Unity 也要特別比對注意, 真的要用, 就用 "一模一樣" 的版本, 會較容易解決。或著是使用相容性的設定, 讓Unity自動把程式碼從舊版, 換到新版, 就可以了。

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

Question: 如果水果超出視窗大小, 請問怎麼亂數產生新的水果?
Answer: 注意事項 (1) random(2) 出來的數字, 是介於 0到小於2的數 (0, 0.1, ... 1.99, 不包含2) 所以要傳給整數時, 要記得改成 int direction=int(random(2)); 來把浮點數, 變成0 或 1 的整數
(2) 要小心, random() 的時機點, 如果在  draw() 裡, 一秒鐘跑60次,那就變成亂閃亂跑。要在你需要的幾秒後, 條件成立 (比如說 if(水果超過範圍) 再去 random() 將水果重生)

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


手碰到時, 只發1次聲音
if(手碰到) //wrong    player.play();


==========================================
Q: 怎麼讓東西可以像飛靶飛出去?

==========================================
Question: Kinect
(1)在拍手時,射出子彈
(2)手可移動子彈的位置


沒有留言:

張貼留言