對於初學者來說,unreal 4 有沒有比較系統的學習順序或者課表呢?

前提條件:

具備代碼基礎,對unity的light、animator、particle、nav、gui、material都比較熟悉;

翻牆看youtube官方視頻沒有任何問題;

有沒有一個比較容易歸納的學習套路,比如說我應該先看哪部分內容再看哪部分內容——來進行對虛幻引擎的理解呢?以虛幻的示例ContentExample舉例來說,先看哪個map後看哪個map完全沒有人能夠領路,還是比較頭疼的……


能翻牆就問題不大了,如果不能翻牆,在國內的Youku還是有同步更新的。

建議這麼做,任何一個系列,比如3rd Person Game with Blueprints (v4.8) 看的同時跟著做,這樣的教學特色是每一個系列完成一個DEMO,跟著做下來就有所得了,如果還能舉一反三自然是好事。

還有每周更新的Twitch,更是乾貨爆棚,就是時間比較長,一篇差不多一個半小時,如果能跟著做下來,肯定技術猛漲啊。

原則如下

1. 先看最基本的Introduction,介紹了解UE4有哪些模塊

2. 根據自己實際情況有針對性的研究,比如偏程序類,或者偏美術類,然後挑選適合的教學,比如偏BP一些或者偏Coding一些的

3. 跟著教學做

4. 跟著教學做

5. 跟著教學做


首先

奉上文檔地址:

https://docs.unrealengine.com/latest/INT/index.html

奉上Answerhub:

https://answers.unrealengine.com/index.html

虛幻的學習,我是從藍圖開始的,熟悉它的功能,比如說

1、虛幻幫忙封裝好的一些節點,比如說Delay,能很流暢的寫非同步

2、熟悉虛幻提供的事件,以我的感覺,這是更高級的函數

3、接著就可以熟悉事件調度器(代碼中是多播委託),介面之類的功能

我相信程序的話上手很快的。

接著用藍圖來熟悉虛幻的框架,比如說Camera-Character-Controller機制,ActorComponent,GameMode之類的,知道怎麼從頭開始製作遊戲。

熟悉了虛幻的框架和寫法之後,就可以碰代碼了,打代碼和藍圖連連線是差不多的

推薦

1、自己通過引擎生成C++模板來研究下,這邊代碼量少,不容易看暈

2、從Launcher下載ShooterGame,看看一個項目中代碼怎麼寫的

虛幻的C++不同於一般的C++,被魔改了很多,不需要你考慮內存,有委託方便你做非同步。

最後,希望你能堅持,虛幻的學習曲線比較陡峭,但是一旦入門就可以看到一個多姿多彩的世界,並且那個世界由你掌控!


我來說說美術角度吧,初學者要對渲染實現的基礎概念有了解,包括

1.建模,模型的優化處理,模型有什麼規範需求,三角面和四邊形的優劣勢與運用,各種格式的轉換。頂點與面的概念,法線的概念。出現了問題的判斷處理(這個很依賴經驗的積累)

2.材質的選擇或者製作,如何處理紋理,處理無縫,繪製和疊加材質,power for two解析度的控制,通道的概念,高模法線的烘培,貼圖在程序內的混合,貼圖作為0到1(0到255)值的概念和理解使用。PBR的原理和材質的物理特性。

3.粒子效果的實現,障眼法的實現(遊戲受限於性能需要),遊戲模型Lod,貼圖stream的概念。

4.燈光的基本概念(點光源倒數平方根衰減),方向光源,環境光源的概念,光照強度單位,對於自然界的場景光源多觀察和理解。

5.多看好作品,培養審美能力(非常重要)

以上提了些方向,針對這些再去看教程目的性會強很多,記憶深刻,查漏補缺。比挨著看教程好,把時間精力用在刀刃上。


無他,就官方的文檔,按順序看下去,一章都不要跳。一邊看一邊照著做。看完你就是高手了。


如果有一定的英文基礎,可以看這個UE4的wiki:Epic Wiki,我覺得這個裡面收錄的教程已經很全了。。

如果有unity的基礎,那官方也給出了無縫切換文檔:

Unreal Engine 4 For Unity Developers

當然,這個文檔只是讓你了解一些基礎概念~

