PONOS Advent Calendar 2021の8日目の記事です。
昨日は私のDOTSベースのUnity PhysicsはPhysXよりどの程度軽量なのか?でした。
はじめに
前回の記事は物理エンジンの内容に触れました。この記事を書くにあたって、久しぶりに改めてUnity公式の情報を色々見てみたりしていたのですが、改めて感じたことがあります。
Unityの情報は様々なところにありますが、その一つにYouTubeがあります。YouTubeにはチュートリアルやTipsなどの動画があがっており、中には公式には日本語字幕がつけられていないものもあります。
しかし、今は自動字幕や自動翻訳を使うことができ、大変便利になりました。ですが、残念ながら現在の自動翻訳は少なくとも技術的な動画で確認する限り、かなり厳しい日本語になってしまっているように感じます。
ということで、今回は試しにYouTubeに上がっているUnity公式のPerformance optimization tips: Physics in Unityの内容を確認しつつ、自動生成された英語字幕の精度と日本語自動翻訳の精度を改めて確認して現在の実用性を確認してみました。
内容紹介
このチュートリアル動画は、物理エンジンを使用する際に最初に確認すると良いTipsをたくさん紹介してくれています。
更新頻度や、Physics.Simulateを使用した手動シミュレーション、Physics.autoSyncTransformsのことについてなど、多くのサイトで紹介されているようなポイントも抑えられています。
内容が気になる方はぜひ動画で全容をご覧ください。
Performance optimization tips: Physics in Unity
比較
「Performance Optimization Tips - Physics in Unity.」
この文章はチュートリアルのタイトルでもあります。これに対して自動生成された英語字幕は以下の通りです。
Performance optimization tips physics and unity.
inとandを間違えてしまっているようです。似た発音はやはり難しい?
自動翻訳(日本語)は以下のようになりました。
パフォーマンス最適化のヒント物理学と統一
なるほど、わかりませんw
日本語にしなくてよいUnityを日本語にしてしまっているので話がわからなくなってしまっています。もちろんandになっているため、意味も違っています。
「The broad phase attempts to efficiently determine the number of collisions which are needed for the narrow phase.」
日本語では**「ブロードフェーズでは、ナローフェーズに必要なコリジョンの数を効率的に決定しようとします。」**という感じです。
この文章に自動生成される英語字幕はこちら
The broad face attempts to efficiently determine the number of collisions which are needed for the narrow phase.
faceは多分phaseのことだと思います。これも似てる発音なので間違っているのではないでしょうか。
では自動翻訳(日本語)はというと、、、
ブロードフェイスは、tに必要な衝突の数を効率的に決定しようとします。
やはり英語がfaceだったのでフェイスになっています。これでは "幅の広い顔" です。しかし、それよりもいきなり問題を提出された気分です。「t」とはなんでしょうか?
文章としてはわかりますが、ナローフェーズの部分がなぜかtになってしまっていて伏せられていて伝わりません。
「When generating runtime meshes to use in the mesh collider it's important that generated meshes have properly created triangles meshes.」
日本語では**「ランタイムメッシュを生成してメッシュコライダーで使用する際には、生成されたメッシュに適切に作成された三角形のメッシュが含まれていることが重要です。」**という感じ。
この文章に自動生成される英語字幕はこちら
When generating runtime meshes to use in the mesh collider it's important that generated meshes have properly created triangles meshes
なんの問題もなさそうです。
では自動翻訳(日本語)はというと、、、
メッシュコライダーで使用するランタイムメッシュを生成するときに衝突が実際に計算されるような狭いフェーズでは、生成されたメッシュが適切に三角形を作成していることが重要
なんだか難しいこといってる!って感じになりました。
「メッシュコライダーで使用するランタイムメッシュを生成するときに衝突が実際に計算されるような狭いフェーズでは」・・
こうなると、"どこ"が"どこ"にかかっているのかという、日本語の難しさと専門用語が相まって、すごいこと言ってる感が増しているように思います。
実はこの**「衝突が実際に計算されるような狭いフェーズでは」**というのはどこからきているかというと、Whenの前にあった会話がのっかってきています。
口頭では「xxxx. When yyyy」と、話が続いているため(少し時間は空いていますが)、それが日本語に訳したときに、こちらの文章に入ってきているのだと思います。
しかし、これはどっちにかかるかで、かなり意味が違ってきてしまう部分です。
「This can lead to a loss of performance if the transform component changes and then you perform physics queries such as ray-casts in quick succession.」
日本語では**「このため、Transformコンポーネントが変更された後に、Raycastなどの物理クエリを連続して実行すると、パフォーマンスの低下につながる可能性があります。」**という感じ。
この文章に自動生成される英語字幕はこちら
this can lead to a loss of performance if the transform component changes and then you perform physics queries such as raycasts and quick succession.
raycasts and quick succession.となっており、ここでもinとandが間違っていると思われます。
では自動翻訳(日本語)はというと、、、
なんと表示されませんでした。
まとめ
動画の半分くらいを確認しましたが、英語の自動字幕については概ね理解できる文章になっていました。
ただし、油断しているとinとandが違っていたり、phaseとfaceを間違えていたり、発音が似てて全然違う意味になるところが間違ってる時があるので、英語字幕を鵜呑みにするとハマります。
- 英語の動画に対して「字幕:自動生成(英語)」は割と高い品質のように見える。(でも時々間違っている事もある)
- 英語の動画に対して「字幕:自動翻訳(日本語)」はかなり厳しい。文章の翻訳品質以前に、文章中のワードが違う文章にかかってきたりすることもあるようで、英語字幕とずいぶん意味の違うものになってくることがある。
ということで、少なくとも自動翻訳(日本語)はやはりまだ厳しく、英語字幕ならまだ実用的でした。
しかし、おそらくそれも動画による(喋り方による)のでしょう。。。
何か結論がありそうなタイトルにしてしまっていますが、結局のところ耳で聞くのが一番ということになってしまいます。
あるいは英語字幕を元に、耳で聞いて内容を確認するのが正確です。少なくとも日本語字幕で内容を把握すると勘違いしてしまうので危ないです。
聞く練習という意味では、YouTubeの再生速度変更の設定を使い、字幕を表示しつつ0.25倍や0.5倍で再生して確認すると良いかもしれません。
英語を学ぶことは必須とよく言われたりしますが、技術革新があれば一切不要になる未来もあるかもしれません。
最近の翻訳アプリなどをみていると進化したなーとめっちゃ思うんですが、やはりこういう内容の動画になってくるの難しいのでしょうか?
ということで、明日は@e73ryoさんです!ご期待ください。