appwiki:unreal

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
appwiki:unreal [2023/07/05 05:29] – [Common Task in Unreal] yingappwiki:unreal [2024/01/25 10:23] (current) – [Movie Render Queue in Detail] ying
Line 1: Line 1:
 +====== Reading ======
 +
 +  * Parallax Occlusion Mapping
 +    * https://www.youtube.com/watch?v=PqMZl7wFX7I
 +
 ====== Unreal 5 Basic Workflow ====== ====== Unreal 5 Basic Workflow ======
  
Line 95: Line 100:
   - File(4.x) / Platform drop-down in toolbar > Package project - choose target platform to make   - File(4.x) / Platform drop-down in toolbar > Package project - choose target platform to make
   - choose the output folder and it will run the process   - choose the output folder and it will run the process
 +
 +**Add UI widget to game viewport**
 +  - unreal engine has a UI framework called UMG (Unreal motion graphics), contains pre-built button, sliders, etc
 +  - to use those, you need to create a widget blueprint (a definition structure of the UI object)
 +    * right click menu on content browser, > User Interface > Widget Blueprint, choose User Widget as base
 +  - in left panel, drag Canvas Panel into the designer area
 +  - then you can put layout element like Vertical Box into canvas
 +  - then put those UI elements into that Vertical Box
 +  - once done, in tool option bar - hierachy shape icon > open Level Blueprint
 +    - right click in graph and Create Widget node, in class option, choose your UI widget class name
 +    - right click on return value and Promote to Variable, give a variable name for it
 +    - drag set blue dot to create new node Add to Viewport
 +    - link on start to create widget node, done
 +  - now game starts, it will create the widget
 +
 +**Make mouse can be visible to interact with UI**
 +  - once you done above, when you start game, you mouse it is interactive with viewport navigation and you can't interact with UI
 +  - in the UI widget blueprint graph, you need to setup to let mouse is free with interact with UI
 +    - in Event Contruct node of widget blueprint, link to set Show Mouse Cursor (true),
 +    - create Get Player Controller to link to target input of set Show Mouse Cursor
 +    - after that, your mouse is visible in both viewport and UI, and can interact both
 +    - (extra optional) if you want the mouse only interact with UI
 +      - after set Show Mouse Cursor (true) node, create node Set Input Mode UI only node, plug Get Player Controller to Player control input, and Self node to In Widget to Focus, that way, you now can only interact with UI
 +      - you may also use one of UI button to start game interaction with Set Input Mode Game Only node.
 +
 +**Add a C++ function code to the project**
 +  - in Content Browser, navi to C++ classes > project name, right click to Add C++ class
 +  - choose Common classes > Blueprint Function Library, 
 +  - give a name BlueprintFunctionLibraryX, create
 +  - do your code, in VS top bar, develop editor, and local debug build, (if fail, close unreal and re-run local debug, it will launch unreal automatically)
 +  - Ctrl+Alt+F11 to live reload changes from your code to unreal
 +  - (extra note) if you start project as blueprint project, you can use Tool menu > add C++ Class to add C++ code into your project
 +    - then it will pop Visual Studio, and you need to close unreal, and start unreal like above with visual studio
 +    - also the C++ class folder will show up in content browser
 +
 +ref: Getting into C++ with Unreal Engine
 +  * p1: https://www.youtube.com/watch?v=dS5AUaYFcdw
 +  * p2: https://www.youtube.com/watch?v=_GQwpppMgiI
 ====== Unreal Engine 5 Problem and Solution ====== ====== Unreal Engine 5 Problem and Solution ======
  
Line 102: Line 145:
   * Texture Streaming Pool Fix   * Texture Streaming Pool Fix
     * in cmd, type (8000 is your MB of your GPU memory size) <code>r.Streaming.PoolSize 8000</code>     * in cmd, type (8000 is your MB of your GPU memory size) <code>r.Streaming.PoolSize 8000</code>
 +  * video memory has been exhausted:
 +    * some features improving the visual quality can increase video ram usage, like
 +      * nanite - real-time high detailed geo render
 +      * lumen global illumination system
 +      * temporal upscaling features for more details in realtime
 +      * texture streaming and texture quality
 +      * scene layer in editor
  
   * temporily disable nanite in project   * temporily disable nanite in project
Line 123: Line 173:
   - create CineCameraActor, (for render and level sequencer use)   - create CineCameraActor, (for render and level sequencer use)
     - set filmback, lens focal length     - set filmback, lens focal length
