物撮りは遠くから

Share

物撮りがうまくいかない原因は、たいていシンプルだ。近すぎる。

被写体に寄れば寄るほど、手前と奥の距離差が相対的に大きくなる。結果、手前が膨らみ、奥がすぼまる。円筒形のボトルが台形に見え、箱の前面だけが不自然に大きくなる。これは「広角レンズの歪み」と呼ばれがちだが、正確ではない。歪みの原因はレンズではなく、距離だ。

パースペクティブは距離で決まる

よくある誤解がある。「望遠レンズを使えば歪みが減る」。結論だけ見れば間違っていない。しかし理屈が違う。

パースペクティブ、つまり遠近感の見え方を決定するのは、カメラと被写体の距離だけだ。焦点距離は画角を変えるが、パースペクティブそのものには関与しない。同じ距離から撮れば、35mmで撮ってもトリミングしても、85mmで撮っても、パースペクティブは同じになる。

望遠レンズで「歪みが減る」のは、同じ大きさに被写体を写そうとすると、焦点距離が長いぶん後ろに下がらざるを得ないからだ。離れるから歪まない。レンズが歪みを消しているのではなく、距離が歪みを消している。

物撮りでマクロレンズの90mmや105mmがよく使われるのも、これが理由だ。マクロレンズは近接撮影能力が売りだが、物撮りにおける真価は焦点距離の長さにある。同じフレーミングを得るために、自然と被写体から離れることになる。その距離が、形を正確に写す条件を整えてくれる。

圧縮効果という整理術

距離をとることの恩恵は、被写体の形だけにとどまらない。背景が変わる。

望遠寄りのレンズで離れて撮ると、背景の要素同士が圧縮されて見える。いわゆる圧縮効果だ。これもレンズの光学的な作用ではなく、被写体との距離に起因する。カメラが遠くにあるほど、被写体と背景の距離差が相対的に小さくなり、背景が近く、大きく写る。

物撮りにおいて、これは背景の整理を意味する。近くから広角で撮ると、背景が広く写り込み、余計なものが目に入る。離れて望遠で撮れば、背景に写る範囲が狭まり、画面がすっきりする。Eコマースの商品写真で70mmから100mm相当の焦点距離が定番とされるのは、被写体の形を正確に捉えつつ、背景を最小限に抑えられるからだ。

スマホの物撮りが「スマホっぽい」理由

スマートフォンのメインカメラは、35mm換算でおよそ24mmから26mm相当の広角レンズだ。小さな被写体を画面いっぱいに写そうとすれば、必然的に近づくことになる。

近づけば、パースペクティブが強調される。手前が大きく、奥が小さく写る。商品の形が微妙に歪み、奥行きが実物より誇張される。加えて、広い画角のせいで背景が広く写り込み、生活感のある雑多な要素が画面に入ってくる。

「スマホで撮るとどうしてもスマホっぽくなる」という感覚の正体は、このパースペクティブの強調と背景の散漫さだ。センサーサイズや画像処理の差ももちろんあるが、見た目の印象を最も左右しているのは距離と画角の関係だろう。

もしスマートフォンで物撮りをするなら、2倍や3倍のズームに切り替えて、被写体から離れて撮るだけで印象は大きく変わる。近づくのではなく、離れる。原理は一眼カメラと同じだ。

離れることの制約

「離れて撮ればいい」。原理はそれだけだが、現実にはいくつかの壁がある。

まず物理的な空間。85mmで小さな被写体を適切なサイズに収めるには、1メートル以上の撮影距離が必要になることもある。自宅の机の上で撮るには、部屋の奥行きが足りないことがある。レンズは一本でいいで書いたように、単焦点レンズは画角の制約を足で補うことを要求するが、物撮りではその「足で補う」先に壁があるかもしれない。

次に手ブレ。距離が離れるほど、わずかなブレが画面上で大きく影響する。三脚の使用がほぼ前提になる。手持ちで気軽に、というわけにはいかない。

そして被写界深度。焦点距離が長くなり、被写体に一定の大きさを確保しようとすると、被写界深度が浅くなる。商品全体にピントを合わせるには絞り込む必要があり、絞れば光量が減る。照明の工夫か、ISO感度の妥協か、あるいはフォーカスブラケットか。離れることで解決する問題がある一方で、離れることで新たに生じる問題もある。

まとめ

物撮りで形が歪むのは、レンズのせいではない。距離のせいだ。

望遠レンズが物撮りに向いているのは、レンズが何かを補正しているからではなく、同じフレーミングを得るために撮影者を後ろに下がらせるからだ。距離がパースペクティブを穏やかにし、圧縮効果が背景を整理する。原理はこれだけだ。

物撮りに高価な機材は必ずしも要らない。必要なのは、被写体から十分に離れること。そしてそのための空間と、ブレを抑える三脚と、少しの忍耐だ。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu