Does Unreal Engine support mobile devices?

Unreal Engine på mobil: Rendering og muligheder

05/12/2024

Rating: 3.92 (10280 votes)

Unreal Engine er kendt for sin kraftfulde grafik og avancerede funktioner, der ofte associeres med high-end PC'er og konsoller. Men hvad med den stadigt voksende verden af mobile enheder? Kan Unreal Engine levere en imponerende spiloplevelse på smartphones og tablets, og hvordan håndterer det de unikke udfordringer, der følger med mobil hardware? Dette er et dybt dyk ned i Unreal Engines mobile rendering path, dets understøttelse af grafikfunktioner, og hvordan udviklere kan udnytte dets potentiale til at skabe fængslende mobile spil.

How do I set gamma?
Archived post. New comments cannot be posted and votes cannot be cast. To set gamma use a console command "gamma 3" or so if I remember correctly. A option with much more control would be connected your own save game variable to your global post pr9cess volume. Then u can adjust more finely the colors shadows etc.
Indholdsfortegnelse

Unreal Engine og Mobilplatformen

Mens mobile enheder har gjort enorme fremskridt, er der stadig markante forskelle i hardwarekapacitet sammenlignet med deres stationære eller konsol-modstykker. Begrænsninger i processorkraft, hukommelse og især grafikkort (GPU) betyder, at traditionelle renderingsteknikker, der fungerer fejlfrit på desktop, kan være uoverkommelige for mobile enheder. Unreal Engine er designet med disse begrænsninger i tankerne og tilbyder en alternativ rendering path specifikt til mobile platforme.

Den Mobile Rendering Path: Forenkling og Ydelse

Denne alternative rendering path er kernen i Unreal Engines evne til at køre på mobile enheder. I stedet for at forsøge at replikere den fulde desktop-oplevelse, fokuserer den mobile rendering path på at simplificere og optimere renderingen. Dette opnås gennem en række strategier:

  • Forenklede Modeller: Mange af Unreal Engines rendering features, som f.eks. skygger og teksturer, bruger mere performance-orienterede eller simplificerede modeller. Dette kan betyde brug af mindre komplekse skyggemetoder, lavere opløsningsteksturer og optimerede shaders.
  • Fjernelse af Uunderstøttede Funktioner: Post-process effekter, der kræver betydelig GPU-kraft og ikke er bredt understøttet på mobile enheder, fjernes eller erstattes med lettere alternativer. Dette sikrer, at spillet forbliver spilbart uden at ofre den visuelle integritet fuldstændigt.
  • Platformspecifikke Optimeringer: Unreal Engine udnytter ofte platformspecifikke API'er og funktioner for at maksimere ydeevnen på iOS og Android. Dette inkluderer brug af Metal på iOS og Vulkan eller OpenGL ES på Android.

Grafikfunktioner på Mobil

Selvom der er forenklinger, betyder det ikke, at mobile spil i Unreal Engine ser dårlige ud. Motoren understøtter stadig en bred vifte af moderne grafikfunktioner, der er tilpasset mobil hardware:

  • PBR (Physically Based Rendering): Unreal Engines PBR-workflow er implementeret på mobile enheder, hvilket giver realistisk lys og materialer.
  • Normal Maps: Bruges til at tilføje detaljer til overflader uden at øge polygonantallet.
  • Screen Space Reflections (SSR): En performance-venlig version af SSR kan anvendes til at tilføje dybde og realisme.
  • Bloom og Tone Mapping: Disse effekter kan stadig bruges, men ofte med simplificerede implementeringer for at bevare ydeevnen.
  • Partikelsystemer (Niagara): Niagara, Unreal Engines kraftfulde partikelsystem, kan også bruges på mobile enheder, men kræver omhyggelig optimering af partikelantal, levetid og effekter.

Det er vigtigt at bemærke, at understøttelsen af specifikke grafikfunktioner kan variere afhængigt af den målrettede enheds hardwarekapacitet. Ældre eller lavere-end enheder vil have en mere begrænset oplevelse end nyere, kraftigere smartphones.

Tilpasning af Gamma i Runtime

Et interessant spørgsmål, der ofte opstår, er muligheden for at justere spillets lysstyrke eller gamma i runtime, for eksempel via en slider i menuen. Dette er en ønskværdig funktion for at give spillere kontrol over deres visuelle oplevelse. I Unreal Engine kan dette opnås ved at manipulere post-process volumener eller ved direkte at ændre kameraets post-process effekter.

Does Unreal Engine have an alternate rendering path for mobile devices?
To address this, Unreal Engine has an alternate rendering path for mobile devices. This rendering path uses simplified or performance-oriented models for many of Unreal's rendering features, such as shadows and textures, and it removes many unsupported post-processes.

Mens det HTML-indhold, der blev nævnt, var utilgængeligt, er princippet simpelt: Du skal have adgang til et post-process materiale eller en post-process komponent, der er knyttet til dit kamera. Dette materiale kan indeholde en parameter, der styrer gamma-justeringen. Denne parameter kan så bindes til en UI-slider i din spilmenu.

Implementering af Gamma-Slider

