simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Game

PlayFab:ログインタイミングを気にせずプログラミングする術

最初にひらめいたのはアクションをキューイングすればいいんだよ!の一言言葉をプログラムに書き下すと次の通り ちゃんと期待通り動いた前の記事 simplestar-tech.hatenablog.comの TitleData を取得する関数の処理、コールバックで成功を返すつくりなので、…

PlayFab:タイトルデータで接続先サーバーを知る

基本はここで学びます。 qiita.com任意のデータ構造を配列で取得できるようになったら、少し汎用的なタイトルデータ取得コードを記述します。C# でジェネリックの型名を文字列で取得するには var type = typeof(T); var titleData = JsonSerializer.Deserial…

PlayFab:Unityゲーム内課金システムPayPal編

個人ゲーム制作でも何百万人にも膨れ上がるユーザーを平気で捌ける順応性のあるバックエンドサービスを短期無料で作れる時代になりました。 Amazon の GameSparks, Google の Firebase, Microsoft の PlayFab, 富士通クラウドテクノロジーズのmobile backend…

PlayFab:UnityのバックエンドとしてのAWS入門

不正を許さないため、オンラインゲームは基本的に現実のお金でのアイテムの購入、ゲーム内の仮想通貨やアイテムの交換はクライアント側では行わずにサーバー側で行います。 そうした不正を許さないバックエンド処理に使う api とデータベースをほぼ無料で使…

Unity:VRMのMToonマテリアルをLightweightRPのShaderGraphで、その3で公開

# はじめに 内容は玄人向けですが、はじめての方にもわかりやすく説明します。 Unity とは、ゲーム開発するときに、共通で必要になるものをだいたい用意してくれるツールです。(基本無料です。) VRM とは、Virtual Reality における3Dモデルデータを扱うた…

Unity:VRMのMToonマテリアルをLWRPのShaderGraphで、その2

こちらの記事の続きです。 simplestar-tech.hatenablog.comUnity Shader Graph で VRM の MToon 表現を LWRP で実現してみます。 カスタム Master Node の作り方まで確認できたので、具体的な Toon シェーディングコードを GitHub - you-ri/LiliumToonGraph:…

Unity:VRMのMToonマテリアルをLWRPのShaderGraphで、その1

自分だけの3Dキャラクターをあらゆるゲームタイトルに登場させるというのは、ゲームが始まった頃からの全人類の悲願でした(二回目) 長い間、キャラクターエディットという、ゲーム開始時のアバター選びという機能の提供が続いていましたが、ついに一つ作れ…

CubeWalkGame昼と夜

LWRP アセットがお気に入りの今日このごろ ゲーム内に時間を設定して、これに対して昼と夜の見た目にプロシージャルに変化する様子を確認してみたいと思います。あ、できちゃったwww.youtube.com詳細はツィートにありUnity Timeline で Skybox をプロシージ…

CubeWalkGameリファクタリングでわかりやすく

今回は CubeWalkGame シリーズの最終回ということで カメラを DOTween でぐるりと軌道を描くように動かして様子を見ます。 あとはコードを見直しながら、直したいところ直していきます。最終的にフレームレートを落とさずに、無駄なメッシュが残ること無く、…

CubeWalkGame非同期読み込みと近傍優先処理

CubeWalk シリーズです。 1.Unity ECS による動的頂点生成と面生成 2.チャンクをまたぐキューブデータ参照 3.キューブの回転表現とテクスチャの貼り付け 4.チャンクデータの永続化と描画負荷低減のための階層化 5.プレイヤーカメラが移動するタイ…

CubeWalkGameプレイヤーカメラ移動によるチャンクの取捨選択

最後まで読むと得られる結果このシリーズの続きです。 simplestar-tech.hatenablog.com1.Unity ECS による動的頂点生成と面生成 2.チャンクをまたぐキューブデータ参照 3.キューブの回転表現とテクスチャの貼り付け 4.チャンクデータの永続化と描画…

CubeWalkGameなだらかな地形生成と永続化

このシリーズの続きです。 simplestar-tech.hatenablog.com1.ECS による動的頂点生成と面生成 2.チャンクをまたぐデータ参照 3.キューブの回転とテクスチャの設定と階段を登ってきました。今回は過去記事でいうところのこのあたり simplestar-tech.hat…

Unity:CubeWalkGameのキューブのテクスチャ座標と回転

# まえがきこれらの記事シリーズの続きです。 今回は作業メモになっているので、開発者以外が読むと辛い文章かも…simplestar-tech.hatenablog.com simplestar-tech.hatenablog.com シリーズ名は CubeWalkGame として、前回はチャンクをまたぐキューブ情報の…

Unity:ポインターのポインターを入力にECS

# まえがきUnity でキューブを敷き詰めた世界で、VRMオンラインチャットできることを目指して仕事の合間に技術調査してます。(かれこれ2年くらい) Unity も 2017.1 から気づけば 2019.1 ですね。キューブ一つひとつをメッシュオブジェクトにすると、下記を…

Unity:ECSでメッシュオブジェクトを生成する方法

まえがき Unity で動的にメッシュオブジェクトを作成して、キャラクターと衝突判定を行えるようにコライダーを設定する…となると?Unity の書式により 1.シーン内に GameObject インスタンスを作り、追加コンポーネントは MeshFilter と Renderer, MeshCol…

