トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

Oculusで文字をきれいに表示する

こちらを参考にVR内で文字を遠くからでも読めるようにしたい。(シャギーをなくす)

developer.oculus.com

 翻訳してくださっている

 

テクスチャの場合、こちらのスレッドも参考になる。Overrayとmitmapについて

 こちらのスレッドも参考になる

 

今回は基本文字だけ読めるようになればいい。生のtextのものもあるし画像(テクスチャ)もある。画像は最悪読めなくてもいいけどuGUIのtextはある程度離れても読めるようになりたい。(と思ったけど今回の記事は基本的にテクスチャの話だった)

他のワールドオブジェクトのシャギーとかは気にしない。

QualitySetting

MSAA

  • Turn on 4x MSAA, it’s absolutely worth it
  • Alpha blend doesn’t get MSAA, work around it with transparent borders
  • If you’re using Unity’s Text Mesh Pro, turn on Extra Padding on all instances
  • Alpha To Coverage looks better than Alpha Cutout

アンチエイリアシングの手法の一つ。オブジェクトの形をもとにしているのでテクスチャには効かない。

ascii.jp

Unity2018だとEdit>ProjectSetting>QualityのAntiAliasingで4x Multi Samplingにする?

f:id:bibinbaleo:20190918115123p:plain

Anisotropic Filtering

  • On your environment textures:
    • Turn on anisotropic filtering

異方性フィルタリング。斜めから見るときのなにか

QualityのAnisotropicTexturesのことかな。

Disabled (無効)、 Per Texture (テクスチャ毎) 、 Forced On(強制、つまり常に有効)

らしいのでForcesOnでいいかな?

f:id:bibinbaleo:20190918130929p:plain

www.f-sp.com

docs.unity3d.com

Textureの設定

Mipmap

  • Do this for all textures:
    • Enable mipmaps
    • Enable trilinear filtering

同じくテクスチャの設定のadvancedを開くとGenerate Mip Mapsというボックスがあるのでチェックを入れる

f:id:bibinbaleo:20190918120212p:plain

kohki.hatenablog.jp

FilterModeをtrilinearにする

テクスチャのFilterModeをTrilinearにする。(spriteとか変えるとこ)

f:id:bibinbaleo:20190918115535p:plain

doruby.jp

mipmap bias

  • On high detail textures:
    • Set your mipmap bias to -0.7

テクスチャのインスペクタを右上の三本線からDebugモードにすると下のほうにメニューが増える。そこのTexture Settingを開いてMipBiasの数値を変えられる。

f:id:bibinbaleo:20190918131818p:plain

f:id:bibinbaleo:20190918131821p:plain

baba-s.hatenablog.com

スクリプトで設定したらインポートするとき毎回これになる?

設定をpreset

Textureの設定はUnity2018からのpreset機能であらかじめ設定を保存しておき、デフォルトにしたほうが良さそう。(知らんけど)

f:id:bibinbaleo:20190918132630p:plain

これでテクスチャを新たに読み込んだ時この設定になる。

f:id:bibinbaleo:20190918132551p:plain

bibinbaleo.hatenablog.com

RenderScale

スクリプトで全体的な表示の解像度を上げる

UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 1.5f;

Goでは1.25,Rift1.5

https://gist.github.com/GOROman/baa82c8b8f43c43addefc1f19003bc2c

gist.github.com

kan-kikuchi.hatenablog.com

qiita.com

デフォルトが1024×1024

*1.25=1280×1280

*1.5=1536×1536

Go:1280×1440

Quest:1440×1600

www.moguravr.com

最後に

あってるか分からない.

テクスチャはあまりないから効果はそんなにわからない。にじんではいた

RenderScale上げたらRiftではtextがはっきり読めるようになった

Questでは一応きれいになってはいるけど、読めないし、重い。

Pick the correct resolution for your Unity splash screen logo!