ムラサメ研究ブログ

主にゲームやプログラミングのログ

Overwatch 魔境でのピックを考える

対象 FPS初心者。ランクマで1000未満の初心者 魔境では基本がトロールピックである 魔境ではノーヒーラー、ノータンク、オールアタッカー というのは良くある たいてい 相手がヒーラータンクいると負けるので、必然的に自分がヒーラータンク選ぶと勝率が上が…

UNITYでDepthをリニアでEXR形式で出力

概要 Depthマップ欲しい事は多いと思います Depthの取得自体は簡単ですが、Depthの計算上 Z値とリニアで変化しないため感覚的にわかりにくいので リニアにしたい DepthをPNGファイルにすると 256段階に丸められてしまうため、浮動小数点形式で保存したいので…

弱点&改善点

まず UNITYの調査してるんだけど そろそろまとまったので、書けるかな・・・・と。。 はよ プログラム記事かかないとなー ここは技術的なブログなのに 今の状況 FPS初めてプレイしたので、超下手で何をすべきかわかってないのでランクが500程度からのスター…

RenderTextureを使いレンダリング結果をTextureに保存する

レンダリング結果をテクスチャでほしい事ってありますよね 例えばレンダリング結果を鏡にうつしたり G-Bufferをファイルに保存したり ってことで、RenderTextureを作り カメラにAttachし、レンダリング結果を取得します まず RenderTextureをCreateします Mu…

2年前に開発したC++のリアルタイムゲームサーバ

C++

はじめに 2年半ほどまえに、リアルタイム対戦ゲームの ソーシャルサーバとリアルタイムサーバの作成案件をもらった ソーシャルサーバは何度か作ったし余裕 リアルタイムサーバは、いわゆるMO的なゲームでロビーサーバを作ったり、レートでマッチングしたり、…

阿里山vs梨山

阿里山と梨山。どちらも日本人には人気の 高級高山茶です 今回は2つの山の 青心烏龍種のお茶の飲み比べ 左 X-005阿里山 右 X-007 梨山 どちらも原価 100g1000円。日本だと30-50gで2500円ぐらい。 とっても高級なお茶です 見た目で違いがあります 阿里山のほ…

青心烏龍、金萱茶 飲み比べ

はじめに お茶好きです お抹茶、グリーンティー、紅茶なども好きですが 特に 中国茶が好きです その中でも特に、台湾ウーロン茶とプーアル茶が好き 原価屋 よく台湾や香港、中国でお土産にお茶を買ってきたり、日本のお茶屋さんで茶葉を買いますが 少量だと…

OverwatchというかFPS初心者の夏休みの研究

最近のゲーム FPSなどが極端に下手なので練習開始してます Overwatch 1年ほど前に発売されたFPSで今もそこそこ人数がいる 出来は素晴らしいらしい FPSというよりMOBAであるため、単純なプレイヤースキルではなく頭を使った戦術でも戦える ため、FPS初心者で…

積みゲーム

社会人といえば積みゲーム!! 昔から積みゲーム多いよほんと! とりあえず Steamのサマーセールで3本買った。どうせ全部積みゲーになるんだろうね・・ ゲーム実況で食えるまでは 仕事がメインで積みゲー消化できないよ・・ 私は あまり積みゲー作らないよう…

UNITYのライト消したいの巻

まずデフォルト UNITY-Chanと中野シスターズを表示してみる ライトはディレクショナルライトいれて ドーン ここからライトを消していきます Directional Light OFF UNITYちゃんは真っ黒になったけど、中野シスターズも背景も光があります これは UNITYはデフ…

大逆転裁判

仕事をさぼったわけじゃないのだよ ワトソン君 本日は、従業員へのタスク割り振りやタスクの説明やら、管理的なことを行って お客さんとの受け答えを その合間に 大逆転裁判を 恥ずかしながら 逆転裁判シリーズは軽く動画見ただけで、初プレイだったのだけど…

UNITY ScriptableRenderLoop アウトラインのミス

前回調べた時に ポストエフェクトのアウトラインが入っていた・・・ EdgeDetectionというやつだ なので、Unity-chanシェーダーのアウトラインではなく ポストエフェクトのアウトラインが入っていた たしかこれはDepthや法線でアウトラインを出すタイプだった…

UNITY EdgeDetection

ふと気になった 先ほど出力した画像のSphereに アウトラインが付いている・・・・・ なぜだ?? カメラに EdgeDetectionってやつがいた! こいつ怪しい! ってことで こいつをOFFしたら、Sphereのアウトラインが消え Unity-Chanのアウトラインが、カラー反映…

