<avatar: frontiers of pandora>技術overview

在這里插入圖片描述
https://www.eurogamer.net/digitalfoundry-2023-avatar-frontiers-of-pandora-and-snowdrop-the-big-developer-tech-interview
https://www.youtube.com/watch?v=LRI_qgVSwMY&t=394s
主要來自euro gamer上digital foundry對于avatar的開發團隊Massive工作室的采訪,使用的是SnowDropEngine(divition的那個)
鑒于Avatar是被DigitalFoundry評為2023的最牛畫面游戲(基本上和AlanWake2五五開),所以記錄下;
游戲在角色和室內方面表現一般,潘多拉星球上的自然世外美景,真的是一絕,養眼!!

overview

avatar整體的評分和銷量不算好,畫面和技術實現方面算是一個長板,技術方面在當前大盤硬件上可以說是做到了相當不錯的水平;
該有的技術都有一個實現;

system requirements

其實如果看看一些游戲直播,對于云游戲比較多的玩家,尤其是看了很多開發商的高質量宣傳片,可能感覺畫面也就那樣;
這里就要提到,在評測畫面時候,需要考慮到目標的配置以及幀數;
像今年比較熱的TheFinals是pvp游戲,我們正常玩就需要120fps級別,那么游戲的場景設計到技術選型就不能往高拉;
同理一些3080-4090才能跑出效果的畫面,這個和大盤配置rtx3060已經是有代差了,所以也不能放在一起說。
所以這里我們重點談的還是在主流配置(ps5,xbox,rtx3060)上能跑的比較溜的情況下的畫面;
這里avatar就是一個屬于比較務實的,面向console和大盤pc配置的:

Operating system Windows 10, Windows 11 (64-bit versions)
Processor AMD Ryzen 5 5600X @ 3.7 GHz, Intel Core i5-11600K @ 3.9 GHz, or better
RAM 16 GB (running dual-channel mode)
Video card AMD Radeon RX 6700 XT (12 GB), NVIDIA GeForce RTX 3060 Ti (8 GB), or better
Hard drive 90 GB available storage (SSD)
DirectX version DirectX 12

