AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

自動販売機でコーラを買えるようになった

Buy ColdDrinkを選ぶとコーラーがごろごろ転がるので PickUpでつかむと右手にコーラを持てるコーラはDropするか投げることができるが、まだ飲むことはできない(´・ω・`) Swingもできるが、攻撃用のスクリプトをaddしてないので当たってもノーダメージ。 コー…

飛べるようになった

ジャンプというより飛行モード( ゚Д゚) ビルの上に行けるようになった。 飛ばす時に役に立つのがQueryちゃんの飛行モーション( ゚Д゚) 歩行時はプレイヤーもNavMeshAgentなので、普通にtransform.positonを更新するだけNavMeshの障害物を突き抜けないで移動でき…

学校シミュレーター進捗

ドアの自動開閉 分身生成 ドラッグ中の死体を投げる処理 カメラ用のトリガーを校舎内であちこち設定 壁の不具合を調整 現在、ジャンプ機能を作ってますが、これがなかなか手ごわい。 navMeshを切りつつ、着地判定をしつつ、飛ばしつつ、ボタン押してないなら…

YandereSimulatorのAI定義

KUMAGAMESさんのTweetより生徒は全て共通でAIはこんな感じヤンデレシミュレータは個別に作っているらしいデバッグが恐ろしいことになる pic.twitter.com/4i1mpkyOPB— SUGIKAMI@KUMAGAMES (@sugikami1982) 2017年2月17日YandereSimulatorのAIは、ステートマ…

エプロンの各頂点から一番近い既存の頂点を探す

エプロンを切り出してmeshとして保存した段階で、もともと持っていたボーンとの重みづけは失われている。 ならば、エプロンの各頂点から一番近い重みづけをもっている頂点を探して、その重みづけをコピーすれば エプロンは、身体の動きに応じて曲がるように…

エプロン合成後のボーンウェイトを調べる

ヤンデレちゃんにエプロンを合成したあとのボーン重みづけの状態を調べてみた。エプロン合成前は頂点数6085のmesh(髪の毛を削除しているのでその分、標準Hモデルより少ない)エプロン合成後は、6327頂点に増える エプロンmesh自体は241頂点なので、丁度エプ…

SimpleLODでテクスチャアトラスを焼く

テクスチャをまとめる使い方がやっとわかった。menuからbake atlasを選んだら、まとめたいマテリアルを画像ではなく、左側の大きな枠をD&Dしてやれば、それか子階層になって、プロパティはは親に準じる状態になってマテリアルが2から1にまとまる。 さらに…

SimpleLODでHumanoidに服は着せられないみたい

ヤンデレちゃんセーラー服に、エプロンだけのメッシュを配置して、SimpleLODでマージてみましたが、たしかに一つのmeshになりましたが、Animatorで動かすと、エプロンはボーンと重みづけされないので、 エプロンだけ取り残された形で動きました。 文字通り、…

真冬ですがプール作りました

アセットのプールはまだ買ってないので自作プール(キューブと非常階段と学校廊下アセットのタイルテクスチャ) プールエリアに入ると自動的にスク水に切り替わる(LODもやっている) NavMeshのOffLinkで飛び降りさせるとか色々と方法はあると思いますが、水…

近寄ると透明になるガラスとカリングの連携

SimpleLODで1階壁、2階壁、各教室、屋上壁みたいな単位でメッシュをまとめています。 おかげでSetPassCallやDrawCallが減少しました(頂点数は増えましたが) 同時にOcculusionCullingを設定してますので、教室に入っていると、他の教室はいっさいレンダリン…

ToStringはGCが走るけど、String.FormatはOK

同じことを StatusText2.text = "あなたの評判" + TotalEval.ToString("0.0") + "(平均" + AVGEval.ToString("0.0") + ")";と書くとDeepProfilerで見ると、GCがUpdate()毎にで0.9KBぐらい生じてるけど StatusText2.text = String.Format("あなたの評判{0:f1}…

デカールShaderで瞳色を自由指定

Hモデルは、ボーン付きの眼球が入っているので、瞳の部分のテクスチャだけを別途用意して、顔のテクスチャとShaderで合成できるようにした。 瞳色の基本色を灰色にしたので、Shaderで瞳色を指定すれば、着色して表示してくれる。髪の毛もテクスチャを灰色に…

ヤンデレちゃん100体

ヤンデレちゃんHモデル100体表示。1体あたりBaches1 このへんが限界なのかな。SkinnedMeshでこれ以上はまとめられないはずだし。もともとFace Hair Cloth SkinとsubMeshが4つあるので、drawCallは1体あたり4発生する submeshを統合して、テクスチャをまとめ…

SimpleLOD購入してヤンデレちゃんHモデルのポリゴン削減

SimpleLODってポリゴンメッシュを削減したりまとめたりできるアセットを買いました。テクスチャアトラスにも対応してます。 MeshBakerFreeでもまとめるのはできるけど、ポリゴン削減はできないので。 Simplygenって個人はフリーで使えるソフトもあるので試し…

MeshBakerFreeで町をまとめて結果を比較

meshBakeなし+Occlusionなし meshBakeなし+Occlusionあり meshBakeあり+Occlusionなし meshBakeあり+Occlusionあり SkyBoxを切ったらSetPassCall1に 速くするには、もうMeshをまとめるしかない。 ということで、MeshBakerのフリー版を試してみた。有料版は$5…

AndroidスマホでDeepProfilerでチューニング中

画像は上半分は、スマホで動作のリモートプロファイリング。下半分は、PCで実行したときのゲーム画面。 PCだとXGA解像度で70FPSぐらいは出ている。 一方、Androidスマホでは13fpsぐらい。解像度を800x600程度のSVGAまで落として、 あと学校の周りの町は無し…

DeepProfilerで速度チューニング

学校シミュレーターもだいたいできてきたので、公開のために速度チューニング中です。 DeepProfilerでスクリプトの速度チューニングをやっています。まずやったのは1fps毎にやる必要のない処理を0.3秒毎とか、実行回数自体を減らすことですね。 初期状態では…

ToonLitOutlineとステンシルによるOutlineの違い

今後もトーンシェーダーを中心に使っていきたいので勉強中なんですが、 漫画にはペン入れという文化があって、デジタルの世界のでもペンの入りと抜きとかで、絵の雰囲気がずいぶん違う。 ただし、3DCGの世界でペン入れを考えるとどうなんだろう? 既存のToon…

先生&メガネ&前髪左右反転に対応

メガネオプション対応 前髪の左右反転に対応 あと先生作りました。カジュアル010の衣装で、ふつう黒目・茶色髪・メガネあり。 本家のYandereSimulatorだと、先生は後ろにお団子で髪を結えてますね。Bone構造の変化にも対応してRagDoll化もできるようになった…

付属ToonShaderをDecal対応に改造する

ヤンデレちゃん付属のToonShaderのToon/Cutoffを改造してデカール画像と合成できるようにしてみました。ニコニココモンズの血しぶきと合成した結果 カラーピッカー画像と合成した結果 UV空間でマッピングして合成しているので、もともとの服のテクスチャのUV…

ランダム属性でキャラ生成

髪型のランダム設定と、髪色のランダム設定と、瞳色のランダム設定できた! もうmaterial作りまくり(´・ω・`) 既存のやつを複製できるようにしてほしい。 今のところ、髪型は、前髪が二種類。後ろ髪は1種。ポニテールは、ロング、ミドル、ミニで、それぞれ後…

