原创 Unreal Engine 4 C++ 射線碰撞

遊戲開發中經常會用到射線碰撞,比如激光器打一槍,需要明確知道它集中的位置,然後在這個點釋放攻擊特效。 Unrea Engine 4中做射線碰撞也很簡單,主要功能的實現是World的LineTraceSingle這個方法,下面給出測試代碼。

原创 Unreal Engine 4 創建Destructible Mesh(可破壞網格)

Unreal Engine 4的物理引擎用的是PhysX。支持網格破壞、布料,物理粒子等,很強大。以前需要編碼才能完成的工作,在Unreal Engine 4 中只需要拖拖拽拽就完成了,很方便。 這次演示做一個可破壞的網格。先上效果:

原创 Unreal Engine 4 C++ 爲編輯器中Actor創建自定義圖標

有時候我們創建場景的時候,特定的Actor我們想給它一個特定的圖標,便於觀察。比如這樣: 實現起來也很簡單,需要編寫C++代碼: 我們創建一個Actor,叫AMyActor,它包含一個Sprite(精靈),這個精靈負責顯示自定義圖標:代

原创 Unreal Engine 4切換默認Camera實現

默認的,UE4,會以AGameMode中設置DefaultPawnClass對象中攝影機作爲默認攝影機。有時候我們想要一個全局的攝影機對場景進行觀察,這就需要重新創建一個攝影機,並在這兩個攝影機直接切換。下面看下如何實現。 在APlaye

原创 Unreal Engine 4項目版本跟蹤說明

新建一個UE4的工程,工程目錄下會自動創建以下目錄和文件: Binaries 編譯好的程序保存到這裏,其下有子目錄,對應不同的平臺。此目錄無需跟蹤。 Config 配置文件保存目錄,需要跟蹤 Content 遊戲內容保存目錄,需要跟蹤,大

原创 Boost.Asio基礎(二)

套接字 Sockets Boost.Asio有三種類型的Socket類:ip::tcp,ip::udp和ip::icmp,三者都是可擴展的。你可以創建自己的Socket類,雖然做起來稍微複雜了點。假如你真的要這麼做,可以參考boo

原创 UE4使用nDisplay渲染到多個顯示設備(一)

UE4使用nDisplay渲染到多個顯示設備(一) 文檔鏈接 交互式內容不侷限於顯示在一個屏幕上,甚至不侷限於一個像VR頭盔一樣的雙屏幕設備。越來越多的可視化系統旨在通過多個同時顯示的實時內容來更有效地讓觀衆沉浸在遊戲環境中。這些

原创 Unreal Engine 4 C++ 爲角色創建一個可以Zoom的攝影機(源代碼)

遊戲中觀察角色的攝影機可以拉近和拉遠是一個比較常見的需求,UE4中實現起來也比較簡單。這篇文章以TopDown模板爲例,講解如何一步步實現可以Zoom的攝影機。 創建好TopDown模板的C++項目之後,我們會得到3個重要的類。AXXXC

原创 Unreal Engine 4 Camera Lag(攝影機延遲)

以官方的Third Person Template爲例子,Character藍圖中的USpringArmComponent就實現了攝影機和場景碰撞和交互等大部分的功能了。 要實現攝影機延時,只需要修改它Lag一欄下的屬性即可。 第一個控

原创 Unreal Engine 4 C++ PlatformerGame自定義角色控制器源代碼分析

Unreal Engine 4 C++ PlatformerGame自定義角色控制器源代碼分析 官方商店裏有個PlatformerGame整個免費的遊戲,是一個卷軸類的跑酷遊戲。整個項目的角色控制器很有意思,可以跑、跳、滑行,很酷。這裏來

原创 Unreal engine 4 C++ 一些調試用的繪製函數

UE4中提供了很多預定義的調試繪製函數,在做調試的時候還是比較方便的。可以在場景裏繪製點、線、圓、球、箭頭、椎體、膠囊、甚至樣條線、字符串、網格等等,基本上該有的都有了。比較讚的是,你能控制線條的厚度,調試的時候就比較直觀了。 要使用這些

原创 《天龍八部》及Ogre3D模型的3ds max導入插件(源代碼發佈)

測試UE4項目,苦於沒有像樣的模型和動畫資源,所以想到把《天龍八部》等網遊的資源導出來用。於是做了個max導入插件。效果還是不錯的。 效果圖: 上圖是《鬥破蒼穹》的遊戲資源。如果要正確導出《天龍八部》的模型,你需要2012年之前的客戶

原创 Unreal Engine 4 C++ 隱藏系統光標

有些遊戲類型,不需要顯示光標,那麼怎麼關閉呢? UE4中,很簡單,只需要一句代碼,即可實現: FSlateApplication::Get().GetPlatformApplication()->Cursor->Show(false);

原创 Ogre3D Mesh轉換到FBX格式

在做一個Ogre3d 模型和骨骼動畫轉換到FBX格式的工具。中間遇到種種問題,下面將主要思路記錄下來。 轉換Mesh比較簡單,就是遍歷MeshPtr,獲取頂點和索引緩衝、獲取UV座標,然後按FBX SDK的格式重新定義,然後保存即可。這個

原创 Unreal Engine 4 藍圖之自定義事件

UE4的藍圖就跟C++等編程語言在概念上是非常類似的。在藍圖中你可以定義變量、函數、宏等等,高級點的,它還可以被繼承。這還不算,我們還可以定義藍圖接口,規範子類的行爲。基本上C++中可以做的,藍圖也可以做到,而且是所見即所得,拖拖拽拽,即