2015年04月16日

Unityで背景が透ける…(;・∀・)


一応、今作成しているタイピングアプリがほぼほぼ形になりやした。
んで一度ビルドして実機で動かしてみたところ、どうも全体の色味がくすんでるんですよ。

before

こんな感じ。本来は真っ白にしたはずなのに、
なぜか若干くすんで暗くなってますよね。

『これはなぜだ?(;・∀・)』と四苦八苦して設定を色々いじったり、
google先生で検索してみたり色々と調べた結果、こんなページを発見しました。

Unity 2DやUIで、「テクスチャにRGBA16指定した時に透ける」問題を回避する方法について

なるほど。ひょっとしたらそうかも…と思い、
参考サイトの通りに設定をいじってみたところ、同じ画面でここまで改善されました。

after

ほくほく(・∀・) うまいことイッた(・∀・)
ボタンのところのアルファベットの文字の感じがちょっと違うのは、
元々Textで描画していた文字をImageでの描画に変更したためです。
というわけで、その備忘録を記しておきます。

原因としては、DXモード11にあるらしく、
それがうまいこと描画できてないとのことでした。
というわけで、そのDXモード11を切ればよろしい。

具体的には、
まずはBuild&Settingを開き、PlayerSettingのボタンを押します。
BuildSetting

そうすると、PlayerSettingのInspectorが開きますので、
StandAlone(下向き矢印みたいなの)のOther Settingタブ?の中、
『Use Direct3D 11』のところのチェックを外してあげます。
Inspector
おそらく、なんかウィンドウが表示されると思いますが、
そこは『Apply』を選択してくださいまし。そうすればOKです。

なお、この原因に関してですが、
Unityは4.6からDX11で描画するモードがデフォルトになったからのようです。
ついでにその辺も変更しちゃいましょうか。毎度この作業するのも嫌だし。

というわけで、Unityのショートカットのプロパティを開き、
以下のように細工をいたしました。
shortcut

リンク先の部分に『 -force-d3d9』を追加してます。
これは『DX9の方を使って起動よ!!!ヽ(`Д´#)ノ』という意味らしく、
これを追加しておけば強制的にDX9の方を利用するとか。

まぁもう5.0も公開されていてこの辺も改善されているかもしれませんが、
しばらくはまだ4.6の方を使うかもしれませんし、
念のための備忘録ということで…(;・∀・)

参考url
Unity 2DやUIで、「テクスチャにRGBA16指定した時に透ける」問題を回避する方法について

 

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)