-  - clip icon > create level sequence (now you have a timeline)+  - clip icon > create level sequence (now you have a timeline) AS_main_animation
   - add main_cine_cam actor from outliner into timeline   - add main_cine_cam actor from outliner into timeline
   - animate the camera   - animate the camera
Line 133: Line 183:
  
 ref: https://www.youtube.com/watch?v=GHFq4Dj7sVs ref: https://www.youtube.com/watch?v=GHFq4Dj7sVs
 +
 +===== MRQ Problem and Solution =====
 +
 +  * sub-level is set to streamming and movie render queue is not rendering out sub-level.
 +    * solution:
 +      - in Sequencer window, add new Track > Level Visibility track
 +      - once new Level Visibility track is there, click + icon to add Visible property layer
 +      - right click on visible property layer > Edit Section > Level visibility tab - Level Names array
 +        * click array + to add new level name slot, and put each sub-Level name in the scene, (yes, you have to manually type out each sub level names)
 +        * then it should make render works
 +
 +===== Movie Render Queue in Detail =====
 +
 +  * ref:
 +    * https://dev.epicgames.com/community/learning/courses/eER/unreal-engine-technical-guide-to-linear-content-creation-production/BbWJ/unreal-engine-rendering
 +    * https://www.youtube.com/watch?v=SpMVNb4l0OI (This SIMPLE SETTING Saved My Renders)
 +    * https://www.youtube.com/playlist?list=PLfPt9Zwz7HPnfX68-hqKP77as57NJZ8G0
 +    * (path trace) Render better & faster with AI ! Unreal Engine 5 rendering tips: https://www.youtube.com/watch?v=zxW8rKgZJ3E
 +
 +  * Settings:
 +    * anti-aliasing: 
 +      * spatial sample means sampling repeat at same time multiple times and merge
 +        * good for static objects
 +      * temporal sample means sampling at different time slice within a time interval multiple times and merge
 +        * good for in-motion objects for motion blur
 +      * total sampling = spatial samples x temporal samples, if total > 8, you need to disable AA checkbox below them, and use None for AA.
 +      * console variables <code>
 +r.AmbientOcclusion.Denoiser.TemporalAccumulation 0
 +r.GlobalIllumination.Denoiser.TemporalAccumulation 0
 +r.Reflections.Denoiser.TemporalAccumulation 0
 +r.Shadow.Denoiser.TemporalAccumulation 0
 +r.BloomQuality 5
 +--fog
 +r.VolumetricFog.GridSizeZ 256
 +r.VolumetricFog.GridPixelSize 2
 +r.VolumetricFog.TemporalReprojection 1
 +--?
 +r.DepthOfFieldQuality 4
 +r.ScreenPercentage 125
 +r.MotionBlurQuality 4
 +r.ShadowQuality 5
 +r.RayTracing.GlobalIllumination.ScreenPercentage 50
 +
 +Unreal Engine makes real-time ray tracing possible through the use of denoising techniques that may rely on temporal history.
 +When using high-resolution tiling or when disabling Temporal anti-aliasing, you may need to adjust the following console variables for better results
 +
 +r.AmbientOcclusion.Denoiser.TemporalAccumulation 0
 +r.GlobalIllumination.Denoiser.TemporalAccumulation 0
 +r.Reflections.Denoiser.TemporalAccumulation 0
 +r.Shadow.Denoiser.TemporalAccumulation 0 
 +
 +Setting these variables to 0 will help the denoiser converge better without temporal history. You may also want to consider disabling the following Denoisers entirely if you have a high enough sample count (64+)
 +
 +r.AmbientOcclusion.Denoiser 0
 +r.DiffuseIndirect.Denoiser 0
 +r.Ray tracing.SkyLight.Denoiser 0
 +r.Reflections.Denoiser 0
 +r.Shadow.Denoiser 0 
 +</code>
 +        * ref:
 +          * https://docs.unrealengine.com/4.26/en-US/AnimatingObjects/Sequencer/Workflow/RenderAndExport/HighQualityMediaExport/
 +
 +  * settings related
 +    * Project Setting: raytraced related
 +    * Post process volumn: unbound and related setting
 +    * ref:
 +      * https://3dtotal.com/tutorials/t/introduction-to-ray-tracing-in-unreal-engine#article-ray-traced-ambient-occlusion
 +      * raytrace: affects shadow, reflection, ambient
 +      * path tracing: 
 ====== Unreal Engine 5 to Unity Conversion (FBX method) ====== ====== Unreal Engine 5 to Unity Conversion (FBX method) ======
  
  • appwiki/unreal.1688534973.txt.gz
  • Last modified: 2023/07/05 05:29
  • by ying