對於初學者來說,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,只是記下一些覺得有用的信息方便以後查詢~
問號圖標的作用:點擊它,然後在World Outliner中雙擊選中目標(或在屬性中有打開文檔按鈕),就能打開對應文檔。
BasicMath_HallAnimationAnimation Map1.1 Using Animation Asset1.2 Animation BluePrint1.3 Locomotion BlendSpace
1.4 Animoffset1.5 Animation Montage1.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 Blueprint1.11 Overriding Animations in Derived1.12 Blueprint-controlled anim trails1.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 Map1.1 Basic Morph Target1.2 Morph Target Assets1.3 Morphing Material Settings1.4 Vertex Normals1.5 Morph Targets on Skeletal MeshPhysical Animation Map
1.1 Physics Animation Blending1.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 tracking2.3 Button trigger using a blueprint interface2.4 Opening door with trigger2.5 Child BlueprintsBlueprint_Comunication Map展示藍圖之間的交互,直接調用方法,事件分發,介面調用等。
例子里的燈泡的鎢絲也搞了個Unreal標誌的U。。1.1 Basic communication with a target Blueprint1.2 Blueprint communication via actor casting1.3 Blueprint communication via actor casting to child Blueprints1.4 Communicating with all actors of a specific class2.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 event2.3 Binding an Event Dispatcher to a custom event on spawn3.1 Basic communication using a Blueprint Interface function3.2 Communication using a Blueprint Interface function3.3 Communication using a Blueprint Interface functionBlueprint_Input_Examples Map展示了三個和輸入相關的小遊戲
1.1 2D input example with character component1.2 2D input example with shooting1.3 Physics-driven movement exampleBlueprint_Mouse_Interaction Map核心是開啟PlayerController中的mouse click選項。。。
Blueprint_Splines Map1.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 Map1.1 Actor Replication1.2 Detecting Network Authority and Remote Clients in Blueprints1.3 Variable Replication1.4 Variable Replication(RepNotify)1.5 Function Replication(Remote Procedure Call)下面的例子展示如何在需要的時候同步跟自己有關的消息。例如有遠處看不到的地方有一個寶箱已經被人打開了,但是當你靠近同步寶箱狀態。
2.1 Network Relevancy(Part 1) Not Replicated At All2.2 Network Relevancy(Part 2) Function Replication Solution Attempt2.3 Network Relevancy(Part 3) Variable Replication Solution Attempt2.4 Network Relevancy(Part 4) Combination SolutionPhysicsPhysics Map1.1 Object Simulating Physics1.2 SkeletalMesh RigidBody Simulating Physics1.3 Radial Force / Impulse1.4 Thruster1.5 PhysicasConstrainsts1.6 PhysicsConstraints Angular Motors1.7 PhysicsConstraints Linear Motors1.8 PhysicsConstrainsts BreakableCloth Map主要是Nvida的Apex Cloth的展示
1.1 Apex Cloth and WindDirectionalSource1.2 Apex Cloth Properties1.3 Apex Cloth Collision1.4 BackStop1.5 Latch to Nearest1.6 Self Collision1.7 Playable Character with ClothDestructibles Map主要顯示的是Nvidia的破碎效果。
Troubleshooting Guide
1.1 Voronoi1.2 Custom Destruction imported as FBX file可以輸入FBX文件來作為破壞後的效果。
1.3 Support設置Support Depth 為1
1.4 Destruction Depth1.5 WorldSupport1.6 Destruction Particle Effects1.7 Destruction Sounds1.8 Damage on ImpactLandscapesLandscapes Map1.1 Landscape1.2 Spline Tools1.3 Foliage ToolLevelsLevel_Scripting Map場景Blueprint的一些使用實例
1.1 Trigger box used to open a door1.2 Event dispatcher used to open a door1.3 Spawned actors with event dispatchers1.4 Matinee cinematic used to animate actorsLevel_Streaming Map1.1 Persistent Level and Always Loaded Levels2.1 LevelStreamingVolume2.2 LevelStreamingVolume2.3 Streaming Usage Visibility and Block2.4 End Streaming using Volumes3.1 Load Levels Blueprints3.2 Load Levels using Blueprints (continued)3.3 Unload Level using Blueprints4.1 Combining Methods4.2 Combining Methods (continued)Leveldesign_Workflow Map1.1 Prototype Pass1.2 Meshing Pass1.3 Lighting Pass1.4 Polish PassRenderingParticles_Intro1.A Standard Sprite Emitter1.B GPU Sprite Emitter1.C Mesh Emitter1.D Beam Emitter1.E Ribbon Emitter1.F AnimTrail EmitterEffects Map1.1 CPU and GPU particles1.2 GPU particles with Velocity Cone module1.3 GPU particles with Emitter Initial Location1.4 GPU particles with Point Gravity1.5 GPU particles with collision1.6 Blueprint with random burst of particles, light and sound1.7 Particle emission from bone1.8 Particle Shadow CastingFBX_Import_Options1.1 Static Mesh1.2 Import Mesh LODs1.3 Import Normals1.4 Skeletal Mesh1.5 Animation1.6 Drag and drop animation1.7 Morph TargetGeometry Editing MapBrush的使用說明文檔
1.1 Additive and Subtractive Geometry1.2 Order1.3 Solidity1.4 Surface Properties Texture Alignment1.5 Edit Geometry1.6 Example House made with Geometry BrushesLighting Map燈光相關內容
1.1 Point Light1.2 Spot Light1.3 Directional Light2.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 MapsMaterialsMaterial_Nodes Map1.1 BaseColor1.2 Metallic1.3 Specular1.4 Roughness1.5 Emissive1.6 Opacity1.7 Opacity SubSurface Material1.8 OpacityMask1.9 Normal1.10 WorldPositionOffset1.11 WorldDisplacement1.12 TessellationMultiplier1.13 SubSurfaceColor1.14 RefractionMaterial_Advanced Map1.1 Example for flexible Master Material1.2 Material Functions1.3 Material Layers Using Material Functions1.4 Vertex AnimationMaterial_Instances Map1.1 Material1.2 Instance1.3 Instance of an Instance1.4 GroupsMaterial_Propertices Map1.1 BlendMode模式說明BLEND_Opaque最終顏色 = 來源顏色。這意味著材質將繪製在背景前面。這種混合模式與照明兼容。BLEND_Masked如果「不透明蒙版」(OpacityMask)&>「不透明蒙版剪輯值」(OpacityMaskClipValue),則最終顏色為來源顏色,否則廢棄像素。這種混合模式與照明兼容。BLEND_Translucent最終顏色 = 來源顏色 不透明度 + 目標顏色 (1 - 不透明度)。這種混合模式與動態照明不兼容。BLEND_Additive最終顏色 = 來源顏色 + 目標顏色。這種混合模式與動態照明不兼容。BLEND_Modulate最終顏色 = 來源顏色 x 目標顏色。除非是貼花材質,否則這種混合模式與動態照明或霧不兼容。1.2 LightingModel1.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 MapDecal 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 Map1.1 PostProcessing - Default Setting1.2 PostProcessing - Film1.3 PostProcessing - SceneColor1.4 PostProcessing - Bloom1.5 PostProcessing - Ambient Cubemap1.6 PostProcessing - Eye Adaptation1.7 PostProcessing - Lens Flares1.8 PostProcessing - Ambient Occlusion1.9 PostProcessing - Screenspace Reflection1.10 PostProcessing - Global Illumination1.11 PostProcessing - Depth of Field1.12 PostProcessing - Motion Blur1.13 PostProcessing - Screen Percentage1.14 PostProcessing - AA Method1.15 PostProcessing - Blendables1.16 PostProcessing - Priorities1.17 PostProcessing - Blend Radius and Weight1.18 PostProcessing - UnboundReflections Map1.1 Reflections Metallic Materials1.2 Reflections Non-Metallic Materials1.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 Map1.1 Example Skin and Subsurface Materials1.2 Subsurface Profiles React under different light conditionsMatinee CinematicsMatinee Map1.1 Matinee Actor1.2 Tracks and Keys1.3 Track Types1.4 Key Types2.1 Lighting Group2.2 Particle Group2.3 Skeletal Group2.4 Camera Group2.5 Director Group3.1 Matinee Blueprint functions3.2 Matinee Events/Event Tracks3.3 Modifying matinee Properties4.1 Curve Editor4.2 Split Translation and RotationStatic Meshes VolumesStaticMeshes Map1.1 Staticmesh1.2 Mobility1.3 UV Mapping1.4 Lightmap UVs1.5 Generate Unique UVs1.6 Material Elements1.7 Collision1.8 Sockets1.9 VertexColors1.10 MeshPaint Tool(Verteices)1.11 MeshPaint Tool(Texture)1.12 LOD(Level of Detail)Volumes Map1.1 Placement1.2 Blocking Volume1.3 Cull Distance Volume1.4 Lightmass Importance Volume1.5 Lightmass Character Indirect Detail Volume1.6 Precomputed Visibility Volume1.7 Precomputed Visibility Override Volume1.8 Physics Volume1.9 Pain Causing VolumeUIUMG Map1.1 Sliders1.2 Buttons1.3 Input1.4 Nested Widgets2.1 Progress Bars2.2 Progress Bars following external variable2.3 3D Widgets2.4 Widget animation3.1 Images3.2 Widget Slots3.3 Loading icons3.4 Alignment optionsBlueprint_HUD Map展示UI用法
1.1 HUD example. Play in viewport to viewPaper 2DPaper2D Map1.1 Sprites1.2 Sprite Editor1.3 Flipbooks Animated Sprites1.4 Flipbook Blueprint control1.5 Physics (3D physics limited to a plane)1.6 Classic Pixel SpritesMISCNavMesh Map1.1 Simple navigation around obstacles1.2 Navigation using a Nav Link Proxy1.3 Navmesh rebuild after moving actorsPivotPainter Map需要通過Pivot Painter Tool的支持。它是將模型支點和旋轉信息存儲在模型頂點數據中的MaxScript(Max腳本)。 這些信息可以隨後在虛幻引擎4的著色系統中引用,從而創建互動效果。 風吹草動,人與草地的交互都可以通過它來實現
----------------------------------------------------------------------------------------------好像沒找到,所以出本unreal的工具書將是很好的項目
推薦閱讀:
※如何面試遊戲策劃?
※如何在荒野行動手機上面吃到雞?
※為什麼中國的手游大火之後大多開始作死勸退?
※如何評價《穿越火線》CF手游版?