1、在前面的實例中是把Grab和Drop邏輯放到SimVRHand手柄對象裏面,從面向對象來看,Grab和Drop邏輯應該放在被抓取的對象中,由於可能每一個對象被抓取後要執行的Grab和Drop邏輯都不太同樣:武器被抓取、門被抓取、抽屜被抓取的邏輯是不同的,每一個對象最清楚本身的業務邏輯。函數
2、新建一個名爲「GrabTargetActor」的Actor,並添加一個StaticMesh,開啓模擬物理,並勾選「Generate Overlap Events(產生碰撞事件)」3d
3、給「GrabTargetActor」添加2個函數:OnGrab(被抓取時被調用)、OnDrop(被抓取釋放後被調用)。對象
若是下圖中的StaticMesh做爲Actor的根節點,則不須要從新附加根節點,由於其自己就是跟節點。當如圖中的StaticMesh不是根節點,而且開啓了模擬物理,則須要手動從新附加到根節點。blog
4、雖然GrabTargetActor中設置的靜態模型是一個立方體,可是放到關卡中之後,如圖所示,是能夠單獨修改每一個GarbTargetActor實例裏面的組件屬性的。事件
利用該特性,能夠很方便的作成擴展性比較強的功能來。get
5、Scene Component是Skeletal Mesh的父類,所以OnGrab定義的Hand爲Scene Component,在調用OnGrab是能夠將Skeletal Mesh類型的變量傳遞進來。class