Unity:オンラインVRMチャットサンプルの作り方4

数十MBある大きいVRM データのリアルタイム送受信 最後まで読むとできるようになる絵この記事の続きです。 simplestar-tech.hatenablog.comMagic Onion を Unity 間のリアルタイム通信に使いましたが、送受信するデータが 1MB より大きくなる場合は別の手段…

Unity:オンラインVRMチャットサンプルの作り方3

リアルタイム通信でオンラインチャット 最後まで読むとできるようになる絵こちらの記事の続きです。 simplestar-tech.hatenablog.comUnity 同士でリアルタイム通信するためのアセットはいくつかある様子ですが、全部試してられません。 C# を書く感覚でリア…

Unity:オンラインVRMチャットサンプルの作り方2

チャット入力画面とチャットテキストの表示 最後まで読むとできるようになる絵プラス、バルーンはこんな動きをする予定Unity で近くにいるキャラクターの発言だけを聞き取れるようにしつつ、画面外にいてもどこから声をかけられているかわかるような仕組みを…

Unity:形態素解析してしゃべるVRMのサンプル

■前書き 文字列を受け取って、読みに変換し あいうえおの母音に直した後、これを順に処理しながら VRM の、ブレンドシェイプに繋げます。小ゴールを切りながら、VRM キャラがしゃべる様子を確認できればゴールです。■読みの抽出公式ページ MeCab: オリジナル…

Unity:NMeCabのソースコードを使って動的に漢字の読み仮名を推定する方法

■前書き Unityで形態素解析私たち人間の脳内では「何か」が実行されユニティ デ ケイタイソ カイセキという「音」が脳内で響き渡ります。これを、自分の手で作り上げ、コンピュータに行わせる手段を示します。■横道 形態素解析って言葉は、難しい ので、動的…

Unity:オンラインVRM TPSゲーム作りログ5

■前書き 今回でこの連番タイトルもラストになりそうな進捗でてます。前回の記事はこちら simplestar-tech.hatenablog.com 要約すると 1.送信するタイミングとデータ構造を知るための調査 2.送受信のRPCインタフェースを設計 3.実際に送受信できている…

Unity:オンラインVRM TPSゲーム作りログ4

■前書き 前回の記事はこちら simplestar-tech.hatenablog.com前回の内容をまとめると 1.扉のあるチュートリアル閉鎖空間を用意し、VRMファイル選択で動的に VRM キャラクターを読み込める 2.扉の前でアクションを行うとAWS Cognito のサインアップ・サイ…

改竄防止しつつ、コードを変えずにパラメータを再利用する案

ゲーム内コードで自らの dll の hash 値を計算して、それと公開鍵によって解錠する暗号化されたファイルを設定ファイルとして外部に配置し ゲーム外コードから dll の hash 値と秘密鍵で設定ファイルを暗号化しておけば、ゲームロジックに変更を加えると解錠…

Unity:オンラインVRM TPSゲーム作りログ3

■前書き https://simplestar-tech.hatenablog.com/entry/2019/05/02/073820 の続きです 前回を要約するとUnity クライアント同士で 37MB くらいのVRMデータの受け渡しができるようになった。Unity から直接 S3 に上げてから、引くという構造で後から参加して…

Unity:オンラインVRM TPSゲーム作りログ2

■前書き 前回 Unity:オンラインVRM TPSゲーム作り作業ログ - simplestarの技術ブログ の続きです。 前回を要約 1.MagicOnion に習熟、形式自由でリアルタイム通信を作れるようになった 2.UI を設計して VRM ファイルとプレイヤー名を指定してサーバール…

Unity:オンラインVRM TPSゲーム作り作業ログ

■前書き ローカルで動く TPS ってのは思い立てば、アセットを買って 2時間で完成してしまうものでした。 これをオンラインゲーム化する前に、VRM ファイルを動的に読み込んで、ルーム名を決めてオンラインルームに入室し互いにチャットできるようにして、ロ…

Unity:VRMをLWRPで表示するためのマテリアル変更

VRMのシェーダーの LWRP 対応が期待されるところですが、無理やりマテリアルを置換して表示することも可能です。 ランタイムロードについては過去記事 simplestar-tech.hatenablog.comの通りですが、LWRP 環境で表示するとピンク色(シェーダエラー色)にな…

AWS DynamoDB を Unity で操作する

AWS DynamoDB を Unity で操作できました。 詳細な手順をなんもわからん状態から出来るようになるまでを記録しました。記事概要として、AWS Cognito の機能として1.ユーザープールを作成(サインアップ、認証コードをメールアドレスへ送信、サインインでき…

ゲームデータの永続化

■前書き しばらくぶりで記事の書き方を忘れてしまいました。ここ最近は新たに Unity でゲームを作っていてちょうど見た目はこんな感じのサンドボックスゲームです。テキトーゲームデータの永続化の部分を後回しにしたおかげで、後半になってスケジューリング…

Unity:ゲームの土台プロジェクト

前書き Unity ゲームエンジンそのものが土台といえば土台かもしれませんが、Unity でのゲーム作りの土台となると おおよそ形は決まってくるもので、ゲームの面白さのアイディアなどはその土台の上にのせるだけよく上司から勧められるゲームジャムのイベント…