IGN這里的評測(https://www.youtube.com/watch?v=fG3BkxN4ji0)來看:
3080,4k,全高配,絕大多數也可以60fps;

主要技術

gi

RayTraced GI

  • probe做radiance cache
  • screen space去ray trace一段距離,如果miss就會使用probe里的radiance cache
  • 有反射:ssr混合ray traced reflection,有些地方也是用cubemap
  • dxr 1.1, inline比較重要

這點看來是比ddgi這種純的probe based的要有更高的精度,其實也就是lumen類似的級別;
ray有guided特性,但是還不是restir(restir相關的digital foundry有問,這個相關的massive有研究以及在研究,但是沒有實際性投入使用)

raytraced的時候,一些小的emissive的surface會跳過;

BVH

  • 是用low lod的geometry來做的bvn,材質相對簡單,降低了shader variety,當然這個不好的地方就是反射時候會比較糙
  • 也不是所有的geometry都會進bvh,這個最終由TA決定
  • contact shadow有

在這里插入圖片描述

render pipeline

  • 使用了大量的async compute:volumetric,probe raytracing&lighting
  • console上使用了mesh shader,也就是把mesh分成meshlet,然后花式GPUDriven(culling,occlusion和cmd submit);pc上擔心兼容性問題所以沒有用mesh shader(撇嘴)
  • 沒有mesh shader的時候也盡量GPUDriven,這個已經標配了,沒啥好多說的
  • pso的問題一直比較頭疼,3G大小的pso,也沒什么辦法,這個真的應該優化下(@微軟)

audio

問到開發者說什么事感覺比較nb的,說是音頻,用了GPU的Raytracing來做音頻的傳遞,所以整個propagation比較真實;

destruction & PCG

  • destruction:預切的碰撞,然后simulate,包括植被
  • pcg:大量的東西都是pcg的,這里的關鍵就是平衡pcg和手擺,一些poi就是pcg就好了;

misc

  • 其他的體積云也說到了,不過效果似乎一般,就不多說了;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372110.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372110.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372110.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Hibernate 4,JPA和Maven的架構創建腳本

這種情況很簡單–您想要在構建應用程序時生成數據庫模式創建腳本(然后在目標數據庫上執行腳本),這對于Hibernate 3來說相對容易,因為有 hibernate3-maven-plugin ,但是與Hibernate 4不兼容。當然,對于每個新…

iOS 啟動連續閃退保護方案

版權聲明:本文由劉笑江原創文章,轉載請注明出處: 文章原文鏈接:https://www.qcloud.com/community/article/79 來源:騰云閣 https://www.qcloud.com/community 一.引言 “如果某個實體表現出以下任何一種特性,它就具備…

實戰Java內存泄漏問題分析 -- hazelcast2.0.3使用時內存泄漏 -- 2

hazelcast 提供了3中方法調用startCleanup:第一種是在ConcuurentMapManager的構造函數中,通過調用node的executorManager中的ScheduledExecutorService來創建每秒運行一次cleanup操作的線程(代碼例如以下)。因為這是ConcuurentMapManager構造…

oracle 11203 ora32701,11G RAC ORA-32701 參考學習

節點1:Wed Feb 13 16:08:06 2019Errors in file /u01/app/oracle/diag/rdbms/testdb/testdb1/trace/testdb1_dia0_9267.trc (incident1248083):ORA-32701: Possible hangs up to hang ID4 detectedIncident details in: /u01/app/oracle/diag/rdbms/testdb/testdb1/…

使用@OrderBy對Spring Data MongoDB集合進行排序

這是關于調整和增強Spring Data MongoDB功能的第三篇文章。 這次,我發現我錯過了一個JPA功能– OrderBy批注。 OrderBy指定在檢索關聯值時集合值關聯的元素的順序。 在本文中,我將展示如何使用Spring Data MongoDB使用OrderBy批注實現排序 。 用例 對…

@SuppressLint(NewApi)和@TargetApi()的區別

轉自:http://blog.csdn.NET/wbshuang09/article/details/44920549在Android代碼中,我們有時會使用比我們在AndroidManifest中設置的android:minSdkVersion版本更高的方法,此時編譯器會提示警告,解決方法是在方法上加上SuppressLin…

零基礎自學編程前需要知道的知識

你是否適合編程?學習編程后能做什么?如何選擇編程語言?有哪些免費的線上學習網站推薦?今天這篇好文將那些自學編程前需要了解和思考的問題都記錄下來,希望能給那些剛剛開始或正準備自學編程的朋友們帶去一些啟發。 你是否適合自學編程 自學編程會是一個漫長而艱…

oracle系統庫名,Oracle?札記之?一:數據庫名,數據庫實例名,數據庫域名,操作系統環境變量...

數據庫名是用于區分數據庫的一個內部標識,是以二進制方式存儲在數據庫控制文件中的參數。數據庫創建之后不能再修改這個參數。數據庫創建后,它被寫入數據庫參數文件pfile或Spfile中。格式如下:...db_name"orcl"db_domaindbcenter.t…

用于基于SWT的應用程序的RichText編輯器組件

本文將完成使用SWT實現我們自己的RichText編輯器組件的任務。 在為我的一位客戶開發基于桌面的應用程序時,我遇到了這樣一個可視化組件的需求,并希望添加一項功能,以允許用戶使用粗體,斜體,刪除線等功能來寫富文本注釋…

Eclipse設置黑色主題

1點擊help--->install new software 2輸入 http://eclipse-color-theme.github.com/update 3下載安裝eclipse color theme插件如下圖 4完成后點擊windows--->preferences------>Appearance下多了一個Color Theme 5,點擊選擇喜歡的主題即可,也可以自己下載主…

wcf rest系列文章

http://www.cnblogs.com/artech/archive/2012/02/15/wcf-rest.html 需要注意的是,發布的服務,可以在web behavior中指定顯示help頁面。 http://localhost/ApplicationName/ServiceName.svc/help 需要注意的是,訪問.svc的頁面一定不要多加/;否…

登錄:應用程序錯誤通知

幾個月前,當我進行大型應用程序重構時,發現用于記錄日志的基于log4j的代碼確實令人討厭,重復了數百次: if (LOG.isDebugEnabled()) {LOG.debug("Logging some stuff " stuff); }我想擺脫isXXXEnabled,這就…

win10 oracle怎樣卸載,Win10系統卸載Oracle 11g數據庫的方法

說起Oracle 11g數據庫編程人員沒有一個不知道的,雖然它很好用,但是有時候我們也會想去卸載它,那么系統城win10純凈版怎么卸載Oracle 11g數據庫呢?不知道的朋友趕緊看看小編整理的卸載Oracle 11g數據庫的方法吧!具體卸載…

.net 連接數據庫

""符號是防止將后面字符串中的"\"解析為轉義字符. using System.Data; using System.Data.SqlClient; ... string strConnection"user idsa;password;"; strConnection"initial catalogNorthwind;ServerYourSQLServer;"; st…

mysql DCL數據控制語言

-- 維護性操作 都是在cmd下操作的連接數據庫: 本機:mysql [-h localhost] -u account -p 遠程:mysql [-h remote_ip] -u account -p 顯示當前所有數據庫:show databases; 切換數據庫:use db_name; …

如何分析線程轉儲–線程堆棧跟蹤

本文是“ 線程轉儲”分析系列的第5部分。 到目前為止,您已經了解了線程的基本原理以及它們與Java EE容器和JVM的交互。 您還學習了HotSpot和IBM Java VM的不同線程轉儲格式。 現在是您深入分析過程的時候了。 為了使您能夠從線程轉儲中快速識別問題模式,…

linux想要ping需要開啟哪個端口,linux下iptales配置

linux iptables存放位置/etc/sysconfig/iptables[roottp ~]#iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT[roottp ~]#iptables -R INPUT 4 -s 172.17.99.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT[roottp ~]#iptables…

設計模式學習筆記(十三:原型模式)

1.1概述 用原型實例指定創建對象的種類,并且通過復制這些原型創建新的對象。這就是原型模式的定義。 在某些情況下,可能不希望反復使用類的構造方法創建許多對象,而是希望使用該類創建一個對象后,以該對象為原型得到該對象的若干個…

翻譯的一篇關于學習編程語言的小文章

Top programming languages to get a job in Toronto in 2017 在程序開發人員和軟件工程師中最容易被提及的問題之一就是:“我要學的下一門編程語言該是誰?” 我想去選一個編程語言,我希望你能給我一些關于經常使用到的編程語言的建議&#x…

從linux內核啟動,學習Linux內核啟動過程:從start_kernel到init

一、實驗步驟:1:運行menuos:a)cd LinuxKernel/b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img啟動后啟動了MenuOS。2:使用gdb調試跟蹤menuos內核啟動和運行過程;a)qemu -kernel linux-3.18.6/arch/x86/bo…