Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。Shiftを使い焦点の合わないゲームオブジェクトをぼかして表示してみます。Stack機能を使ってください。UnityのPostProcessing機能のV2についてUnityのPostProcessing機能のV2について見ていきます。Fieldを使用すると焦点が合っていない部分をぼかして表示する事が出来ます。BlurとDX11が選択出来、それぞれ設定項目が変わります。Settingsの部分を見ていきましょう。Visualizeは焦点が合っている部分と合っていない部分を単純に見える化するかどうかです。黒い部分が焦点が合ってる部分です。Transformは焦点対象を設定出来ます(キャラクターをフォーカスするならキャラクターを設定する)。Sizeは焦点のサイズApertureは焦点の合っている部分と合っていない部分のカメラの絞りの設定みたいです。Blurにした時の設定です。Resolutionにチェックを入れると不要なノイズを低減します。Blurにチェックを入れると前景領域の重ね合わせを行います。パフォーマンスコストが大きくなります。Sizeは前景の重ね合わせの領域の大きさです。Settingsが表示されます。Luminanceはこの値より明るいピクセルにだけボケが投影されます。形状は、クエスチョンのピクセルが頻度チェックをパスした場合にのみキャストされます。ありますが、よくわかりません。5が必要みたいで、わたくしのパソコンでは出来ませんでした・・・。Blurにして試してみます。↑のようになりました。Fieldを使うと焦点を合わせる対象を設定出来るのが便利ですね。Shiftを使うとカメラの描画画面の中心に垂直方向と放射状に焦点を合わせ周りをぼかす事が出来ます。Mode(放射状)が選択出来ます。Qualityはぼかしの量でPreviewを選択するとDepthOfFieldのVisualizeと同じように焦点を視覚的に見る事が出来ます。Areaはぼかしの領域と強度になります。それでは実行して確認してみましょう。↑のようになりました。カメラの中心に焦点を当て他をぼかすという単純な場合はこちらの方が簡単に出来ますね。16:20返信が遅れてしまい申し訳ありません。ご丁寧な回答本当にありがとうございました。試行錯誤をし、実装したいコンテンツの内容も考え、ブラーの強度を変更できるすりガラスのようなマテリアルを内側にも適用したsphereをカメラを覆うように配置し、sphereの内側と視線のrayの衝突位置に、ttp://onoty3d.hatenablog.com/entry/2015/03/12/204630のサイトを参考にした球体を配置して、視線位置を高解像度にする方法をとりました。sphereの外側から出たrayであればsphereと衝突した部分を球体が移動してくれるのですが、sphereの内側にrayの起点を置くと、sphereよりも大きい半径で球体が宙を移動するような挙動になってしまいます。ttps://qiita.com/mechamogera/items/166f7486323e171356b4このサイトをもとにしましたがうまくいきません。このサイトに問題があるのか、それとも私の実装に問題があるのかだけでも知りたいです。質問ばかりで申し訳ありませんが、ご回答いただけると幸いです。22:56URLの最初のhだけ消させて頂きました。(._.)2番目のサイトで行っているのはコライダは表面だけで判定する為にSphere等のメッシュをコピーして面を反転(normalを反転)したものを作成している処理のようです。スクリプトの詳細は大変なので見てませんが、そのまま適用するとうまくいかなかったのでReverseNormals2のStartメソッドを少し改造します。filter.mesh;}コピーして面を反転させたメッシュをMeshColliderに反映させ、その下にある処理をコメントにします。これでサンプルを作成してみました。スタンダードアセットのFPSControllerを使います。カメラであるFirstPersonCharacterにレイを飛ばすスクリプトを設定します。hit.point;}}}eyeMaskObjにはマスクに使用するオブジェクトを設定します。カメラを覆うSphereにMeshColliderを取り付けLayerにEyeというレイヤーを作成し設定、ReverseNormals2スクリプトを取り付けゲームオブジェクト登場時にコライダの反転処理を加えます。これでカメラから飛ばしたレイがカメラを覆うSphereにぶつかった時にその位置にマスク用のゲームオブジェクトを表示する事が出来ます。上の黒い表示部分がマスクのゲームオブジェクトです。11:56お早くとても丁寧なご返事ありがとうございました。おかげさまでフォービエイテッドレンダリングのような機能を実装することができました。実装したい機能はありますが、今後もこのブログを参考にさせてもらいながら実装していきたいと思います。ありがとうございました。17:44初めまして。このブログを参考にさせていただいています。本題ですが、VRコンテンツでフォービエイテッドレンダリングのようなものを実装したいのですが、やり方が分からず行き詰っています。具体的には、全体にぼかしのかかった低解像度の表示の上に、視線の位置に合わせて自由に動く小さな高解像度の窓を開けるような機能を実装したいと考えています。視線はRayで取得方法は分かっています。どのようなアプローチが考えられますか?回答よろしくお願いします。21:38こんにちは、ブログを参考にして頂きありがとうございます。(^^)/VRコンテンツに関しては触っていないのでわかりませんが、右目、左目用のカメラを用意してそれぞれ表示するという感じでしょうか?フォービエイテッドレンダリングという用語も初めて聞きましたので、検索してみました。Cornersの値を変化させるとカメラの中心位置に焦点が合い、他の部分はぼかされます。フォービエイテッドレンダリングの本来の目的である描画の処理負担が減るかどうかはわたくしにはわかりかねますが・・・・(^_^;)VignetteAndChromaticAberrationはカメラに設定するので、カメラの動きに合わせて中心が見え、周りがボケるという機能を作成出来ます。Effectsをダウンロードする必要があります。現在のUnityの標準エフェクト効果を与えるPostProcessingStackを使っても同じような事が出来ます。https://gametukurikata.com/standardassets/effect-standardassets/postprocessingstackしかし、コメントの文面を見るとFPSのようなものではなくて、TPSのように遠めのカメラがあってその画面内で窓枠をコントローラーやマウス等で移動出来るようにしてその中だけをクリア、それ以外をボカすということですかね?そうなるとちょっと難しそうですね・・・、やり方が思いつきません。00:34お早く丁寧なご返信ありがとうございます。Fieldで試行錯誤してみたのですが、できなくて困っていました。ちなみにですが、HMDはFOVEを使っています。Rigというprefabをヒエラルキーにドラッグするだけで、再生時に自動で二眼になるカメラを使うことができました。https://www.youtube.com/watch?v=GKR8tM28NnQhttps://www.youtube.com/watch?v=Qq09BTmjzRshttps://www.youtube.com/watch?v=lNX0wCdD2LAこのような機能を実装したいと考えています。今回はあくまでフォービエイテッドレンダリングのようなものでいいので描画処理の軽減は考えていません。難しそうですかね...僕自身unityの機能はほとんど把握できていないので、詳しい方の助言が欲しく、不躾ながら質問させていただきました。19:34FOVEのUnity用のSDKをダウンロードして試してみました。・・・・、やはりVR機器がないとエラーが出て確認出来ませんでした。(^_^;)FOVEのSDK自体にアイトラッキング?の目の移動箇所が鮮明に、他は荒く、といった機能があるかどうかまではわかりませんでした。FOVEのコミュニティでshiroshiroさんと同じような事をやりたい方が質問していました。Fieldを加えてもFoveの目のトラッキング部分だけクリアにはならないんですかね?ここら辺は試せないのでどのようにしたらいいかがわかりません。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。サイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事への質問はコメント欄にお願いいたします)。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。Д`)シクシク...お知らせ2020/01/18個人的にUnity2019.2.18f1をインストールしました。2020/01/01あけましておめでとうございます。(^^)/ユニティちゃんのRPGを作ってみようのPartyStatusスクリプトでpartyMembersのListの型がCharacterStatusとなっていたのでAllyStatusに変更しました。変更したというか、元々AllyStatusに書き換える前のスクリプトを掲載していたので修正しました。ユニティちゃんのRPGを作ってみよう10ーコマンド画面の作成とステータスの表示ーユニティちゃんのRPGでコマンド画面の作成とステータスコマンドを作成し、選択したキャラクターのステータスを表示するようにしていきます。20:00GetPartyStatusメソッドの戻り値もそれに伴って変更しています。2018/08/07コメント欄へのわたくしの返信は停止しております。わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。21:41も参照してみてください。コメントの返信はありませんが、回答は記事に反映されている可能性があります。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。Unityを使った3Dゲームの作り方(かめくめ).。