T_Sumisaki
(T_Sumisaki)
1
絵というのがラスターなのかベクターなのかによって少し変わってきますが、おそらくラスターであると認識した上で回答します
アプリ内で自由に絵を描く、となるとまず第一に候補に上がるのはRenderTargetでしょう
ゲームではよく地面に車の轍を描き込むために使用されます
RenderTargetを使用すれば1~4までは実装できるかと思います
色を付けているわけではないですが、ContentExampleにはRenderTargetを動的に編集するサンプルが存在します。
サンプルではHeightMapとして使用していますが、絵を描くことは十分に可能でしょう
最後の5ですが、どういう形式で保存したいのかはわかりませんが、おそらくC++による保存処理を作成する必要があるかと思います
rumoi
(rumoi)
2
お世話になります。
タブレットなどで絵を書き、それが3D空間内を移動するというアプリを製作したいのですが、
絵を描く、という部分で既に行き詰っております。
むしろ画像を取り込み、3Dにて動作させる部分は問題ないと思います。
ランドスケープのペイント機能など色々当たってみましたが、
アプリ内で絵を描く、というものは見つけられませんでした。
機能的には
1、線を引く
2、線色は2、3色程度
3、消しゴムのように線を消す
4、範囲選択し線を消す
5、描画したデータを保存する
くらいの基本的な機能を実装したいのですが、
参考サイト、情報などありましたらお教えいただきたく。
paperbag
(paperbag)
3
RenderTargetにベイクした後は
RenderTargetを右クリック → Create Static TextureでTexture形式で保存できます。
Textureを選択して右クリック → Asset Actions → Export…から
Targa, HDR, Windows Bitmapなどの形式で保存が可能ですね。
paperbag
(paperbag)
4
Editor上ではなくランタイムでしたか…
こちらも参考になるかと思いましたが、ランタイムだと難しそうですね。
UE4を使ってお絵描きを試みる
paperbag
(paperbag)
5
自分も試せていないので不確定な情報ですいませんが、ExportTexture系のノードを使えば実現できるかもしれません。
CreateStaticTextureはSumisakiさんからも指摘いただいたように
#if WITH_EDITOR が指定されているのですが
幸いなことにExportTexture系のノードはRuntimeでも動作しそうです。
保存形式はRGBA16fの場合はHDRで、それ以外の場合はpng形式で保存されるようです。
T_Sumisaki
(T_Sumisaki)
6
ランタイム中に保存したいようなのでその方法は使えないかと思います
rumoi
(rumoi)
7
早速のご回答、ありがとうございます。
>T_Sumisakiさん
はい、仰る通りラスタデータでのお話です。
ポイントを結んでベクタデータで作成しようかとも思いましたが、
削除関係がややこしくなりそうなので断念しました。
RenderTarget調べてみます、ありがとうございました
>paperbagさん
ありがとうございます、こちらも合わせて調べてみたいと思います。
調査結果はまたここで報告させていただきます。
その他ありましたら、またご教授ください。
rumoi
(rumoi)
8
頂いたヒントを元に調べた結果、下記のチュートリアルが見つかりました。
まだ最終確認はしていませんが、ほぼこれで解決するかと思います。
皆さんありがとうございました。
Deadly_kom
(Deadly_kom)
9
А давай те, я тоже буду по нанайски писать! (для вас)