-----------------------------------------------------------------------------------------------------------------------

ContentExample是UE4用於展示自己引擎特性的一個工程示例,想了解這個引擎能做什麼,這個工程是很好的展示,但它並不是用於教學的教程示例,感覺更像是用於查詢某個特性如何使用的字典。雖然每個map都是盡量展示某個特性點,但是示例免不了會用到其它的功能,所以很可能造成新手一臉懵逼。所以官方的ContentExample文檔其實也是沒法提供一個你認為能循序漸進的閱讀順序。我也看了ContentExample,只是記下一些覺得有用的信息方便以後查詢~

知乎不支持markdown調整半天格式,粘過來還失去層級關係,將就看吧。

-----------------------------------------------------------------------------------------------------------------------

Unreal ContentExample筆記

問號圖標的作用:點擊它,然後在World Outliner中雙擊選中目標(或在屬性中有打開文檔按鈕),就能打開對應文檔。

Basic

Math_Hall

Animation

Animation Map

1.1 Using Animation Asset

1.2 Animation BluePrint

1.3 Locomotion BlendSpace

1.4 Animoffset

1.5 Animation Montage

1.6 Curve Driven Animation(Morphtarget)

1.7 Curve Driven Animation(Bone Scale)

1.8 IK

反向動力學,由子骨骼的位置,反推出所在的骨骼鏈上N級父骨骼的位置。例子中演示了腳在踩到不平滑物體時的以及手在運動過程中碰到物體時的表現。

1.9 Root Motion

做在動畫中的位移(衝突,跳躍)是沒有移動根骨骼的,所以碰撞體之類的東西是不會跟著移動的,因此會產生各種穿插之類的錯誤,勾上Root Motion就可以使得碰撞體跟隨移動。

1.10 Playable Character Animation Blueprint

1.11 Overriding Animations in Derived

1.12 Blueprint-controlled anim trails

1.13 Runtime Retargeting

共用Skeleton asset的模型可以共用Animation,Retargeting系統只對bone的平移部分作重定向,bone的旋轉一般是來源於動畫數據。

因為使用原始的骨骼模型來定義Skeleton的比例,其它的骨骼模型(高或矮)使用這個Skeleton就需要Retargeting才能正常工作。 三種不同的平移重定位配置:

  • Animation-從Animation data那取得平移數據,不會根據比例發生變化
  • Skeleton-從目標骨架的綁定姿勢那裡取得平移數據。
  • Animation Scaled- 骨骼平移來自動畫數據,但按骨架的比例調整。這是目標骨架(播放動畫的骨架)與源骨架(製作動畫的骨架)的骨骼長度之比。

1.14 Prop retargeting(Hand IK)

為了保持握槍的左右手之間的比例不變(因為槍是不會根據角色放大縮小的),單獨創建了一個骨骼鏈(Hand IK),它們在重定位後保持原樣,這樣就能使手在槍上的位置保持一致,不過還需要IK調整一下位置。

1.15 Retargeting + World Interaction

根據模型Sacle調整了下骨骼比例,再進行了IK設置。

MorphTargets Map

1.1 Basic Morph Target

1.2 Morph Target Assets

1.3 Morphing Material Settings

1.4 Vertex Normals

1.5 Morph Targets on Skeletal Mesh

Physical Animation Map

1.1 Physics Animation Blending

1.2 Physics Animation BlendingAudioAudio Map1.1AmbientSound Actor1.2AmbientSound Looping1.3AmbientSound Spatialize1.4AmbientSound Attenuation

自聲音位置處播放的音頻,並會基於距離聲音的距離而變得更響或更柔和。

1.5Attenuation with Low Pass Filter(LPF)

自聲音位置處播放的音頻,並且會隨著玩家距離聲音的距離拉遠而更低沉。

1.6 Attenuation Shapes

在指定的形狀內(例如球體,膠囊體,盒體或椎體)自聲音位置播放的音頻,同時聲音會隨距離衰減。

  • 球形。默認體積,可用於大多數情形,比如外部環境音效(開火、鳥叫、溪流等)。
  • 膠囊體。這可以用於走廊或其他較窄過道。也可以模擬乘坐火車的情形。
  • 盒體。用於一個正常的方形房間內包含的音效。
  • 椎體。用於在玩家處投射出音效,當位於聲源前方的椎體內時音效最大,當在聲源正後方時為靜音狀態。

