發表文章

目前顯示的是有「UE - Blueprint」標籤的文章

Unreal C++ - UPROPERTY() 及 UFUNCTION()常見設定差異

UPROPERTY( )   UPROPERTY(EditAnywhere) :  表示此變數可在Detail視窗 (Property Windows)變更 UPROPERTY(EditDefaultsOnly) :  表示變數僅可在Detail視窗中被修改 UPROPERTY(Category = "AAAA") :  表示此變數在grapchi與BP編輯工具中可以變顯示收納在某個分類中 UPROPERTY(BlueprintReadOnly) : 表示此變數在BP中只能被Read,不能被修改   UPROPERTY(BlueprintReadWrite) :  表示此變數在BP中可被Read可被Write UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) 表示此變數和BP中某個 同名 同型別的Widget綁定,會指向同一個物件 UPROPERTY(BlueprintAssignable) 用在Delegate上,表示此Delegate可在BP中被Assign (像是Bind?) UPROPERTY(DisplayName="Property Name") 在BP上的顯示名稱,取代掉C++中宣告的名稱 UFUNCTION( ) UFUNCTION(BlueprintCallable) 表示此C++ Function可以在BP被呼叫使用 UFUNCTION(BlueprintImplementableEvent) 表示此C++Function是在BP中被實作出來的,意思是你要先去BP把他的程式邏輯拉好,然後在C++這邊送好參數去讓這個BP處理 UFUNCTION(Client, ...) 表示為Client RPC function,呼叫只在client端上執行的function UFUNCTION(Server, ...) 表示為Server RPC function,呼叫只在Server端上執行的function UFUNCTION(NetMulticast,...) 表示為Multicast RPC function,若由server端呼叫這個,則Server端與所有有這個actor的client都會執行這個function 。(詳情見UE4 RPC ...

UE4 tutorial : Materials 筆記

圖片
本章大綱: 使用Blueprint編輯Material,拖拉點選一些原本要在shader上時做的光照內容 Material Instance概念 利用Material Instance來動態變更Material外觀 [Bonus] 查詢追加Event的方法 https://www.raywenderlich.com/504-unreal-engine-4-materials-tutorial 一些基本的圖學概念就跳過不講了,反正就顏色要疊起來的話是用乘的類似這些最基本概念,還有0~255可以mapping成0~1這樣,unreal的material應該是直接啦shader的數值出來秀,記得OpenGL的shader也是mapping成0~1來秀顏色XD UE4有Material Instance的概念,有點像class。 一般在製作遊戲材質時,會由程式人員製作一個粗略的原型Material,然後交付給美術人員。 緊接著美術人員產生該材質的Material Instance,並修改該材質已完成客製化 (也不會弄壞原本的material) 這邊開了兩個功能參數出來,可以讓後來接手的人在外部修改,或於Material Instance作客製化。 像這樣,外部修改參數客製化 此外, 因為你新作一個material就相當於是製作了幾個新的shader內容並且需要去重新compile它。 因此 當你想要快速修改部分內容 (因為已經編譯好了) 快速創造material變體,抽換一些顏色、texture、specular數值之類的話 可以使用Material Instance 因此才說要在material中創建一些參數可以給外部人員使用,增加可修改性與泛用性。 這裡範例用HueShift這個blueprint Node來示範,HueShift算是一個色相調整器。 如此一來就會有一個參數是在管理亮度(乘很大),一個在做色相調整。 然後輸出到Base Color中。 Create Material Instance 在完成了Material後,在material上按右鍵就可以找到建立Material Instance的選項。 之後點開來大概是這樣 比較重要的大概是可以找到一些來自parent的資料以及可以修改 修改了Preview Mesh把模型放進去,打開客製參數開關就可以開始對in...