一日分の備忘録スマートフォン用の表示で見る一日分の備忘録ゲーム制作におけるいろいろな実装の備忘録。基本的にはゲームエンジン中心。その中でもUE4がメイン。プログラムプロパティ指定子使いそうなものについてまとめUPROPERTY()で設定できるもののことAdvancedDisplayDetalis(詳細)パネルの拡張ドロップダウンリストに表示される。AssetRegistrySearchableメンバー変数として格納するアセットクラスインスタンスからこのプロパティと値が自動でアセットレジストリに追加される。難しく言ってるけど要するに検索できるようにする。BlueprintAssignableマルチキャストデリゲートのみ使用可能。ブループリントへ割り当てるためにプロパティを公開する。BlueprintCallableマルチキャストデリゲートのみ使用可能。ブループリントのグラフでの呼び出しのために公開するプロパティです。BlueprintReadOnlyプループリントでの読み取りのみ可能。BlueprintReadWriteブループリントでの読み書き可能Categoryプロパティのカテゴリを指定をする。"|"を使ってネスト(入れ子)設定もできる。VariableName;Configiniファイルで値を保存することができ、作成時にロードされる。EditAnywhereプロパティエディタに公開されて編集可能になる。oneday-memorandum.hateblo.jpEditDefaultsOnlyプロパティウィンドウでのみ編集可能。EditFixedSize配列の長さの変更を制限する。EditInlineアンリアルエディタのプロパティインスペクタ内で編集できるようになる。EditInstanceOnly詳細タブのみ編集可能になる。NoClearオブジェクト参照がNoneにならないようにする。VisibleAnywhereエディターでプロパティで表示する。VisibleInstanceOnly詳細タブでプロパティで表示する。00:28プロパティ指定子の備忘録Tweet広告を非表示にする2017-09-23TGSに参加してきました。中級者向けのブレーキ自動が嬉しかった。真・女神転生VRコントローラーでタブレットを持って命令を送ると行った手法。タブレットに情報を入れるとなかなか良いのではないかとおもった。途中地震の演出があり建物が崩れるのだが、その時に画面が揺れて気持ち悪くなったが、よく観察してみると、カメラは揺れておらず、周りの建物のみ上下に揺れていると行った演出をしていた。酔い対策ということか。確かにカメラは揺らしてない。酔い対策などは見受けられなかった。開発者と話をしたところ、シュミレーターだから酔い対策はしなかったとのこと。この話を聞いて、VRのコンテンツで何から何まで酔い対策を考える必要はないのだなと思った。新たな発見インディーズ自分にお金があればぜひ支援したいと思うようなゲームが非常に多かった。あとはスイッチが結構あった。PSVRもそこそこ展示が増えた印象。英語話せるようになりたい。今後はスイッチに流れがそこそこきそうでした。tobiiVR視線追従周りの技術でもがあった。制度は良いが遅延がかなり気になった。お話を聞かせていただいたが、今後の酔い対策や処理不可の面で必ず必要になるだろうとtobii開発者と共通の認識だったので安心?した(なお話ししていただいたのはtobiiマーケティング部の方)。今後の対応が待たれるが、次のVRはスタンドアロン型のHMDが来ると予想されているので先はまだ長いか・・・待ち遠しい。学生ある程度のスペースがある学校には大体VR作品があり。どれも学生ながら非常によくできていた。人気コンテンツMHWとCODWWIIはすごく人気。会場15分ほどで受付終了すると言ったレベル。VRも、HMDをかぶるだけのVRと言うのは受付中止になるほどではなかったが、専用筐体や最新のVRウェアなどを着て参加するものはすぐに受付中止になっていた。匂いVRVRサクラチョコの匂いやスイカの匂い、香水の匂いが体験できる。たまらない感じがでてて非常によかった。今後この技術も発展していってほしいと思います。いけないことをしている気分になりました。これ以上は言葉で表すのは非常に難しい。そのような体験でした。ペットと遊ぶやつ不快な匂いは割りとそれだけで気分が悪くなった。五感すべてが快適な体験が行えないとVR酔いと言うものが発生するのかと思う。このコンテンツに関しては自らはその場を動かず犬とたわむれるだけといったものなのだが、本当に匂いだけで気分が悪くなった。新しいことを感じれたので、気分は悪くなったが満足した。seiyaVR音ゲー。ノートが音になり、ノートを拾えなかったら音はならない。パンチするときの力が得点に加算される。疲れるもののVRの体験としては良いものではないかなと思われる。ボトムズ対戦系コンテンツ。専用コントローラーで移動などを行う。ゲームが始まると対戦相手と戦うのだが、相手が誰かわからない。2戦目にしてようやくルールが理解できた。内容自体は非常に楽しく、コックピット系VRに専用コントローラーはかなり良い体験になることを再確認。Gyroと合わせられるような技術になると良さそう。VRはアトラクション系との親和性はかなり高い。Gyro360度超回転するVRVR酔いよりもアトラクション酔いが強いと感じる。映像と体にかかるGが少しだけタイミングがずれている部分があり、そこで一瞬胃液がこみ上げた。映像と体にかかるGを更に正確にすることが直近の課題だろう。映像に合わせると没入感は群を抜くものになるだろう。アトラクションとしてぜひともはやってほしい。閃の軌跡III完全に趣味。語ることはなく、ただただ楽しみ。------------------------------------------------------------------------------------------------------------------------------------全体やはりと言うかなんというか注目はMHWだろう。これに関してはビジネスデーにも関わらずどこもかしこも人で溢れていた。全体的にスマートフォンゲームブースの人はそこまで多くなく、コンシューマ系に人がかなり多く流れていっていた。これはゲームの周期が一周したと言うのはまだ早いかもしれないが、ごくごく近い未来そうなるのではないかなと思う。言うもののスマホの出店数は前年とほぼ同じくらいと言った印象。去年に比べ、アーケードゲームは前年に比べ少ない?(というか全く見なかった)コンシューマは各ハード少し減ってスイッチが参入してきたと言った感じ。VRに関してはPSVRがかなり減ってviveがかなり増えた。いうのも、上記で上げた専用筐体などを使ったものの影響がかなり大きいのかなと思う。VRは家庭で楽しむものというよりもアトラクション的な要素として楽しませていく方向にシフトしつつあるのか、果たしてと言った感じだった。前年に比べ、家庭で遊べるゲームも増えている。GROUND)はいたるところで見かけた。いった部分を見るとesportsやSteam配信(PCゲー)の時代にも流れになりつつあるのかもしれない。12:40TGSに参加してきました。プログラムBPのある部分のみ処理時間を計測したくなったのを気になったので作成。この処理自体の処理時間はわかりません。freq.QuadPart;}適当に重い処理を書いて計測。プログラムBPではmetadataにアクセスできなさそうなのでC++クラスを作成。EditTest;これだけ。後は作ったC++クラスを継承したアクターをレベルに配置するとこういう感じで表示されるので、チェックONOFFで編集状態が切り替わる。EnumValue;としたいところだが、どうやらEditConditionは式を判別できない模様。いうことでこんな感じでまずはコードを書く。(今回はチェックのためにあえてbool型をEditAnywhereにしている。EnumValue;書いたらこんな感じで公開されるこの段階であえて表示しているチェックをONOFFで編集可、不可が切り替わるが、enumを変更しても変わらない。ここまでできたらコンストラクションスクリプト内でこのようにノードを組む。あとはコンパイルしてenumを切り替えると編集可、不可が切り替わる。できたら使わないbool変数は表示しないようにしておく。forums.unrealengine.comここによるとCanEditChangeをオーバーライドすると式の評価ができるみたいだが、よくわからなかった。プラグイン非商用に限り無償使用可能ただし性能は制限される。Audiokineticに無料登録。https://www.audiokinetic.com/ja/とりあえずSDKやらC++やら全部インストール。プロジェクトごとにインテグレーションするかエンジン自体にインテグレーションするかがあるがとりあえず検証用なのでプロジェクトに。実際プロジェクトに突っ込むほうが楽そう。projectで検索インテグレーションするときOSXのSDKがないって言われたのでOSXにチェックを入れ直して再インストールしたら問題なく行けた。備忘録で書いてるけど正直インストールしてUE4用にインテグレーションするなら書いてあるとおりにやるだけで行ける。実際にどういったことができるかは、先人たちの情報に助けられることになりそうだが、これで音ゲーが捗りそう。目指せ、Airtone。1|回転は面倒くさい。各行列を掛け合わせることで連続的な変換になる。かける順で結果が変わる。基本的にはスケール、回転、オフセットの順でかける。1|になる行列のこと。これを利用することでゲーム上ではワールド座標系からローカル座標系に変換することができる。余因子行列を用いる方法、掃き出し法を用いる方法がある。掃き出し法を用いる方法の二つがある。書いたが実はUE4ではBPでは行列の取得はできない。代わりにTransformを受け取ることができ、そこにはLocation、Rotation、Scaleが格納されており非常に操作しやすい。今回はこれを使って↓のようなミニマップ的なものを作るための土台を作るためのBP操作の備忘録。今回のBPはVR用の備忘録なので3D空間に配置したメッシュとメッシュの座標を合わせるだけ。基本的には同じような感じで2D⇔3Dができる。配置2とりあえずデバッグ用にカメラ向きの先にレイを飛ばす当たったオブジェクトを判別。相互で位置の共有ができるようにするため。クリックしたときにレイのヒットしていたポイントにSphereを出すために値を保存3ヒットしたオブジェクトのTransformと位置を共有したい先のオブジェクトの逆行列後のLocationを取得。相互に使用するため2つ用意した。UE4ではInverseTransformLocationがその座標系に合わせて逆行列を掛けローカル座標にするといった(解釈間違ってるかも?)有能なノードがあるのでそれを使用。逆行列してローカル座標系にしたLocation共有先のTransformをかける。マジックナンバーが腹立たしいが解決方法がわからず。イメージ的にはこんな感じしたものを元に戻す感じ。それらを配置するように値を保存し、そこにSphereをスポーンするような処理を書いてやる。広めに見たらこんな感じ結果こうなる処理不可がそこそこ食いそうな気がするのでもう少し処理不可を軽減したいのであれば、限定的な使い方ではあるが、基準点を2つ用意して位置の最大値最小値を計算して合わせる方法があるがこちらは力技感があるのでがんばってください。逆行列はアニメーションモデルを読み込んだ際にボーンの親子関係などで触った以来だったがUE4では難なく使用できた。こいつを使うことで侵入してきたものがどちらから侵入してきたかと言った取得もできるので非常に有用。不備や間違いなどあればtwitterで教えていただけると助かります。日常いろいろ体調が悪い中Viveが届きました。23:44Viveが届きましたTweet広告を非表示にする次のページプロフィールid:oneday-memorandumゲーム制作におけるいろいろな実装の備忘録。基本的にはゲームエンジン中心。その中でもUE4がメイン。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。