1.7 Shared Attenuation Settings

多個聲音Actors可共享同一個聲音衰減資源。

1.8 AmbientSound Actor using SoundCues

使用SoundCues來處理SoundWave,可以混合不同Wave。

1.9 Audio Volume

在Audio Volume中可以設置對聲音產生的效果,如在教堂中的迴響。

1.10 Reverb Volume using Ambient Zone

兩個AnimbientSound,一個在AudioVolume中,一個在外,當進入AudioVlume里的時候外面聲音變小,裡邊聲音變大,反之亦然。(可用於模擬:當晚間從內部環境移動到外部環境時的音頻)

Blueprints Networking

包括了多個地圖來展示各種Blueprint的使用

Blueprint_Overview Map1.1 Blueprint - Hello World1.2 Blueprint - Components1.3 Blueprint - Variables1.4 Blueprint - ConstructionScript1.5 Blueprint - Event Graph1.6 Blueprint - Simple MathBlueprints_Advanced Map

展示Blueprint的一些高級用法

1.1 Randomly sctterd meshes

隨機產生各種不同屬性的物體。

1.2 Automatic wall

根據起點終點,自動連出一片籬笆。

1.3 Automatic ring1.4 Customizable spotlight

多個組件組成一個聚光燈的Actor,然後在其中中控制所有的聚光燈相關的屬性。

2.1 Timeline animation

展示了一個通過Timeline控制運動的小球,可以在特定時間點發消息。

2.2 Actor tracking

2.3 Button trigger using a blueprint interface

2.4 Opening door with trigger

2.5 Child BlueprintsBlueprint_Comunication Map

展示藍圖之間的交互,直接調用方法,事件分發,介面調用等。

例子里的燈泡的鎢絲也搞了個Unreal標誌的U。。

1.1 Basic communication with a target Blueprint

1.2 Blueprint communication via actor casting

1.3 Blueprint communication via actor casting to child Blueprints

1.4 Communicating with all actors of a specific class

2.1 Using an Event Dispatcher function to call an event in the Level Blueprint

在Level Blueprint中事件接收自動Bind,不需要調用Bind函數提前Bind。

2.2 Binding an Event Dispatcher function to a custom event

2.3 Binding an Event Dispatcher to a custom event on spawn

3.1 Basic communication using a Blueprint Interface function

3.2 Communication using a Blueprint Interface function

3.3 Communication using a Blueprint Interface functionBlueprint_Input_Examples Map

展示了三個和輸入相關的小遊戲

1.1 2D input example with character component

1.2 2D input example with shooting

1.3 Physics-driven movement exampleBlueprint_Mouse_Interaction Map

核心是開啟PlayerController中的mouse click選項。。。

Blueprint_Splines Map

1.1 Blueprint spline component(Select in viewport)

可以在viewport方便的編輯spline

1.2 Placing components along splines1.3 Spline mesh components

可以使一個靜態模型沿著曲線彎曲延伸。

2.1 Using a spline as a path

使用spline做為物體的運動軌跡,如可以用粒子寫字。

2.2 Changing splines while simulating

使用Timeline結點,動態更改spline控制點位置,使它搖擺起來,掛在上面的燈籠根據spline的位置來更新自己的位置,實現了燈籠跟著spline搖擺的效果。

2.3 Animationg a spline mesh

使用Timeline結點,動態更改spline mesh的參數,實現了蔓藤的生長模擬。

2.4 Spline mesh for pawn animation

用spline mesh 模擬一條魚的運動。

Network_Features Map

1.1 Actor Replication

1.2 Detecting Network Authority and Remote Clients in Blueprints

1.3 Variable Replication

1.4 Variable Replication(RepNotify)

1.5 Function Replication(Remote Procedure Call)

下面的例子展示如何在需要的時候同步跟自己有關的消息。例如有遠處看不到的地方有一個寶箱已經被人打開了,但是當你靠近同步寶箱狀態。

2.1 Network Relevancy(Part 1) Not Replicated At All