ScriptableRenderLoopでUNITY Chan表示

環境 ベータ版の機能なので EditorをUNITY2017のβを使います。今回は b10です サンプル GitHub - Unity-Technologies/ScriptableRenderLoop: Scriptable Render Loop 個々のサンプルを落とす 多分コンパイルエラー出るので、エラー出る所をつぶせばなんとか…

ScriptableRenderLoop概要

今までは情報がある程度まとまってから書いてたけど 試しに気にせずに毎日でも書くことにしたよ すぐ飽きるけど ScriptableRenderLoopとは UNITY2017から入る機能の1つで、現在はベータ版でお試しが可能 今までブラックボックスだった UNITYのレンダリングパ…

UNITYことはじめ~ShaderLab あたり

UNITY歴 実はあまり触ってない。プラグイン書く仕事はしたけど C++をバインディングしたり、そんなのだし 一応簡単に画面を触るけど 正直表面すら理解してないので はじめてUNITYをちゃんと勉強する 幸いなことに、仕事でUNITYを使う機会があり、今回は深い…

【UNITY】PostProcess

イメージエフェクト ってUNITYでは 言うらしいよ ポストプロセスの事 概要 ポストプロセスに関しては ご存知と思うが UNITYは基本的に オブジェクトにスクリプトをくっつけていくタイプだ UNITYではポストプロセスはカメラにつけるっぽい MonoBehaviour.OnRe…

【UNITY β機能】ScriptableRendererLoop 使ってみる

ScriptableRendererLoopとは Unity 2017から搭載される予定の機能で現在はβバージョンである 今までブラックボックスだったレンダリングのループをある程度カスタマイズできる カリング、Depthクリア、不透明描画、半透明描画・・・ 等の処理を変更できる サ…

右辺値参照~完全転送まで100%理解するぞ! part8 おまけ。

おまけ 可変引数テンプレートの Parameter Bagを展開しながら 全部出力する #include<iostream> using namespace std; struct Concat{ template <class... T> void operator ()(T&&... t) { concat_(std::forward<T>(t)...); } private: void concat_() { } template <class Head, class... Tail> void concat_(He</class></t></class...></iostream>…

右辺値参照~完全転送まで100%理解するぞ! part7 可変引数テンプレート

前回の template<class T> void hoge(T&& x){ std::forward<T>(x); } universal referenceを使うことで、右辺値参照も左辺値参照もどちらも入ってくる std::forwardを使うことで、右辺値参照の場合は ムーブコンストラクタ、左辺値参照の場合は コピーコンストラクタ が</t></class>…

クラスのコンストラクタを可変長テンプレートにして ごにょごにょ

C++

