2016年6月23日 星期四

Unreal: OSC Plugin For UE4 ---- 3/4

since: 2016/06/23
update: 2016/11/11

reference:
1. [Plugin] OSC for UE4
2. monsieurgustav/UE4-OSC
3. UE4-OSCの送受信を行う - Qiita

4. I touchs: Unreal: OSC Plugin For UE4 ---- 1/4
5. I touchs: Unreal: OSC Plugin For UE4 ---- 2/4

Stage 3/4: OSC Receiver

A. 新增 OSCReceiver Blueprint

    # 4.12 早期版本
    --------------------------------------------------------------------------------------------------------------

    1. > 在 Content Browser 新增 Blueprints 資料夾
        > AddNew > Blueprint Class > Actor
        > 命名為 OSCReceiver > 滑鼠雙擊打開

    2. 新增 OSC Receiver Component:
        > Add Component > OSC Receiver (使用預設名稱: OscReceiver)
--------------------------------------------------------------------------------------------------------------
Update(UE 4.12.5): 新增 Blueprint Class 時, 直接選擇其 Parent Class 為: OscReceiverActor

    3. 點選 OscReceiver , 在右邊的 Details 裡:
        > Events > On Osc Received > +

    4. 結果: 在 Event Graph 裡, 產生了一個新的 Node

-----------------------------------------------------------------------------------------------

B. 新增要更新位置的 Actor Reference 變數
    1. > Variables > + > 最前方的 Type 圖樣: 選擇 Object TypesActor > Referece

    2. 將變數分類在 OSC 下, 更名為: Target, 設定為可在 Level Editor 裡作編輯

    3. 檢查 Details 裡的設定

-----------------------------------------------------------------------------------------------

C. OscReceiver Event Graph 
    1. 上半部:
        On Osc Received > 判斷 Address 是否等於 "/position",
        是的話就呼叫 SetActorLocation Node

    2. 下半部:
        On Osc Received > 將收到的三個 float 數值, 合成一個座標,
        當作 SetActorLocation Node 的新位置.

    3. 增加 On Osc Received多個 Address 判斷:
        > 當 Address 不是 "/position" 時, 會檢查是否為 "/position2"
        > 如果是的話, 就會作接續的處理(在此為 Print String)

    4. 回到 Level Editor, 將 OSCReceiverContent Browser 拖拉到場景裡.
        在 OSCReceiver 選取的情況下, 到 Details 裡將 OSCTarget 設為: MyCylinder 

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。