原创 虛幻4本地座標和世界座標的轉換(藍圖)

使用遊戲引擎最免不了的就是本地座標和世界座標的轉換,虛幻藍圖系統已經提供了非常完整的接口,這裏簡單介紹下,所有有關的藍圖函數都在這個頁面。 Inverse Transform Location,傳遞一個物體的Transform信息

原创 物理引擎介紹

一、簡介 物理引擎通過爲剛性物體賦予真實的物理屬性的方式來計算運動、旋轉和碰撞反映。爲每個遊戲使用物理引擎並不是完全必要的—簡單的“牛頓”物理(比如加速和減速)也可以在一定程度上通過編程或編寫腳本來實現。 然而,當遊戲需要比較複雜的物

原创 unity PlayerPrefs類擴充

最近在寫一個app,需要做本地化的數據存儲。本來依據宣雨松的教程(Unity3D研究院之使用C#語言建立本地數據庫),利用sqlite做了個小型的本地化數據庫,在電腦端已經運行良好,可以到了手機上卻無法讀取、存儲數據庫。無奈,只好另尋它法

原创 虛幻4 spline組件、spline mesh組件的用法

最近公司項目需要,把這兩個東東好好看了下。不得不說,這兩個組件還是非常方便的,但是相關的介紹、教程卻非常的少。它們概念模糊,用法奇特,我就總結下吧。 首先,先要明白spline component。spline,中文翻譯樣條曲線,

原创 虛幻4實戰 貪喫蛇製作

之前利用unity做過貪喫蛇,從思路、代碼邏輯上來說,並沒有什麼難度。今天早上在公司就完成了,這裏記錄下。 效果圖就是下面這樣的。最後我按了與運動方向相反的按鈕,這裏我設置這樣的操作也是死亡的。 一、 前期設置 貪喫蛇是2

原创 (轉)法線貼圖Nomal mapping 原理

法線貼圖多用在CG動畫的渲染以及遊戲畫面的製作上,將具有高細節的模型通過映射烘焙出法線貼圖,貼在低端模型的法線貼圖通道上,使之擁有法線貼圖的渲染效果,卻可以大大降低渲染時需要的面數和計算內容,從而達到優化動畫渲染和遊戲渲染的效果。 現在好

原创 虛幻4全部鼠標樣式mouse cursors

公司非常大膽(奇葩)的用虛幻4製作一個3D軟件,既然是軟件,就要管理鼠標的樣式,如手形、十字形、左右拉伸型等等。 總的來說,這個還是非常簡單的,就是管理起來要注意隨時還原鼠標的默認樣式。通過下面的藍圖節點可以改變鼠標當前樣式。

原创 unity Dotween插件的簡單介紹及示例代碼

unity裏面做插值動畫的插件有許多,比較常見的有itween、hotween、dotween。根據大家的反饋和實際體驗來說,dotween插件在靈活性、穩定性、易用性上都十分突出。這裏簡單介紹下它的用法,並在後文做了一些效果示例

原创 歐拉角pitch、yaw,roll的理解

關於旋轉永遠是做遊戲的難點和混亂點。我們知道表示一個旋轉有多種方式,簡單的歐拉角,複雜點的四元數,再複雜點的矩陣。之前接觸unity可以用四元數和歐拉角兩種方式表示旋轉,最近一直研究虛幻引擎,目前只看到了歐拉角這一種旋轉方式。 歐

原创 鼠標拖動物體、按下鼠標左鍵旋轉觀察物體、鼠標滾輪縮放視野

如題目所示,本文實現這三個效果。所有代碼都在pc端成功運行,移植到手機端改變相應的判斷條件即可,核心算法沒有問題。 一、 鼠標拖拽移動物體 效果演示 源代碼 public class mousedrag : MonoBeha

原创 虛幻4動態加載畫面(後臺加載關卡)的實現

我們知道虛幻裏要加載新的關卡一般是通過Open Level函數實現,如下所示。 但是,load level函數會阻塞進程,如果之前有加載動畫在播放的話,當執行load level函數時,所有進程都停止,動畫將會停止。如下爲驗證藍

原创 C++指針詳解

指針的概念 指針是一個特殊的變量,它裏面存儲的數值被解釋成爲內存裏的一個地址。要搞清一個指針需要搞清指針的四方面的內容:指針的類型,指針所指向的類型,指針的值或者叫指針所指向的內存區,還有指針本身所佔據的內存區。讓我們分別說明。

原创 虛幻4 文檔翻譯 Casting節點

最近在學習虛幻4的藍圖系統,藍圖就是可視化編程。從某種意義上說,可以把藍圖理解成一種“編程語言”,而每個藍圖就是一個可執行的腳本。這樣來理解的話,什麼藍圖繼承、類藍圖、藍圖接口等就十分簡單了。藍圖作爲一種”編程語言“,自然有許多自

原创 虛幻4 Event、CustomEvent、EventDispatcher

經常接觸到這些概念,今天做個總結,不涉及具體的細節,參數啊,調用啊,綁定啊等等,只是概念的區別。學術淺薄,各位一塊探討指正哈。 Event是虛幻內置的事件,這個事件什麼時候被調用由引擎決定,如常見的 Event Hit Even

原创 虛幻4 C++ UFUNCTION 宏 參數解析

虛幻引擎c++中定義了許多宏,如UCLASS(),UPROPERTY(),UFUNCTION(),USTRUCT()等,其中UFUNCTION()宏添加在函數前面,填入適當參數可以幫助函數實現特定的功能, 如允許藍圖調用該函數。這裏總結下