前回なやんだ続きではあります 関数テンプレートは暗黙的インスタンス化可能だが、クラステンプレートは不可能 ならば コンストラクタを可変長テンプレートすればいいじゃない [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ #include<iostream> #include<sstream> using namespace std; struct</sstream></iostream>…

関数テンプレートは暗黙的インスタンス化できる

C++

[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ で終わりなんだけど、少し悩んでやっぱ無理そうだったのでメモ 関数テンプレートで実装出来るのだが、使い勝手や最適化など考えて 関数オブジェクトにしたかったが 関数とクラスの テンプレートの違いで出来なかった 追記:や…

右辺値参照~完全転送まで100%理解するぞ! part6 Universal Referenceと std::forward

やっと UniversalReferenceですよ! その前に復習 右辺値参照を引数にする時は あまり気にせず下記のようにするのが正しいのでしたね #include <iostream> using namespace std; class X{ public: // explicit付けられない! X(X& x){ cout << "copy" << endl; } X(X&&</iostream>…

右辺値参照~完全転送まで100%理解するぞ! part5 参照の圧縮(reference collapsing)

右辺値参照の山場の一つ Universal Referenceまであと一歩 参照の圧縮とは UniversalReferenceそのものだが 参照は(const等のストレージクラス除き)2種類しかない X& (左辺値参照)、X&&(右辺値参照) X&&& 等はエラーですし X& && 等、参照を重ねる事は出来…

右辺値参照~完全転送まで100%理解するぞ! part4 Universal Reference その前に

こうやって 人に見せようと書く事は自分の理解になる 復習DEATH 前回の復習。右辺値参照を関数の引数にするには 一見コピーに見えるが void hoge( X x ) とプロトタイプすればよい 呼び出し側で hoge( std::move(x) ) とすればムーブコンストラクタが使われ…

右辺値参照~完全転送まで100%理解するぞ! part3 関数呼び出し

いまいちまだ 納得していない部分もある(理解不足 実践的な関数呼び出し 右辺値参照はムーブセマンティクスのために使われる ムーブセマンティクスは主に ・ 所有権の移動 ・ コピーのコストを削減(ポインタのすげ替え) で使われる 所有権の移動 コピーさ…

右辺値参照~完全転送まで100%理解するぞ! part2 VisualStudioの罠

はじめに おまけ。 右辺値参照を理解するうえで大きな妨げになった VisualStudioでの挙動(バグ?? 詳細希望) 左辺値は暗黙で右辺値参照にキャスト出来ない バグ? の前に基礎から 左辺値(参照)は 左辺値にのみ 右辺値(参照)は 右辺値にのみ 暗黙キャスト…

右辺値参照~完全転送まで100%理解するぞ! part1 右辺値参照とは

TL;DR はじめに、私が右辺値参照を調査したのは、何番煎じかわからない 解説をしたいわけではなく VisualStudioでの動作の違い、universal referenceの特殊化したときの動き、複数の引数をuniversal referenceしたとき デフォルト引数・・・ など、応用した…

Railsはじめました

はじめに 私 みやたけゆき がRailsを始めるなんて冗談だろ?? 確かに私は なんでもかんでもRailsの風潮には否定的であるが 正しくRailsを使うのは ありと思ってる RailsというかRubyには根本的な弱点 遅いという問題があるのに 速度が必要なリアルタイム処…

#キャッシュレス社会を#求めて#クレジットカード整理し#ブラックカード目指す

はじめに 中国の人から、中国ではほとんどのものがウェイボー決済で買える。QRコード読み取って決済すると自動販売機から商品が出てくる ときき 驚いた 日本ではスマホを使った決済の場合は SUICAやEDY、Felicaのような Bluetooth的なもので行うが、iPhoneに…

Vulkan LunarG-SDK Sampleで勉強する 01-init_instance

あらすじ 前回 あらたにVulkanAPIを勉強する事にし、ドライバのインストールと 現在オフィシャルの LunarGという VulkanSDKをインストールし Sampleのビルドまで行った ので、Sampleを参考に Vulkanの勉強をする サンプル一覧 Samplesの下だけでも46個あった…

Vulkanほんと入門!

はじめに 3D APIは複数あります OpenGL系 OpenGL、OpenGLES、WebGL等 色々と出ているがどれもがクロスプラットフォーム 現状 Windows、Linux、Mac、Android、iOS、Web が動くのはこれしかない コンシュマーゲーム機でも採用されている 現在 WebGL1.0(GLES2.…

boost::bind (std::bind)を理解する

C++

はじめに C++で仕事をしていますが、C++って人によって理解度が違います 今回の案件はBoost.Asioで作れという指定なので、どうしてもC++色が強くなります stream、string、functional、bind、rambda はたまた triboolやtuple、各種コンテナと 他の作業員がC+…

WebAssembly Windows環境構築

Windows環境を作るにあたって 公式ページでは下記のように http://webassembly.org/getting-started/developers-guide/ The instructions on this page are applicable to Linux and Mac OS X systems. Similar instructions for Windows systems are forthc…

おれはMacbookをやめるぞ!ジョジョーーッ!!

PC

Macbookやめました まずはMacbookを手に入れる所から Macbookが必要になった事 私はずっとWindowsを愛用してきた。もちろん Cygwinや Linuxを内部にインストールしLinuxも使っていた Macさんの事は話で聞いていたものの、特にWindowsでも困ったことがないし…

WebAssembly 調査!

新年一発目は WebAssembly 今年(会社自体は6月はじまりなので 2016年度下期)に、会社の方針として C++やアセンブラの高度な技術を一番の武器に活動することを決めました もちろん今までのようにゲームが主軸になると思いますが ゲーム&ビジネス限定せず …

Begin 2017年

2017年はじまりました まず2016年の振り返りを形式上行う 2015年に スマホのマージャンゲームのソーシャルサーバ&マッチングサーバを請けたものの残り作業で 1月2月は、そちらの作業に費やした 3月あたりは休暇を取りつつ、大手のゲームメーカーより JavaSc…

【今更だが】 CComPtrのoperator&でassertで落ちる場合は read目的なら .p()を使うといいぞ

はじめに なぜいまさらCOMなのか? と言われると DirectXを触っているからである CComPtrとは? COMオブジェクトを扱いやすいようにした テンプレート。 いわゆるスマートポインタ COMは、shared_ptrのような参照カウント方式のスマートポインタだが、shared…

Unreal4.14 ノンフォトリアルに挑戦中

はじめに 一般的に Unrealといえばフォトリアルなものに強く、アニメなどの ノンフォトリアル(NPR)には弱い というイメージが有り たしかに当たってるのだけど GUILTY GEAR Xrd -SIGN- にて、UnrealEngine3ではあるが、かなり完成度の高い NPRが動いていま…

ポケモン サンムーン戦記

ゲームのプレイ日記も書くよ! ゲームプログラマやさかい Myポケモン戦記 最初 ムーンに決定。理由は同じシェアハウスに住んでいる住民がサンを買ったので ニャビーで始める。理由は シェアハウス住民がモクローだったので 火にした 最初は捕まえたポケモン…

岡山と東京のIT事情

半分ネタなので おこらないで・・ 自己紹介 小学校1年の頃 岡山大学医学部の目の前 鹿田の イナバ小児科の前で 60キロで走る乗用車にはねられ かすり傷の 大怪我をしたのが 事故はじめです 自転車は真っ二つに曲がって、体は車のボンネットで跳ね返り 推定3…

何番煎じか UnitychanをUnreal 4.14で読み込む。 アニメーションステートマシン作成

はじめに 何番煎じか不明だが UnityChanモデルの読み込み 触った感じ 4.14になっても ほとんど変わってないので 本当に何番煎じか・・ 前回は UnityChanが操作できるが Tポーズなので 今回は 待機モーション、ジャンプ等を作る 最低限のアニメーション設定(…

何番煎じか不明だが Unreal4.14で Unitychanを読み込む

はじめに いろいろな人が記事書いてくれているので基本それを見てください たとえば UE4でゼロからユニティちゃんを表示させるまで - Let's Enjoy Unreal Engine 今回は自分のメモと UE4.14で変更点があると思われるのでチェックです データのコンバート 上…

Unreal4.13 リプレイ機能調査(キルカメラ) Part 1

はじめに 今回は調査。不確定な要素もあるかもしれない 有識者のツッコミ欲しい所。 UnrealEngineにはリプレイ機能がある。 これは 終了したゲームを例えばファイルから再現をさせる機能である ムービーと違って、後から視点を変更したり出来る docs.unreale…

UnrealEngine モジュールを使うときのメモ

必要になった背景 モジュール使ってますか? とりあえず今回 リプレイ機能を調査したかったので #include "Runtime/NetworkReplayStreaming/NullNetworkReplayStreaming/Public/NullNetworkReplayStreaming.h" を行いたかったのですが、NullNetworkReplayStr…

さくらVPSで Google G Suiteを使いメールアカウントを作成

メモなのでさらっと まず、今までは GMailアドレスで仕事をしていたが、ビジネスも大きくしなきゃいけないので murasame-lab.com の、独自ドメインのメールアドレスを作ることにした さくらVPSを使っているので、メールサーバを建てればよいし、知人と一緒に…

会社のホームページリニューアル&現在の仕事状況

会社ホームページリニューアル 友達のWebデザイナに会社のページを作ってもらった 株式会社ムラサメ研究所 POPで可愛い感じにというオーダーだったと思う まだ日付やメニューなど修正していくんだけど あとはゲーム会社らしく、HTML5でページに遊び要素入れ…

Unreal 4.13でWorldViewProjectionを探す旅

調査中内容でも書かないよりはましかとおもって 自分用のメモついでに。 UnrealEngineは基本的にMatrixを扱わずに開発出来るように作られているように思う BluePrintでもほとんどMatrix関係の関数がないし その代わりに、RotaterやTranslator等を作って Appl…

ブループリント de Enumを作る

かるいTipsなので説明なしに C++でEnumやStruct作るのは簡単。 C++の構文使えばいい それをBluePrintからも使えるようにするには、UPROPERTYをつける ってのは以前やったが ブループリント上で Enumも構造体も作れる 新規ブループリントから Enumを選ぶ そし…

アニメーションブループリントで モーション合成

はじめに ゲームのサンプル書いているけど仕事のほうが忙しく、作業すすまないため Tipsを書くことに Tipsと言う名の、自分のためのメモでもある 今回の内容 ブループリントに関して何も言及していないのにアレだが アニメーションブループリントは、通常の…