Blenderでポニーテールにboneを入れて、UV展開でテクスチャを張って、SpringBoneをセットする

はじめてBlenderでボーン入れやってみました。 そして、はじめてUV展開でテクスチャ作ってみました( ゚Д゚)ポニーテールのメッシュ自体はモブ子さんのキャラからの流用。 スプリングボーン入れたポニーテールが寄生獣みたいな動きになっている。・゚・(ノ∀`)・゚・。 メ…

たれ目のテクスチャ作成

たれ目で、口元の口角が上がっているテクスチャを作成。 あと、髪のテクスチャはモノクロ変換して、灰色にしました。 その方が、shaderでメイン色を指定して変化させやすい。 本当は瞳の色も基本を灰色にして、shaderで色指定したいけど、 現状、肌と瞳が同…

中野シスターズ

中野シスターズの鷺宮なかの髪を持ってきた。 前髪と後ろ髪でオブジェクトを分けたので、それぞれ別の髪と組み合わせできるようにしようと思う。 ヤンデレちゃんの髪も前と後ろに分けよう。Blenderで、コントロール+ドラッグで、髪の一部を頂点選択して、コ…

GameAssetStudioのAoiちゃんを買った!

ヤンデレちゃん買いました アリシアちゃんの髪の毛を合成してみた 校舎がグレードアップ ヤンデレちゃん買いました いわゆるヤンデレちゃん買いました( ゚Д゚)手始めに、髪の毛を分離して変更できるようにしたい。髪チェンジはなんとかできるようになった。 M…

バーチャルパッドを試した

バーチャルジョイパッドのアナログジョイスティック ジョイパッドのボタン タッチ始点のジョイパッドに改造 バーチャルジョイパッドとリアルジョイパッド両対応できた! 以下の記事で紹介されていたバーチャルパッドを試してみました。 kan-kikuchi.hatenabl…

感情表現と吹き出しセリフ

uGUI表示に変更 1文字づつ表示するテキスト アイコンを上下に動かす 吹き出しと、感情表現として、ハートマーク、スマイルマーク、涙マークを用意した。 画像はすべてplaneに貼ってある。透明あり画像。吹き出しの文字は3Dtext。 つねにカメラの方を向くよ…

学校シミュレーター開発中

色々新規要素をいれたのでデバッグがたいへんになってます。 多数のキャラの違うステートが組み合わせで起きるのでたいへん(´・ω・`) 耐久テスト中。 ステートマシンを全面的にコルーチンに書き換えました。 追加した要素は、 ステートマシンのコルーチン化 …

