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

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

Unity

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秒毎とか、実行回数自体を減らすことですね。 初期状態では…

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

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

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

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

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

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

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

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

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

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

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

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

都市の自動生成

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

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

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

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

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

学校シミュレーター

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

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

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

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

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

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

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

FTLみたいなものを作ってみる(2)

経路探索を実装。 部屋を三つにして、スタートからゴールまで移動できた。このへんは以前も作ってますが、3Dとの位置合わせが難しかった記憶がありますが、とりあえずできました。 公式チュートリアルのRogueLikeGame的でもありますね。あっちは光線なげて大…

FTLみたいなものを作ってみる(1)

周回遅れですが、インディーズの有名ゲームFTLの動画を見まくっています。 凄い。このゲームモデル。 宇宙船同士でレーザーやミサイルで撃ち合えるのだけでなく、敵戦に乗り込んで攻撃できて、しかも敵も自分の艦に乗り込んでくる。 ドアをあけて真空を使っ…

オセロゲームを作る(2) 評価関数の学習を試みる

評価関数を学習させてみました。 勝った場合は、勝った方の手による局面にプラス。負けた方の局面にマイナス。 これをやると、それぞれが打った手で変わってない配置は、プラマイゼロで評価が変わりません。 本来は、強化学習は末端から係数をかけて、だんだ…

オセロゲームを作る(1)

オセロゲームを作ってみました。minMax探索のプログラムを作るのは久しぶりです。探索はnegaMax 評価関数は、終端は石数、途中は打手可能数+星+隅を取ったかどうかってだけのシンプルです。 Unityなので深くは読めないので、5手読みです。 一応ハッシュテ…

ThirdPersonShooterを作る(8)

RTSのRoyal Revolt2みたいな感じで作ってみようと思います。 今はまだまっすぐな1本道ですが、途中で道が曲がったりする感じの自動マップをやろうと思います。ローグライクみたいなフラクタル構造の部屋割りとかではないので単純ですね。 途中に敵のSpawnポ…

戦車のキャタピラが起伏にそって波打つ仕組み

AssetStoreにKawaiiTankとして無料の戦車が配布されているのでDownloadして動かしてみました。 起伏はterrainで作られていますが、戦車を起伏の上で動かすと、戦車は波打ちながら起伏を乗り越えて移動します。 そのへんの仕組みを見てみました。"Kawaii" Tan…

選択したキャラを特定の場所に移動させる

RTSでよくあるような選択したキャラを特定の場所に移動させる処理を作ってみました。 選択は、マウスクリックからドラッグして離した四角形で選択、再度クリックで、そこに移動させます。NavMeshは使わずに、自前の経路探索ルーチンを使っています。同じ座標…

ClothコンポーネントとSpringBoneの比較

Clothコンポーネントでスカート、髪の毛などを揺らしてみました。 これってまず全体を固定で赤くして、動くとこだけ緑に塗る方がいいかもね。固定が足りなくて、髪とか服が全部ぶっ飛んでビビった( ゚Д゚) 左がSpringBone、右がClothコンポーネント まだCloth…

簡単にSpringBoneを仕込めるスクリプト

PMCAで作ったモブ子さんに簡単にSpringBoneを仕込んで揺らせるようになりました。 debug=trueだとスプリングボーンのコライダーが黄色で見えます。 緑色はスプリングコライダーです。 初めにColliderを登録 髪の毛やスカートなどは、それぞれのルートの親ボ…

SpringBoneを実験中

髪の毛やスカートなど、3Dモデルにとって揺れものは避けて取れない。 ということで、次はこれに取り組んでみます。 ricopinさんが初めに作られたSpringBone.csは、物理エンジンを使わずにコードで物体同士の衝突を計算して揺れものを動かしている。 これは改…

簡単コードで光線飛ばして経路探索

簡単な仕組みで自前で経路探索をやってみました。 画面上のWaypointに球をおいておくと、球と球の間で光線が飛ぶ=通行可能という仕組みで、経路パスを求めます。 次に、スタート球とゴール球を指定して、経路探索を呼ぶと、通行可能なパスを探索して最短経…

商店UIのフォーカスを移動できるようにする

アイテムのリストをCSVファイルで用意しておいて、商店の商品一覧に表示できるようにしました。1画面に6アイテムごとで、PREV/NEXTボタンでページを遷移できます。 ゲームパッドでの操作を考えるとフォーカスが必要ですが、初めはフォーカスはありませんで…

手足にコライダーを付けて、キックやパンチ攻撃を実現

手足にコライダーをつけてキックやパンチの判定に使います。剣にコライダーをつけて斬撃を判定するのと仕組みは同じです。 UI的に手動でコライダーをつけることもできますが、それだとキャラを追加するごとに作業が要ります。 プログラムでコライダーを装着…

コードで商店UIを動的生成する

コードによるUI作成で行いたいと思って試作中です。 NPCキャラが商店になっていて、キャラクターに近づくと商店のウインドウが表示されます。 状態遷移としては、 商品一覧を表示する 一覧:キャンセルを押すと画面は消える 一覧:購入を押すと、確認ダイア…