For at implementere en gamma-slider skal du typisk følge disse trin:

  1. Opret et Post-Process Materiale: Design et materiale, der tager en float-parameter (f.eks. `GammaMultiplier`). Brug denne parameter til at justere lysstyrken af den indkommende scene-farve. En simpel måde at gøre dette på er at multiplicere scene-farven med `GammaMultiplier` eller bruge en `Power` node med `GammaMultiplier` som eksponent.
  2. Anvend Materialet på Kameraet: Tilføj en Post Process Component til dit kamera eller opret en Post Process Volume i din scene og anvend dit custom materiale på det.
  3. Opret UI Slider: I din UMG (Unreal Motion Graphics) UI-editor skal du oprette en slider-widget.
  4. Bind Slider til Materiale Parameter: I din widget blueprint eller player controller skal du skrive kode, der lytter til ændringer i sliderens værdi. Når sliderens værdi ændres, skal du opdatere den tilsvarende parameter i dit post-process materiale. Dette gøres typisk ved at få fat i kameraets Post Process Component og sætte materialeparameteren.

Eksempel på Materiale Node Setup:

NodeBeskrivelse
SceneTexture: SceneColorHenter den aktuelle scene-farve.
ScalarParameter (GammaMultiplier)En parameter, der kan ændres fra blueprint.
MultiplyMultiplicerer SceneColor med GammaMultiplier.
Output (Emissive Color)Forbinder det modificerede resultat til outputtet.

Alternativt kan man bruge en `Power` node, hvor SceneColor er basen og GammaMultiplier er eksponenten. Dette giver en mere traditionel gamma-justering.

Hvad er Gamma?

Gamma er en betegnelse for den ikke-lineære relation mellem et pixels lysstyrkeværdi og den faktiske lysstyrke, der vises. De fleste skærme har en naturlig gamma på omkring 2.2. En gamma-justering i et spil giver spilleren mulighed for at gøre spillet lysere eller mørkere, hvilket kan være afgørende for synlighed i mørke områder eller for at tilpasse sig forskellige lysforhold i omgivelserne.

Does Unreal Engine support mobile devices?
Learn about Unreal Engine's mobile rendering path and its support for graphics features. Many mobile devices have significant hardware limitations compared with desktop hardware and game consoles, especially in terms of compatibility with graphics features. To address this, Unreal Engine has an alternate rendering path for mobile devices.

Tabel: Sammenligning af Rendering Paths

FeatureDesktop Rendering PathMobile Rendering Path
SkyggerKomplekse, dynamiske skygger (Cascaded Shadow Maps, Ray Traced Shadows)Simplificerede skygger (Static Shadows, Lightmaps, Mobile Shadows)
Post-ProcessingOmfattende, høj-kvalitets effekterForenklede og optimerede effekter (Bloom, Tone Mapping, begrænset SSR)
TeksturerHøj opløsning, Mipmapping, Anisotropic FilteringOptimeret opløsning, Komprimering, Potentielt fjernelse af Mipmapping på lavere enheder
Shader ComplexityMeget kompleks, mange funktionerOptimeret, færre funktioner, fokus på performance
Anti-AliasingMSAA, Temporal Anti-Aliasing (TAA)FXAA, Temporal Anti-Aliasing (TAA) med optimeringer
Global IlluminationLumen, Screen Space Global Illumination (SSGI)Lightmaps, Baked Global Illumination

Ofte Stillede Spørgsmål (FAQ)

Kan jeg bruge alle Unreal Engines funktioner på mobil?

Nej, ikke alle funktioner er tilgængelige eller anbefalet til mobil. Motoren tilbyder en optimeret rendering path, der forenkler mange visuelle effekter for at sikre god ydeevne på mobile enheder. Du skal være opmærksom på hardwarebegrænsninger.

Hvordan optimerer jeg mit spil til mobil?

Fokuser på at reducere draw calls, bruge optimerede meshes og teksturer, undgå for mange komplekse post-process effekter, bruge lightmaps effektivt og teste løbende på forskellige mobile enheder.

Hvilke versioner af Android og iOS understøttes?

Unreal Engine understøtter typisk relativt nye versioner af Android og iOS. Det er altid en god idé at tjekke den officielle dokumentation for de mest opdaterede krav.

How do I change the gamma of a game in runtime?
Just put “Gamma (Value)” into Execute Console Command. Example: Gamma 2.1 Hi! is there a way to change the gamma of a game in runtime?

Kan jeg lave et spil med fotorealistisk grafik på mobil?

Med de nyeste high-end mobile enheder og omhyggelig optimering kan du opnå imponerende visuelle resultater, der nærmer sig fotorealisme. Dog vil det kræve en balance mellem visuel kvalitet og ydeevne, og det er måske ikke muligt at matche den absolutte grafiske troskab af high-end PC-spil.

Konklusion

Unreal Engine er en yderst kapabel motor til mobil spiludvikling. Dens dedikerede mobile rendering path, kombineret med et væld af optimeringsværktøjer og et stærkt community, gør det muligt for udviklere at skabe engagerende og visuelt imponerende spiloplevelser på tværs af et bredt spektrum af mobile enheder. Ved at forstå og udnytte de specifikke muligheder og begrænsninger ved mobil hardware, kan du levere et produkt, der både ser fantastisk ud og kører flydende.

Hvis du vil læse andre artikler, der ligner Unreal Engine på mobil: Rendering og muligheder, kan du besøge kategorien Teknologi.

Go up