HSV変換

SetPixelをやってみたので、せめて髪の色でも変えるのに使ってみよう。 強制的に赤とかにすると、テクスチャ側に陰影があった場合も無視してしまうので、HSV変換してやってみたい。 HSV変換はUnity標準ではないみたいで(UnityEditorにはある模様)変換して…

SkinnedMeshRendererのTextureを動的に書き換える

リボンを青くする 実行時間を検証 書き換えピクセル数を減らして実行時間を見る 服を赤くする デカールで血しぶき貼り付けた方が良かった Textureをスクリプトから編集してみる - のしメモ アプリ開発ブログ こちらを参考に適用先をSkinnedMeshに変更してみ…

Blenderで作ったプリミティブ図形をUnityで使う

プリミティブを増やす Blenderで円柱を円柱でくりぬく方法 プリミティブを増やす Blenderのプリティブ図形の円柱・ico球・トーラスなどをFBXで出力してUnityに持ってきた。 円柱はくり抜いてパイプになっている。これを使えば、戦車の砲身なんかもUnity上で…

都市の自動生成

道路から住宅、ビルディングをすべてそれっぽく並べてくれるプログラムを作りました。 まだ碁盤の道路ですが、ブロック内に、家とビルをそれっぽく並べます。 ルールとしては家の玄関の前は道路または空き地があること。 ビルは3種類。家は10種類あります。 …

Androidスマホで学校シミュレーター動かしてみた

ビルとか大量に配置してるからやばいかな?と思ったら全然余裕で動きましたね。 うちのFreetelRei(android6) このスマホはCPUは8コアだけど、GPUは大したことないので、GPU的にはいけますね。ただAPKが160MBとかになったので、テクスチャを全部512にしたり、…

大富豪アプリがインストール数100超えました。

100超えたー(^◇^) あくまで総インストール数です。 アクティブ数ではありません( ゚Д゚) 公開して二週間ぐらいですかね。 大富豪3D(英名はPresident CardGame) play.google.com英語版も公開してるけど、アメリカ人が全然ダウンロードしないですね。 カナダ…

JKがIKで自転車のペダルをこぐ

Blender側作業 Unity側作業 実際の自転車こいでる様子 街並み 自転車モデルのチェーンとペダルが一体化していたのをBlenderで分離して、IKでペダルをこがせてみた( ゚Д゚) Blender側作業 blender初心者なので辛かった。当たり前のことができないのがきつい。 …

学校シミュレーター #5

トイレと鏡 自転車 武器追加 名前自動生成 銃撃戦か? 学校シミュレーター#5です。今回の追加要素は、まず トイレと鏡 トイレと鏡。鏡というか大画面TVって感じも(´・ω・`) 主人公キャラの目をジト目にしました。BlendShapeをやっています。 もこっちっぽい…

NavMeshのエージェントに行列させる

予想外に難航しました。前の人の後ろにならぶという処理で、途中の人が動いたら、それぞれに追従するってことで。 けっこう簡単にできるかなと思ったんですが、疲れました。 単純に並んでるわけではなく、ポイントにやってきた順番で整理券を発行して、 その…

