UE(虛幻)4 藍圖視覺化程式設計進階篇 03 滑鼠拾取案例(介面)
拾取的基本原理
在角色藍圖中建立一個 LineTraceByChannel 設定起點和終點,然後再DrawDebugType 選擇ForDuration 一段時間消失,然後繪製Out Hit BreakHitResult 然後繪製HitActor --GetDisplayName stringPrint 然後連線 按下鍵盤F 就會列印被擋住的物體的名稱。然後再HitActor設定AddActorWorldOffset 吧Z軸設定為上升一百個單位,就實現了拾取五物體
滑鼠位置轉化到世界空間
首先輸入LeftMouseButton 連線在LineTraceByChannel 然後 GetPlayerController 然後接著呼叫方法 ConeventMouseLocationWorldSpace(把滑鼠的螢幕位置轉化為3D位置) 其中WorldLocation 是轉化後的在世界空間中的位置 。WorldDirection 滑鼠指向的方向 Return Value 轉化是否成功。 然後連線 起始點Start 然後 起點+一個Vector ,然後方向*float長度 ,新建一個 vector+vector 剛才那個Vector 和 長度 ,然後連線 End 終點。 未完待續。。明天接著更新。。
滑鼠的顯示與隱藏。
新建的一個第三人稱控制器藍圖 點選執行的時候滑鼠不顯示,然後現在有一個辦法能讓滑鼠顯示和隱藏 在角色類中 繪製藍圖,Tab鍵 繪製一個分支語句 點選滑鼠左鍵和B false的時候連線 (然後連線 get Player Controller 然後接著繪製 (GetShowMouseCursor 為判斷條件) SetShowMouseCursor 為 True)( 然後True的時候連線 SetShowMouseCursor 設定為FALSE)。然後就能實現 滑鼠的隱藏和顯示 。、
輸入模式
滑鼠顯示後仍然可以控制視角,可以調整滑鼠的聚焦模式,這時候可以建立一個UI元件 讓滑鼠聚焦到新的UI介面上 滑鼠就會失去對遊戲的控制右鍵單擊UserInterface---Widget Blueprint 然後重新命名為W_InGame,隨便新增幾個 Button 。新建好這個Ui以後可以應用到遊戲當中 ,在角色類中建立UI 點選右鍵CreatWidget, 然後選擇 要建立的哪一個介面 選擇剛剛建立的W_InGame 。建立以後需要把它顯示在場景當中,需要在 Return Value 繪製Add to Viewport 然後用Event BeginPlay連線 Create Widget ,怎麼聚焦到UI上面呢,這時候需要新增一個Variable 然後重新命名為InGame