今天刷到个回答,有一些生活常识和3D知识上的错误,简单科普一下生活常识和3D知识吧
6 L. C3 B& Q* j
2 w' r; b. B. Y" x; B# o( O
$ e1 l g) L6 K+ i8 K7 `
图1在游戏里左边是一个小吃摊,右边是冒险家协会,这俩正对着而且晚上都会开灯,因此出现了平行的阴影,拿俩手机就能复现的玩意,可能这位生活中从来没观察过光影
( n- J3 v- k7 c, z如果两个平行的阴影就是鬼了,那夜间球场上那些X形交叉的4重阴影不得给这位吓死。。。9 \- z8 u) l( N) Y3 n
' Q P% g; l+ b0 k+ }. F$ ~! z
: c3 o- ]& K% j: j6 T: M- D: K+ j1 C/ \; W3 y0 G
因为是比赛灯打得比较亮,不过还是能看出来每个人脚下都X形的4个阴影
, r8 t+ X: C7 |4 r: ~8 J7 P1 c
3 D( M+ F# U# ^图2的阴影是月光阴影,旁边的灯没开阴影,因为游戏引擎里点光源的阴影性能消耗是聚光灯的6倍,一般游戏都不会全开,比如今年的老头环,篝火、火把、发光魔法全都没有阴影
1 d5 ^4 t$ T$ b$ i' ]
' D/ v9 L) A% O) Y% {) V$ r
, V. J- i9 V: [% H+ D8 I9 |- p9 a t# S6 l+ `
! k, Z" P, x$ q# d* ~$ [/ Q ^5 W
0 V5 L9 \, K' @( u存档坏了,找到网图比较糊* K, K0 |- j* j- [
2 j( |" E- L/ T, M `4 Y8 |% z! ]
这方面比较激进的是大表哥2,很多明显的光源都开了阴影,但在灯多的室内也依然不会全开,而且为了性能通常不会开自阴影,比如图里篝火,开了阴影但没开自阴影,导致锅的内部是被照亮的
" V( q% T5 G' E. c+ `7 Y2 z! M
1 _2 K0 Y0 T/ ~1 F% G" i* L7 H
$ m6 d' g; m( J M1 g6 h0 r- B" k. u$ d: O' c
大表哥2里这种野外营地的篝火和帐篷上的光源大部分是开了阴影的
! Q3 f! v; p9 E5 D3 }+ e c$ N) k9 Q
8 b5 J: d' E& }& A) h& }3 M/ z- p" L! F: H, i) w( i
试了一下大表哥2晚上自己拿个提灯,就得到了图1里“不是鬼是什么”的双重影子) W6 G7 S1 }0 [7 n* A: c
0 M1 Y4 A2 y+ r% Z
附两个个不严谨测试
. y7 @, _6 l9 c$ T o; a% N; F0 ~" J' v5 C/ m/ W$ O1 ~# \6 X
- 3080ti 4K高画质,同一时间同一位置,大表哥里一盏半径大概七八米的点光,造成了2~3帧的帧数下降. l5 S* b- c/ j2 E
( V- V6 ^3 m. c9 ^3 w1 r
9 d; O5 [ c8 f( Q! Q( x- F' d" b; |( V( L$ S1 x. e
4 h6 p# L+ V* L
2. 只有月光58帧,加一盏提灯56帧,再加一个篝火54帧,篝火+3燃烧瓶直接50帧
, y7 M/ W* N3 d+ K6 E* Z* n# v3 @+ ^" x; {: A
h/ I0 g8 X' V) y: U+ y2 n4 f/ v$ J* |" A
9 \5 I$ X* q% q" t4 W$ d
: ^* a& \2 Q' @# I* o: X( G8 y
G: K5 Q9 l' F8 D }3 W& x
: f) D6 Z1 j0 h6 x& B7 ^
k, k% s/ C4 i% T/ i3 y
' b( t; U9 }- d3 A/ d补充:
$ f. o; F f- \6 Q& |5 ` H/ e鉴于评论区有左右不分的人出现,补一张位置关系图
* d' n Q; `: Y# E1 x) A: ?0 m. i; ^! N, G
( F6 |# r7 E. V
从这图其实也能看到第二点说的,不是所有光都会开阴影,比如左边的小吃摊里的灯是开了的,因此小吃摊前的人、路坎、店面挂着的木牌,都在小吃摊右侧形成了投影
! ?* h2 t2 c4 g而小吃摊前的落地灯笼没开阴影,所以到了灯笼这一块的路坎就没了阴影,就造成了游戏中最常见的一种漏光现象1 Z% J6 U0 b( e8 k7 E/ Z$ M$ ^
多举几个例子:
7 ^: a* o0 l: d. K7 q/ ~木村如龙因为是现代城市背景,夜里灯特别多,全开阴影别说PS5了,4090都撑不住,因此大部分灯都是不开的,比如图里这个巨亮的灯管,没有在场景里产生任何投影,游戏里的处理方式是沿着道路每隔一段就在左右的店面招牌交替放开了阴影的灯,以达到同屏下阴影不会太多,又能让玩家沿着街道行动时不会全程都只有脚下一团黑色的AO
9 z# l! m; A4 N# q# U/ S) Q% N: E6 F
& i6 l) A: c, G/ Z/ Q
下图绿框处可以看到来自左边光源的角色投影,而红框处的路障则没有产生投影,这也是优化的一种方式,只对重要的,玩家更容易注意到的东西计算投影以节省GPU资源,有游戏的朋友进游戏晚上逛一逛,路上的车、栅栏、广告牌啥的一般也是没投影的: u: e3 D# w( n% |/ X
: G+ z; r; t: {) D
. x4 u% x' z- Z0 `2 ?+ B, z还有一种假投影:下图里灯牌对角色没有产生半点投影,但是灯牌两边有自己的框架造成的投影,这种一般就没必要开真投影浪费资源,而且目前游戏里除了光追,一般还做不到这么柔和的效果,这种做法其实也很简单,往灯光上套一个预渲染好的贴图,可以理解为加个遮光罩,让灯光往特定方向上的光线强度降低以形成假的投影,因为不是真的计算出来的投影所以不会消耗多少性能,但也因此不会对场景里运动的物体比如玩家控制的角色产生效果,如果游戏里看到了一些复杂的场景光照,而玩家走进去完全不会产生投影,那一般就是这个了, k d! T% u0 Z
. t: E s6 Z. Y; g: {
% V" v8 n$ y# s$ A& V9 _了解了这些下次打游戏时遇到阴影问题,多数情况下就足够去分析原因了
, h/ `1 J* ?2 T% U比如:# A& @1 h; p! d- R- h7 n8 j
巫师3中的这个蜡烛既没有开阴影,也没有做预渲染的阴影贴图,导致墙上不光没有框架产生的投影,后面的墙壁还漏光了
( R/ g+ M% [4 o" h: P* y% i6 } g$ ^: H+ |# G
% L6 _4 F* ^: W1 q5 U0 N' I/ ?/ c7 A, }. b* k& ? f
3 q3 I7 s; v$ z6 s. j
正好下个月蠢驴要发次世代版,等更新了可以看看次世代会不会有变化: e! K5 P8 e5 e8 s# Z& ^
) A- Z( A3 j1 J4 ]$ Z& Q4 `R星从08年的GTA4开始,路灯,车灯就都开了阴影,PC版只要在范围内,连npc车辆都会产生投影,不是一般的激进。。。 几年后的看门狗还是啥游戏来着,也只敢在设置里单独搞个进阶选项设置可以开几辆车的阴影,最高还只能开到3' ^+ C! e- Z! j6 y* @) N
不过可以看到车头灯只对主角计算了投影,对其他车辆是没计算的,也是为了节省性能
7 ]' t* ^) j" g C! V7 p# E$ }. Q9 d; r8 N8 M
; A) T9 p/ s9 X. J) ~- N/ v; i
: ~! D6 r; u2 d
2077的小吃摊,画面左侧有个巨亮的灯管,但是图里红框处没有任何来自这个灯管的投影,绿框处的投影则来着画面外右侧的路灯,因为小吃摊上的光照相比起路灯没那么重要,为了性能只能优先更重要的路灯* s# b4 |& H' F& F* K
, }; |, U( j; k: |
3 W- Z4 a2 c* D0 l" z/ q- q) y2 k- Y
一个书摊,光源是顶棚上两盏向下照的灯管,因为只用向一个方向照所以用的聚光灯,性能消耗比较小,且本身亮度很高没阴影会比较违和,所以开了阴影; x1 }* L- i2 j9 E& |, K# ~& t
T1 p; v% v) a: |# _( N, }, d. I
% c+ S: \. ]3 I# n) K对比一下光追阴影:
% [1 ^6 `$ ?7 K8 n- P' T; t) I+ E$ s
|