KUMA GAMESさんが言及してくれた

KUMA GAMESのSUGIKAMIさんがtwitterで言及してくれていた。 スマホでHighSchoolSimulatorをプレイして、影響を受けたのでうれしいです。Yandere Simulatorに影響を受けて作ったのがHigh School SimulatorHigh School Simulatorに影響を受けた人も出てきてい…

学校シミュレーター #4 死体のD&D

色々と実装しました。 剣で攻撃して殺害できる 死体を見た生徒が驚く→職員室に通報に行く→先生が確認に来る 剣をドロップできる 死体の足をつかんで引きづれる ドラッグ中の死体をドロップできる 死体から血が出る 体力パラメーター(歩くと疲れる→自席に戻…

学校シミュレーター #3

操作できる生徒を作りました。 左ジョイスティックで移動。右ジョイスティックでカメラ視点移動他に実装したもの 落ちている刀を拾える(Aボタン) 刀をもったら素振りできる(まだ攻撃はできない)(Xボタン) 自席に座れる(Aボタン) 刀を振ると他の生徒が驚…

学校シミュレーター #2

教室を三つにして、学生はそれぞれ6人。全校生徒18人。先生は3人。 職員室を追加。 ステート 登校:まず自席に向かう。その後は自由時間。教師は職員室へ 授業開始:学生、教師は教室へ 自由時間;学生は学内自由行動。教師は職員室へ 下校:全員で学外…

学校シミュレーター

YandereSimulatorというかHighSchoolSimulator2017というか。 いわゆる学校シミュレーターを作ってみたくなったので、プロトタイプを作ってみた。 YandereSimulatorは本当によくできているなと思う。 主人公が殺人をしたあと、死体を発見した生徒が先生に報…

CharacterJointを設定して自分でRagDollを作ってみる

左がUnityのWizardで作った元々のRagDoll 右のポニーテールが自分でCharacterJointを設定して作ったRagDoll【Unity】プログラムでRagDollを自分で作る ボーン構造として Head ↑ Torso → Arm → Elbow ↑ HipMaster → Hip → KneeeそれぞれにRigidBodyを設定して…

モブ子さんの目をBlenderで調整する

BlenderのMMD_TOOLSからpmdファイルをimportする モデルを編集モードにして(TAB) 頂点選択モードにして CTRL+ドラッグで「点」を囲んで選択→上下左右に微調整→「A」で非選択(これをえんえん繰り返す) って方向で、目を縦に長くしたり、形を変えられますね…

MariaDB5.5 + Mroongaで全文検索

借りてるServersManはCentOS7で既にMariaDB5.5が入ってますが、以下を参考に Linux Blog » Mroongaのインストール yum install -y http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm yum makecache yum install -y mariadb-mroonga yu…

ServerManでmariaDB10にしようとするとエラーになる

今借りているSeverManのMariaDBは5.5だけど、10から全文検索できるらしいので、上げようと思った。[MySQL] MariaDBを5から10にアップデートする – 端くれプログラマの備忘録 上記を参考に入れてみると、 yum update MariaDB-server MariaDB-clientupdate中に…

GooglePlayに英語版アプリを公開する方法

七ならべの英語版を作ったので、英語版の作成方法をまとめておきます。 Unity側 Unity上では、 if (Application.systemLanguage == SystemLanguage.Japanese) English=false; else English=true;これでシステムが日本語かどうかを取得できます。AndroidOSで…

七ならべゲーム公開しました

大富豪を改造して作りました。 トランプの七ならべゲームです。GooglePlayで公開中 play.google.com 鬼パス! 七ならべゲーム ニコニコ動画に宣伝&実況動画を公開しました。 www.nicovideo.jp

大富豪ゲームアプリ公開しました

大富豪ゲームアプリをGooglePlayに公開しました。 Androidスマホ全般でだいたいは動くと思います。 よろしくお願いします('ω') 大富豪3D ↑動画だとトランプが裏から透けてますが、アプリでは修正しています|д゚) play.google.com ゲーム実況動画を作ってニコ…

カードゲームを作ろう(16) ArmのみでAtom機種で動いた

Unityからbuildするときに、DeviceFilterで、Armとx86といったバイナリセットのオプションがありますが、Armのみにするとアプリサイズが37MB→29MBと8MBも減りました。 標準ではArm+x86になってましたが、うちのAsusのAndroidタブレットはIntelのAtomなのでx8…