① UE4.2編譯失敗,敬請各位高手幫忙看一下是怎麼回事
不要直接雙擊, 先打開Developer Command Prompt for VS2013, 在那裡運行就可以了
② ue4media texture.h改不了
ue4media texture.h改不了如下
檢查添加的頭文件是否在 filename.generated.h 這個頭文件的後面,如果是,把添加的頭文件移到filename.generated.h 這個頭文件的前面。
#include "GameFramework/SpringArmComponent.h"
#include "CoreMinimal.h"
#include "GameFramework/Pawn.h"
2、點擊filename.generated.h,出現提示filename.generated.h在源文件中找不到
把**#include 「filename.generated.h」**剪切,然後項目保存一下,重新粘貼回去,保存後,便會自己重新生成這個文件。可在External Dependencies中查找到該頭文件
3、刪除不需要的自定義C++類關閉Visual Studio、UE4編輯器,刪除項目中Soure文件夾中的你想刪除的*.cpp和*.h文件,刪除項目中的Binaries文件夾,右鍵. uproject文件,點擊Generate Visual Studio project files右鍵. uproject文件,點擊Open,如果提示需要重新編譯項目,選擇是。
③ ue4里的材質collection parameter無效
ue4里的材質collection parameter無效得檢查一下那個材質節點
簡單來說這是一款有著強大的開發功能和開源策略的游戲引擎,並且這款游戲引擎也提供了更好的視覺體驗,近幾年的vr是一個很熱門的元素,目前有很多游戲項目都將vr元素引入其中,而ue4游戲引擎就是vr游戲的首選平台。
④ UE4材質系統
在材質系統的"基於物理(Physically Based Materials)"方面,只有 4 個您需要熟悉的不同屬性。它們是:
底色(Base Color)
粗糙度(Roughness)
金屬色(Metallic)
高光(Specular)
底色
底色(Base Color) 定義材質的整體顏色。它接收 Vector3 (RGB) 值,並且每個通道都自動限制在 0 與 1 之間。
如果是從現實世界獲得的,那麼這是使用偏振濾光器拍攝時獲得的顏色 (偏振在校準時會消除非金屬材質的鏡面反射)。
針對金屬測得的底色:
粗糙度(Roughness) 輸入控制材質表面的粗糙或平滑程度。與平滑的材質相比,粗糙的材質將向更多方向散射所反射的光線。 這決定了反射的模糊或清晰度(或者鏡面反射高光的廣度或密集度)。 粗糙度 0(平滑)是鏡面反射,而粗糙度 1(粗糙)是漫射(或無光)表面。
金屬色(Metallic) 輸入控製表面在多大程度上"像金屬"。非金屬的金屬色(Metallic)值為 0, 金屬的金屬色(Metallic)值為 1。對於純表面,例如純金屬、純石頭、 純塑料等等,此值將是 0 或 1,而不是任何介於它們之間的值。創建受腐蝕、落滿灰塵或生銹金屬之類的混合表面時, 您可能會發現需要 介於 0 與 1 之間的值。
在編輯 非金屬 表面材質時,您有時可能希望調整它反射光線的能力,尤其是它的 高光 屬性。 要更新材質的高光度,需輸入介於0(無反射)和1(全反射)之間的標量數值。注意,材質的 默認高光值為0.5 。
一般而言,通過修改"高光"(Specular),可添加輕微的吸著現象或小比例的遮蔽,例如在法線貼圖中表示的裂縫。有時,將這些現象稱為腔洞。 比例較小的幾何體,尤其是僅存在於高多邊形中且並入法線貼圖的細節,不會被渲染器的實時陰影拾取。為了捕獲這種遮蔽,我們生成腔洞貼圖, 這通常是追蹤距離非常短的 AO 貼圖。此貼圖先乘以最終的底色,然後輸出並乘以 0.5(鏡面反射默認值)以作為鏡面反射輸出。 即,BaseColor = Cavity×OldBaseColor,Specular = Cavity×0.5。
對於高級使用,這可用來控制折射率 (IOR)。我們發現對於 99% 的材質,這並非必要。以下是基於實測 IOR 的鏡面反射值。
實測鏡面反射值:
頂部:木炭、新鮮混凝土、老化瀝青。底部:銅、鐵、金、鋁、銀、鎳、鈦
材質混合模式
"不透明"(Opaque)
"遮罩"(Masked) : 遮罩沒有鏡面反射
"半透明"(Translucent)
"疊加型"(Additive)
"調制"(Molate)
"調制"(Molate)混合模式無非將材質的值與背景的像素相乘。這種行為與Photoshop中的 正片疊底模式 混合模式非常類似。
"疊加型"(Additive)混合模式無非獲取材質的像素,並將其與背景的像素相加。這與Photoshop中的 線性減淡(添加) 混合模式非常相似。這表示不會進行暗化;因為所有像素值都 添加 到一起,因此黑色將直接渲染為透明。這種混合方式適合於各種特殊效果,例如火焰、蒸汽或全息圖。
與"半透明"(Translucent)混合方式相同,這種混合方式不支持鏡面反射(即,反射)。這種混合的疊加型性質可能意味著您不會以任何方式使用這種混合,但您可以使用上文中"半透明"(Translucent)小節中所示的"立方體貼圖"方法來模擬類似於反射的效果。
使用 半透明材質 時,一個重要的注意事項是它們目前不支持鏡面反射。這意味著您在表面上不會看到任何反射。但是,可使用 立方體貼圖 通過類似於以下的網路來模擬此類反射:
不透明遮罩(Opacity Mask) 類似於不透明度(Opacity),但僅在使用遮罩(Masked)混合模式時可用。與不透明度(Opacity)一樣,它的值在0.0到1.0之間,但與不透明度(Opacity) 不同 的是,結果中看不到不同深淺的灰色。 在遮罩模式下時,材質要麼完全可見,要麼完全不可見。當你需要可以定義復雜實心表面(如鐵絲網、鏈環圍欄等等)的材質時,它將成為一種理想的解決方案。不透明部分仍將遵循光照。
你可以使用基礎材質節點上的 不透明度遮罩剪切值(Opacity Mask Clip Value) 屬性來控制剪切發生點。欲知更多詳情,請參閱 材質混合模式文檔 。
不透明蒙板剪輯值(Opacity Mask Clip Value)
我們在之前已了解到 Masked BlendMode (蒙板混合模式)僅有完全不透明或完全透明的像素。您可以把灰度貼圖或貼圖中的單通道作為蒙板來使用。 Clip Value (剪輯值)可以讓您設置一個閥值,以控制像素何時為不透明或何時為透明。對於擁有細長部分的貼圖,這些區域會隨著mipmap將白色從圖像或通道中去除而在一定距離內消失,您可以通過調整 Clip Value (剪輯值)來調整該現象發生的時間點。
材質界面操作
在材質預覽界面,按住 L 鍵並拖動滑鼠可以旋轉光照方向
轉自
材質表達式 是 UE4 中的構建塊,用來創建功能完整的材質。每一個材質表達式都是獨立的黑匣,它輸出一個或多個特定值的集合,或者對一個或多個輸入執行單一操作,然後輸出該操作的結果。一個材質表達式節點包含以下5部分:
1、說明 - 所有材質表達式都具有公共的 說明(Desc)屬性。在此屬性中輸入的文本將顯示在材質編輯器中,它位於工作空間中表達式的正上方。它可用於任何用途,但通常是一種保留關於表達式用途或功能的簡短備注的好方法。
2、標題欄 - 顯示材質表達式名稱或材質表達式屬性的相關信息。
3、輸入 - 這些鏈接用於接收材質表達式所要使用的值。
4、預覽 - 顯示材質表達式的輸出值的預覽。啟用實時更新後,預覽將自動更新。您可使用空格進行手動更新。
5、輸出 - 這些鏈接用於輸出材質表達式操作的結果。
某些材質表達式是參數,這意味著它們的值可在包含該參數的基本材質的材質實例中修改(在某些情況下,可在運行時進行動態修改)。您應通過 參數名稱(Parameter Name)屬性對這些表達式指定唯一的名稱,以便在材質實例中識別特定參數時使用。如果類型相同的兩個參數在同一材質中具有相同的名稱,那麼系統會假定它們是同一個參數。在材質實例中更改此參數的值時,將在材質中同時更改這兩個參數表達式的值。在基本材質中,還將設置此參數的默認值。這將是此參數在材質實例中具有的值,除非它在該材質實例中被覆蓋並修改。
材質表達式有很多類型,本次介紹 數學表達式。
Add(加) 表達式接收兩個輸入,將其相加,然後輸出結果。這個加法運算按通道執行,這意味著輸入的 R 通道、G 通道和 B 通道等等將分別相加。兩個輸入必須具有相同數目的通道,除非其中之一是單個常量值。常量可以添加到具有任意數目輸入的矢量。
示例:對 0.2 和 0.4 執行 Add(加)的結果是 0.6;對 (0.2,-0.4,0.6) 和 (0.1,0.5,1.0) 執行 Add(加)的結果是 (0.3,0.1,1.6);對 (0.2,-0.4,0.6) 和 1.0 執行 Add(加)的結果是 (1.2,0.6,1.6)
用法示例:Add(加)通常用來使顏色變亮/變暗,或者使 UV 紋理坐標偏移。
AppendVector(追加矢量) 表達式允許您將通道組合在一起,以創建通道數比原始矢量更多的矢量。例如,您可以使用兩個 常量 值並進行追加,以建立雙通道 Constant2Vector(常量 2 矢量) 值。這有助於將單個紋理中的通道重新排序,或者將多個灰階紋理組合成一個 RGB 彩色紋理。
示例:對 0.2 和 0.4 執行追加的結果是 (0.2,0.4);對 (0.2,0.4) 和 (1.6) 執行追加的結果是 (0.2,0.4,1.6)。
Subtract(減) 節點接收兩個輸入,從第一個輸入中減去第二個輸入,然後輸出它們的差。減法按通道進行,即,第一個輸入的 R 通道將減去第二個輸入的 R 通道,第一個輸入的 G 通道將減去第二個輸入的 G 通道,依此類推。除非第二個輸入是單個常量值,否則兩個輸入必須具有相同數目的通道。常量可以從具有任意數目輸入的矢量中減去。
示例:對 0.5 和 0.2 執行 Subtract(減)的結果是 0.3;對 (0.2,-0.4,0.6) 和 (0.1,0.1,1.0) 執行 Subtract(減)的結果是 (0.1,-0.5,-0.4);對 (0.2,0.4,1.0) 和 0.2 執行 Subtract(減)的結果是 (0.0,0.2,0.8)。
用法示例:Subtract(減)可用來使顏色變暗以及使 UV 偏移。
Multiply(乘) 表達式接收兩個輸入,將其相乘,然後輸出結果。類似於 Photoshop 的多層混合。乘法按通道進行,即,第一個輸入的 R 通道將乘以第二個輸入的 R 通道,第一個輸入的 G 通道將乘以第二個輸入的 G 通道,依此類推。除非其中一個值是單個浮點值,否則兩個輸入必須具有相同數目的值。
示例:對 0.4 和 0.5 執行 Multiply(乘)的結果是 0.2;對 (0.2,-0.4,0.6) 和 (0.0,2.0,1.0) 執行 Multiply(乘)的結果是 (0.0,-0.8,0.6);對 (0.2,-0.4,0.6) 和 0.5 執行 Multiply(乘)的結果是 (0.1,-0.2,0.3)。
用法示例:Multiply(乘)通常用來使顏色/紋理變亮或變暗。
Divide(除) 表達式接收兩個輸入,並輸出第一個輸入除以第二個輸入的結果。除法按通道進行,即,第一個輸入的 R 通道將除以第二個輸入的 R 通道,第一個輸入的 G 通道將除以第二個輸入的 G 通道,依此類推。除非除數是單個浮點值,否則兩個輸入必須具有相同數目的值。切勿以零作除數。
示例:當 A=(1.0,0.5,-0.4) 且 B=(2.0,2.0,4.0) 時,Divide(除)的輸出為 (0.5,0.25,-0.1)。
OneMinus(一減) 表達式接收一個輸入值,並輸出「一減去該值」。此運算按通道執行。
示例:對 0.4 執行 OneMinus(一減)的結果是 0.6;對 (0.2,0.5,1.0) 執行 OneMinus(一減)的結果是 (0.8,0.5,0.0);對 (0.0,-0.4,1.6) 執行 OneMinus(一減)的結果是 (1.0,1.4,-0.6)。
用法示例:當輸入顏色在 [0,1] 范圍內時,OneMinus(一減)的作用就是通常所謂的「反色」-- 即,OneMinus(一減)將返回互補色,這種顏色與輸入相加將產生白色。
Min(最小值) 表達式接收兩個輸入,然後輸出其中的較小者。
Max(最大值) 表達式接收兩個輸入,然後輸出其中的較大者。
Ceil(加一取整) 表達式接收值,使其 向上 舍入到下一個整數,並輸出結果。示例:對 0.2 執行 Ceil(加一取整)的結果是 1.0;對 (0.2,1.6) 執行 Ceil(加一取整)的結果是 (1.0,2.0)。
Floor(減一取整) 表達式接收值,使其 向下 舍入到上一個整數,並輸出結果。
示例:對 0.2 執行 Floor(減一取整)的結果是 0.0;對 (0.2,1.6) 執行 Floor(減一取整)的結果是 (0.0,1.0)。
Frac(小數) 表達式接收值,並輸出這些值的小數部分。
示例:對 0.2 執行 Frac(小數)的結果是 0.2;對 (0.0,1.6) 執行 Frac(小數)的結果是 (0.0,0.6)。
FMod(浮點余數) 表達式返回對兩個輸入執行除法運算的浮點余數。
示例:對 (10.9,3.9) 執行 FMod(浮點余數)的結果是 3.1。
Clamp(限制) 表達式接收值,並將它們約束到由最小值和最大值定義的指定范圍。
示例:在最小值為 0.0 且最大值為 1.0 的情況下對 0.3 進行限制將產生 0.3;在最小值為 0.0 且最大值為 1.0 的情況下對 1.3 進行限制將產生 1.0。
CrossProct(矢量積) 表達式計算兩個三通道矢量值輸入的矢量積,並輸出所產生的三通道矢量值。給定空間中的兩個矢量,矢量積是與兩個輸入都垂直的矢量。
示例:對 (0,1,0) 和 (0,0,1) 執行 CrossProct(矢量積)結果是 (1,0,0)。
用法示例:CrossProct(矢量積)通常用來計算與另外兩個方向都垂直的方向。
DotProct(標量積) 表達式計算標量積,即一個矢量投射到另一個矢量上的長度。許多技術使用此計算來計算衰減。DotProct(標量積)要求兩個矢量輸入具有相同數目的通道。
Abs(絕對值) 是數學術語「絕對值(absolute value)」的縮寫。Abs(絕對值)表達式輸出其接收到的輸入的絕對值(無符號值)。基本上,這意味著它通過刪除減號將負數轉換為正數,而正數和零將保持不變。
示例:-0.7 的 Abs(絕對值)為 0.7;-1.0 的 Abs(絕對值)為 1.0;1.0 的 Abs(絕對值)也是 1.0。
用法示例:Abs(絕對值)一般與 DotProct(標量積) 配合使用。DotProct(標量積)的結果是 -1..0..1,對 DotProct(標量積)的結果執行 Abs(絕對值)的結果將是 1..0..1。
Sine(正弦) 表達式反復輸出 [0, 1] 范圍內的正弦波值。最常見的情況是,通過將 Time(時間) 表達式連接至它的輸入,輸出連續的振盪波形。輸出值將在 -1 與 1 之間來回循環。此表達式與 Cosine(餘弦) 表達式輸出之間的差別是,輸出波形偏移半個周期。下圖顯示波的視覺表示:
用法示例:在任何需要振盪效果的場合,此表達式都非常有用。通過將時間輸入(速度)或輸出(振幅)倍增,可以輕松地動態控制振盪的速度和振幅。
Cosine(餘弦) 表達式反復輸出 [0, 1] 范圍內的餘弦波值。最常見的情況是,通過將 Time(時間) 表達式連接至它的輸入,輸出連續的振盪波形。輸出值將在 -1 與 1 之間來回循環。下圖顯示波的視覺表示:
If(如果) 表達式對兩個輸入進行比較,然後根據比較結果傳遞另外三個輸入值中的一個。所比較的兩個輸入必須都是單個浮點值。
在此示例中,If(如果)表達式接收高度貼圖,並根據高度是低於還是高於值 0.2 來輸出紅色或綠色。
Power(冪) 表達式接收兩個輸入,計算「底數」(Base)的「指數」(Exp)次冪,並輸出結果;換而言之,「底數」(Base)自乘「指數」(Exp)次。
示例:底數為 0.5,指數為 2.0 時,Power(冪)的結果為 0.25。
用法示例:如果傳遞到 Power(冪)的顏色在 [0,1] 范圍內,那麼 Power(冪)可以用作對比度調整,即,僅保留較亮的值。
SquareRoot(平方根) 表達式輸出輸入值的平方根。只能對單個浮點輸入值執行運算。
Normalize(規范化) 也稱歸一化,表達式計算並輸出其輸入的規范化值。這表示該輸入的每個分量都會除以矢量的 L-2 范數(長度)。
ComponentMask(分量蒙版) 表達式允許從輸入中選擇通道(R、G、B、A)的特定子集以傳遞到輸出。嘗試傳遞輸入中不存在的通道將導致錯誤,除非輸入是單個常量值。在這種情況下,會將單個值傳遞到每個通道。選擇傳遞的當前通道將顯示在表達式的標題欄中。
示例:如果 ComponentMask(分量蒙版)的輸入為 (0.2,0.8,1.4) 並選中 R 和 B 通道,那麼將輸出 (0.2,1.4)。
LinearInterpolate(線性插值) 表達式根據用作蒙版的第三個輸入值,在兩個輸入值之間進行混合。您可以將其想像成用於定義兩個紋理之間的過渡效果的蒙版,例如 Photoshop 中的層蒙版。蒙版「阿爾法」(Alpha)的強度確定從兩個輸入值獲取顏色的比例。如果「阿爾法」(Alpha)為 0.0/黑色,那麼將使用第一個輸入。如果「阿爾法」(Alpha)為 1.0/白色,那麼將使用第二個輸入。如果「阿爾法」(Alpha)為灰色(介於 0.0 與 1.0 之間的值),那麼輸出是兩個輸入之間的混合。請記住,混合按通道進行。因此,如果「阿爾法」(Alpha)為 RGB 顏色,那麼「阿爾法」(Alpha)的紅色通道值定義 A 與 B 的紅色通道之間的混合,而與「阿爾法」(Alpha)的綠色通道 無關,該通道定義 A 與 B 的綠色通道之間的混合。
示例:如果 LinearInterpolate(線性插值)的輸入為 (1,0,0) 、(0,1,0) 、0.5,將輸出 (0.5,0.5,0)。(1 * 0.5 + 0 * 0.5,0 * 0.5 + 1 * 0.5,0 * 0.5 + 0 * 0.5)
問題:
在UE4中的紋理編輯器中,點擊視圖菜單,能看到 R,G,B,A的顏色通道,單獨打開其中的通道,能夠顯示圖像的灰度值,。
以紅色灰度圖為例,0 代表沒有任何紅色信息,0 等價於黑色
數字1.0或者白色表示深紅色。
⑤ fbx文件導入UE4材質命名沖突
先把文件移出。
3dsMAX導入的時候建議把Texture文件夾移動出去,不然到後面UE4導入fbx的時候沒改的貼圖連同導進去增加不必要的著色器編譯工作。
導入fbx文件是指導入之後看到下方的fbx文件將其拖拽進場景里,可以看到模型出現在場景中,右邊的屬性欄里出現了存儲在fbx文件中的動畫文件。
⑥ 我的電腦UE4載入大場景讀材質信息是經常會藍屏重啟,請問如何解決,謝謝
一般是內存問題,平時用不到全部的,一道大場景全用上就出問題。試一下先用橡皮擦一下內存的金手指,然後用98%的酒精再擦一遍。插槽用刷子掃一下,用舊牙刷就行。
⑦ ue4創建c++類時報錯是什麼原因
每次開始編譯時保存ctrl s ?我以前在eclipse中看到過這種情況,我首先在web站點上單擊類似錘子的圖標,然後找到二進制文件,保存它,然後編譯它。錯誤消息可能是您選擇了compile execute,但是沒有可執行文件。這就是不生成二進制可執行文件的原因。
⑧ 虛幻4引擎mac版打包ios,出現這個編譯錯誤,到底是為什麼用引擎默認的藍圖也同樣報錯。
虛擬引擎一直以高畫質、華麗的光影等為人稱道,大家一直都在期待虛幻4引擎打造的華麗大作。可是,萬萬沒想到首款由虛幻4引擎製作的手游竟然是這樣一款「渣作」。 近日,《無盡之劍》和虛幻引擎的打造者Epic
⑨ 求助,ue4安裝後出現以下編譯錯誤,貌似許可權問題
MSVCP140.DLL是動態鏈接庫文件,缺少這個文件,可能會造成一些軟體,特別是游戲,無法運行。 兩種情況: 1、電腦上確實缺失了這個文件。 2、電腦上有這個文件,但是,以前安裝某軟體時,修改了這個文件,導致文件變化,以至於安裝新的軟體無法找...4606
⑩ UE4新建C++項目的時候顯示編譯錯誤,求大神幫忙(報錯在下方)
先保證所有涉及的目錄名字和文件名都是英文字元,不包含中文.錯誤信息中明顯不能處理中文