2.2 Network Relevancy(Part 2) Function Replication Solution Attempt

2.3 Network Relevancy(Part 3) Variable Replication Solution Attempt

2.4 Network Relevancy(Part 4) Combination SolutionPhysicsPhysics Map

1.1 Object Simulating Physics

1.2 SkeletalMesh RigidBody Simulating Physics

1.3 Radial Force / Impulse

1.4 Thruster

1.5 PhysicasConstrainsts

1.6 PhysicsConstraints Angular Motors

1.7 PhysicsConstraints Linear Motors

1.8 PhysicsConstrainsts BreakableCloth Map

主要是Nvida的Apex Cloth的展示

1.1 Apex Cloth and WindDirectionalSource

1.2 Apex Cloth Properties

1.3 Apex Cloth Collision

1.4 BackStop

1.5 Latch to Nearest

1.6 Self Collision

1.7 Playable Character with ClothDestructibles Map

主要顯示的是Nvidia的破碎效果。

Troubleshooting Guide

1.1 Voronoi

1.2 Custom Destruction imported as FBX file

可以輸入FBX文件來作為破壞後的效果。

1.3 Support

設置Support Depth 為1

1.4 Destruction Depth

1.5 WorldSupport

1.6 Destruction Particle Effects

1.7 Destruction Sounds

1.8 Damage on ImpactLandscapesLandscapes Map

1.1 Landscape

1.2 Spline Tools

1.3 Foliage ToolLevelsLevel_Scripting Map

場景Blueprint的一些使用實例

1.1 Trigger box used to open a door

1.2 Event dispatcher used to open a door

1.3 Spawned actors with event dispatchers

1.4 Matinee cinematic used to animate actors

Level_Streaming Map

1.1 Persistent Level and Always Loaded Levels

2.1 LevelStreamingVolume

2.2 LevelStreamingVolume

2.3 Streaming Usage Visibility and Block

2.4 End Streaming using Volumes

3.1 Load Levels Blueprints

3.2 Load Levels using Blueprints (continued)

3.3 Unload Level using Blueprints

4.1 Combining Methods

4.2 Combining Methods (continued)

Leveldesign_Workflow Map

1.1 Prototype Pass

1.2 Meshing Pass

1.3 Lighting Pass

1.4 Polish PassRenderingParticles_Intro

1.A Standard Sprite Emitter

1.B GPU Sprite Emitter

1.C Mesh Emitter

1.D Beam Emitter

1.E Ribbon Emitter

1.F AnimTrail

EmitterEffects Map

1.1 CPU and GPU particles

1.2 GPU particles with Velocity Cone module

1.3 GPU particles with Emitter Initial Location

1.4 GPU particles with Point Gravity

1.5 GPU particles with collision

1.6 Blueprint with random burst of particles, light and sound

1.7 Particle emission from bone

1.8 Particle Shadow Casting

FBX_Import_Options

1.1 Static Mesh

1.2 Import Mesh LODs

1.3 Import Normals

1.4 Skeletal Mesh

1.5 Animation

1.6 Drag and drop animation

1.7 Morph TargetGeometry Editing Map

Brush的使用說明文檔

1.1 Additive and Subtractive Geometry

1.2 Order1.3 Solidity

1.4 Surface Properties Texture Alignment

1.5 Edit Geometry

1.6 Example House made with Geometry BrushesLighting Map

燈光相關內容

1.1 Point Light

1.2 Spot Light

1.3 Directional Light

2.1 Static Light

可以通過 Indirect Lighting Cache Sample Grid 來影響動態物體。

2.2 Stationary Light

固定光源,位置固定不變,可以在運行時改變亮度和顏色等屬性,運行時對亮度修改僅會影響直接光照,因為間接光照是通過Lightmass預計算的,所以不會改變。

2.3 Movable Light3.1 IES Light profiles

照明工程學會(IES)參數是光源行業對光源的亮度和衰減用圖形進行表示的標準方式,因為其中包含了特定的真實世界照明設備。

3.2 Light Functions4.1 Falloff Exponent

指數衰減經常可被用來模擬貼近現實的效果,但最佳使用場所是個性化視覺效果。

4.2 Inverse Square Falloff

平方反比衰減。

