【3Dゲームエンジン】Unity質問スレッド8at GAMEDEV【3Dゲームエンジン】Unity質問スレッド8 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト985:名前は開発中のものです。 14/05/04 21:33:28.65 dYhR0UXE.net 恥を忍んでソースを晒します void OnPostRender(){ Texture2D t_t2d = new Texture2D(800, 600); t_t2d.ReadPixels(new Rect(0, 0, 800, 600), 0, 0); t_t2d.Apply(); var bytes = t_t2d.EncodeToPNG(); File.WriteAllBytes(Application.dataPath + "/../SavedScreen.png", bytes); t_go = GameObject.Find("スプライト"); t_sr = (SpriteRenderer)t_go.GetComponent("SpriteRenderer"); t_sr.enabled = true; t_sr.sprite = Sprite.Create( t_t2d, new Rect(0, 0, 800, 600), new Vector2(0.5F, 0.5F), 1F ); } これは、Spriteとして持つ800×600の画像を800×600の画面にピクセルパーフェクトで表示した状態で Camera の OnPostRender で実行されるソースです 最初の3行で現在画面に表示されている内容を t_t2d(Texture2D) に取り込み 次の2行で取り込んだ t_t2d の内容を SavedScreen.png というファイル名で出力し 残りの行で800×600の画像を持っていた Sprite に書き戻しています SavedScreen.png の画像は800×600の画像とイコールですが Sprite に書き戻した後の画面表示はピクセルパーフェクトではない、ぼやけた表示になってしまいます これは何が原因で、どこを直せばピクセルパーフェクトを維持できるでしょうか png 出力までは正常なので、Sprite に書き戻すところで何か間違っているのだと思いますが さっぱり分からないです 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch