テラシュールブログスマートフォン用の表示で見るテラシュールブログ旧テラシュールウェアブログUnity記事。UnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。遅くなったが、[Unity]Unityでテクスチャを読む7つの方法の続き。4.5.6(PNGやJPEGを読む方法)についてはこちら。ESやDirectX11)で作成したテクスチャを取得する方法。結論を言ってしまうと、Texture2D.CreateExternalTextureやTexture2D.UpdateExternalTextureを使用する。これを使用すると、ネイティブで使用しているテクスチャを直接...とは言わないが、ポインタ経由で使用することが出来る。逆にこれを使用しない場合、ネイティブで取得した画像(例えば写真やビデオ等)を取得するには、テクスチャを一旦PNGに変換しファイルに書き込むかネイティブプラグイン経由でbyte[]を取得、Unity側で再びTexture2Dを生成するといった非常に面倒な手順が必要になる。ネイティブのテクスチャを取得する前に、まずはテクスチャを作成する。ES・DirectXの方式に準じる。OpenGL宜しくテクスチャを生成した後、作ったID3D11ShaderResourceViewかGLuintをネイティブプラグイン経由で取得し、Texture2D.CreateExternalTextureでUnity側のテクスチャとして登録する。この際、指定のサイズと実際のサイズが異なるとエラーとなるので注意。取得したポインタは直接UpdateExternalTextureで突っ込めるかと思ってたが、実際はCreateExternalTextureで一度Unity側に登録しないと使えない。このコストはほぼ無いっぽいが、少し気持ち悪い。());GetTexturePtr()は中で適当にテクスチャ作ってポインタを返すだけのネイティブプラグイン上手く使えば完全非同期なテクスチャの読込とか、カメラ画像のキャプチャに使える。ちなみにUpdateExternalTextureは別にネイティブテクスチャじゃなくても使える。RenderTextureからイメージを取得したい場合、renderTexture.GetNativeTexturePtr()でポインタを取得後、Texture2D.UpdateExternalTextureとしてやればイメージを更新出来る。Texture2Dを更新した訳ではないので元テクスチャが死ぬと一緒にオサラバする点に注意(要は参照先を変更しただけ)。4.5.3よ...2013-10-28Unityの特殊フォルダと各々の役割(追記版)EUnityは幾つかの特殊フォルダがある。(1)月別アーカイブはてなブログをはじめよう!tsubaki_t1さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。