4.3 Indirect Lighting

主要依靠的是 Indirect Lighting Cache Sample Grid,它會被烘焙到場景中,並由渲染引擎來使用以決定靜態光照在動態對象上會有何種效果。使用命令:r.Cache.DrawLightingSamples 1 可以可視化採樣網格。

5.1 Source Radius (Static Lights)

  • 大的光源會產生柔和陰影。小的光源則會產生銳化陰影。
  • 遠距離會產生柔和陰影。近距離則會產生銳化陰影。

5.2 Lightsource Radius(effect on reflections)5.3 Lightsource Length(effect on reflections)5.4 Min Roughness

可用來對您感覺過於銳利的高光進行模糊處理。一般來說,相比對光源設置最小粗糙度來說,設置材質本身的粗糙度值或貼圖是更好的方法,但對於偶爾出現的高光過於尖銳的雜散光來說,設置最小粗糙度就很有用了。

6.1 Shadow Bias

自投陰影的準確度設置

6.2 Shadow Filter Sharpen(Movable Lights)Dynamic Scene Shadows Map

展示Cascading Shadow Map的使用。

1.1 Cascading Shadow Maps

MaterialsMaterial_Nodes Map

1.1 BaseColor1.2 Metallic

1.3 Specular

1.4 Roughness

1.5 Emissive

1.6 Opacity

1.7 Opacity SubSurface Material

1.8 OpacityMask

1.9 Normal

1.10 WorldPositionOffset

1.11 WorldDisplacement

1.12 TessellationMultiplier

1.13 SubSurfaceColor

1.14 Refraction

Material_Advanced Map

1.1 Example for flexible Master Material

1.2 Material Functions

1.3 Material Layers Using Material Functions

1.4 Vertex Animation

Material_Instances Map

1.1 Material

1.2 Instance

1.3 Instance of an Instance

1.4 GroupsMaterial_Propertices Map

1.1 BlendMode

模式說明

BLEND_Opaque最終顏色 = 來源顏色。這意味著材質將繪製在背景前面。這種混合模式與照明兼容。BLEND_Masked如果「不透明蒙版」(OpacityMask)&>「不透明蒙版剪輯值」(OpacityMaskClipValue),則最終顏色為來源顏色,否則廢棄像素。這種混合模式與照明兼容。BLEND_Translucent最終顏色 = 來源顏色 不透明度 + 目標顏色 (1 - 不透明度)。這種混合模式與動態照明不兼容。BLEND_Additive最終顏色 = 來源顏色 + 目標顏色。這種混合模式與動態照明不兼容。BLEND_Modulate最終顏色 = 來源顏色 x 目標顏色。除非是貼花材質,否則這種混合模式與動態照明或霧不兼容。

1.2 LightingModel

1.3 Translucent Lighting Mode半透明光照模式描述Volumetric Non Directional (體積非定向)這個網格物體按其被用來創建諸如煙霧的體積效果來進行光照處理。僅顯示散射光照並且不使用法線。 這是光照半透明使用系統性能最少的形式。Volumetric Directional (體積定向)這個網格物體按其被用來創建諸如煙霧的體積效果來進行光照處理,但具有會影響光照的法線。僅顯示散射光照。Surface (表面)該模式下帶光照並接受反射,但反射受限並且看起來不如 Opaque (不透明)材質。它會直接選取最近的 Reflection Capture(反射捕獲)Actor 並將其應用到整個目標。1.4 Two Sided1.5 Material Domain1.6 Seperate Translucency

單獨描畫半透明對象。Separate Translucency (單獨半透明)著色器將不受 Depth of Field (景深)的影響。

1.7 Volumetric Directional Lighting Intensity1.8 Tesselation1.9 Opacity Mask Clip Value1.10 Cast Translucent Shadow as Masked1.11 Refraction Depth BiasDecals Map

Decal Actor 使用指南

1.1 Basic Decal1.2 Decal Blend Modes1.3 Masked Decal1.4 Projection on multiple meshes1.5 Recieves Decals off1.6 Sort Order1.7 Animated Decal MaterialCharacter_Rendering Map1.1 Example Eye Material

眼球的材質,有點嚇人。。

1.2 Example Hair Material

毛髮材質

PostProcessing Map

1.1 PostProcessing - Default Setting

1.2 PostProcessing - Film

1.3 PostProcessing - SceneColor

1.4 PostProcessing - Bloom

1.5 PostProcessing - Ambient Cubemap

1.6 PostProcessing - Eye Adaptation

1.7 PostProcessing - Lens Flares

1.8 PostProcessing - Ambient Occlusion

1.9 PostProcessing - Screenspace Reflection

1.10 PostProcessing - Global Illumination

1.11 PostProcessing - Depth of Field

1.12 PostProcessing - Motion Blur

1.13 PostProcessing - Screen Percentage

1.14 PostProcessing - AA Method

1.15 PostProcessing - Blendables

1.16 PostProcessing - Priorities

1.17 PostProcessing - Blend Radius and Weight

1.18 PostProcessing - Unbound

Reflections Map

1.1 Reflections Metallic Materials

1.2 Reflections Non-Metallic Materials

1.3 Box Reflection Capture Actor(Static)

1.4 Sphere Reflection Capture Actor(Static)

1.5 Screenspace Reflectionis (Dynamic)

1.6 Scene Capture Cube(Dynamic)

1.7 Scene Capture 2D(Dynamic)

SkinRendering Map

1.1 Example Skin and Subsurface Materials

1.2 Subsurface Profiles React under different light conditions

Matinee CinematicsMatinee Map

1.1 Matinee Actor

1.2 Tracks and Keys

1.3 Track Types

1.4 Key Types

2.1 Lighting Group

2.2 Particle Group

2.3 Skeletal Group

2.4 Camera Group

2.5 Director Group

3.1 Matinee Blueprint functions

3.2 Matinee Events/Event Tracks

3.3 Modifying matinee Properties

4.1 Curve Editor

4.2 Split Translation and Rotation

Static Meshes Volumes

StaticMeshes Map

1.1 Staticmesh

1.2 Mobility

1.3 UV Mapping

1.4 Lightmap UVs

1.5 Generate Unique UVs

1.6 Material Elements

1.7 Collision

1.8 Sockets

1.9 VertexColors

1.10 MeshPaint Tool(Verteices)

1.11 MeshPaint Tool(Texture)

1.12 LOD(Level of Detail)

Volumes Map

1.1 Placement

1.2 Blocking Volume

1.3 Cull Distance Volume

1.4 Lightmass Importance Volume

1.5 Lightmass Character Indirect Detail Volume

1.6 Precomputed Visibility Volume

1.7 Precomputed Visibility Override Volume

1.8 Physics Volume

1.9 Pain Causing Volume

UI

UMG Map

1.1 Sliders

1.2 Buttons

1.3 Input

1.4 Nested Widgets

2.1 Progress Bars

2.2 Progress Bars following external variable

2.3 3D Widgets

2.4 Widget animation

3.1 Images

3.2 Widget Slots

3.3 Loading icons

3.4 Alignment options

Blueprint_HUD Map

展示UI用法

1.1 HUD example. Play in viewport to view

Paper 2D

Paper2D Map

1.1 Sprites

1.2 Sprite Editor

1.3 Flipbooks Animated Sprites

1.4 Flipbook Blueprint control

1.5 Physics (3D physics limited to a plane)

1.6 Classic Pixel Sprites

MISC

NavMesh Map

1.1 Simple navigation around obstacles

1.2 Navigation using a Nav Link Proxy

1.3 Navmesh rebuild after moving actors

PivotPainter Map

需要通過Pivot Painter Tool的支持。它是將模型支點和旋轉信息存儲在模型頂點數據中的MaxScript(Max腳本)。 這些信息可以隨後在虛幻引擎4的著色系統中引用,從而創建互動效果。 風吹草動,人與草地的交互都可以通過它來實現

----------------------------------------------------------------------------------------------


好像沒找到,所以出本unreal的工具書將是很好的項目


推薦閱讀:

如何面試遊戲策劃?
如何在荒野行動手機上面吃到雞?
為什麼中國的手游大火之後大多開始作死勸退?
如何評價《穿越火線》CF手游版?

TAG:遊戲開發 | 遊戲引擎 | 遊戲策劃 | 虛幻引擎 |