2016-01-01から1年間の記事一覧
Ho ho ho.... today's a good day! You have won Realistic Grass Pack by NatureManufacture as one of 45 winners today! When you share the great news on social media, be sure to thank the sponsor for their contribution. After all, you wouldn't…
海賊船の船員が消火活動・修理をするようにした。 まずレーザーで特定の部屋を攻撃する (シールドがあると当たらないので、シールドは無しにしておく) レーザーが当たった部屋で、システムが壊れる。そして火災発生 狙った部屋にはO2システムがあるので、…
地道な機能追加中 システム毎の電源投入量の変更ができる 武器システムの電源0でLASERのチャージが0になり、使用不能に 機関システムの電源0でジャンプのチャージが0になり、使用不能に 医務システムの電源0で、医務室でのHP回復が無効 敵の艦船の表示…
地道に機能追加中 火災で同室の船員のHP減少 真空で同室の船員のHP減少 医務室で船員のHP上昇 O2システムの電源断で全体の酸素減少 医務室システム電源断で、船員のHP増加無し 全エアロックのオープンまたはクローズ(トグル) 1マスに一人の船員のみ入れる…
真空消火を実装しました。 まず火事を起こします。 火事は徐々に延焼度が進みます(酸素が濃いほど早い) 次に外壁エアロックを開けます。 部屋の酸素濃度が下がっていきます。 酸素濃度減少で、火事の延焼速度も遅くなります。 酸素減少で、急速に火事が沈…
エアロック開放による酸素流出を実装しました(≧∇≦)まず空いている外壁のエアロックを調べて、見つけたら室内をスキャンして、空いているドアを通って別の部屋も調べます。 到達できる部屋は、すべて空気が抜けているとみなせるので、Leakフラグを立てて、…
クリックした位置に移動させる。 まだ、座標がずれてるっぽい。 配列は整数座標なんで、切り上げとか切り捨てとか、そのへんの関係でずれる。The Kestrel (Layout A)の船内を再現 船員が3人を好きな部屋に移動できる。 ただし、だれかを移動中に別の人を移動…
経路探索を実装。 部屋を三つにして、スタートからゴールまで移動できた。このへんは以前も作ってますが、3Dとの位置合わせが難しかった記憶がありますが、とりあえずできました。 公式チュートリアルのRogueLikeGame的でもありますね。あっちは光線なげて大…
周回遅れですが、インディーズの有名ゲームFTLの動画を見まくっています。 凄い。このゲームモデル。 宇宙船同士でレーザーやミサイルで撃ち合えるのだけでなく、敵戦に乗り込んで攻撃できて、しかも敵も自分の艦に乗り込んでくる。 ドアをあけて真空を使っ…
学習結果を保存するようにしました。 2500戦ぐらい自己対戦させても勝率74%ぐらいいってるので、これは絶対強くなってるはず(≧∇≦) 早く回すために3手読みで探索しています。本当はfloat配列をバイナリでそのまま保存できるといいんだけど、とりあえずテキ…
評価関数を学習させてみました。 勝った場合は、勝った方の手による局面にプラス。負けた方の局面にマイナス。 これをやると、それぞれが打った手で変わってない配置は、プラマイゼロで評価が変わりません。 本来は、強化学習は末端から係数をかけて、だんだ…
オセロゲームを作ってみました。minMax探索のプログラムを作るのは久しぶりです。探索はnegaMax 評価関数は、終端は石数、途中は打手可能数+星+隅を取ったかどうかってだけのシンプルです。 Unityなので深くは読めないので、5手読みです。 一応ハッシュテ…
IntelのSkylate世代のCPUは動画のハードエンコ支援を搭載してますが、フリー録画ソフトのocamで録画してみようと思ったら、nVidiaのNVENCしか対応してなかった(´・ω・`) 対応コーデックで選ぶ | PC録画ソフト.jp ↑にまとまってるけど、Bandicamしか対応して…
RTSのRoyal Revolt2みたいな感じで作ってみようと思います。 今はまだまっすぐな1本道ですが、途中で道が曲がったりする感じの自動マップをやろうと思います。ローグライクみたいなフラクタル構造の部屋割りとかではないので単純ですね。 途中に敵のSpawnポ…
AssetStoreにKawaiiTankとして無料の戦車が配布されているのでDownloadして動かしてみました。 起伏はterrainで作られていますが、戦車を起伏の上で動かすと、戦車は波打ちながら起伏を乗り越えて移動します。 そのへんの仕組みを見てみました。"Kawaii" Tan…
RTSでよくあるような選択したキャラを特定の場所に移動させる処理を作ってみました。 選択は、マウスクリックからドラッグして離した四角形で選択、再度クリックで、そこに移動させます。NavMeshは使わずに、自前の経路探索ルーチンを使っています。同じ座標…
9800円程度で購入できる激安のカラーレーザープリンタ NEC MultiWriter 5600Cを買ってみました。 正確にはLEDです。 NECのプリンター買うの生まれて初めてです 実際はXeroxのOEMらしいですが。 売価1万円切りは凄いですね。日本電気 A4カラーページ(LED)プ…
Clothコンポーネントでスカート、髪の毛などを揺らしてみました。 これってまず全体を固定で赤くして、動くとこだけ緑に塗る方がいいかもね。固定が足りなくて、髪とか服が全部ぶっ飛んでビビった( ゚Д゚) 左がSpringBone、右がClothコンポーネント まだCloth…
PMCAで作ったモブ子さんに簡単にSpringBoneを仕込んで揺らせるようになりました。 debug=trueだとスプリングボーンのコライダーが黄色で見えます。 緑色はスプリングコライダーです。 初めにColliderを登録 髪の毛やスカートなどは、それぞれのルートの親ボ…
SpringBoneでの計算処理について バネなので、F = K・X(t) が運動方程式Verlet 法の計算原理 https://www1.doshisha.ac.jp/~bukka/lecture/jikkenn/simulation/verlet-3.html curr=x(t+h) prev=x(t)hが十分小さいとして、Taylor展開してx(t+h)=x(t)+ h*dx(t)…
東北ずん子で覚える! アニメキャラクターモデリング作者: 榊正宗出版社/メーカー: ボーンデジタル発売日: 2016/05/26メディア: 大型本この商品を含むブログ (1件) を見るamazonで買いました。Blenderで東北ずん子モデリング。 「ブレンダーからはじめよう!…
髪の毛やスカートなど、3Dモデルにとって揺れものは避けて取れない。 ということで、次はこれに取り組んでみます。 ricopinさんが初めに作られたSpringBone.csは、物理エンジンを使わずにコードで物体同士の衝突を計算して揺れものを動かしている。 これは改…
実際にクマさんを経路探索で見つけたパスにそって動かしました。 Vector3 next = Navi.GetNextPath(transform.position, goal);現在地、ゴールを引数で渡すと、次のポイントの座標を返値で返してきます。 次のポイントにつくと、次のポイントを返します。 渡…
もうちょっと複雑な経路にしてみました。navi5からNavi6に行きます。画像の球にナンバーが振ってないので分かりにくいですね(´・ω・`)反復深化6回目から解が得られてますね。dist=60.6初め、下から回っていく経路を先に見つけて、次に真ん中の道を通る経路…
簡単な仕組みで自前で経路探索をやってみました。 画面上のWaypointに球をおいておくと、球と球の間で光線が飛ぶ=通行可能という仕組みで、経路パスを求めます。 次に、スタート球とゴール球を指定して、経路探索を呼ぶと、通行可能なパスを探索して最短経…
アイテムのリストをCSVファイルで用意しておいて、商店の商品一覧に表示できるようにしました。1画面に6アイテムごとで、PREV/NEXTボタンでページを遷移できます。 ゲームパッドでの操作を考えるとフォーカスが必要ですが、初めはフォーカスはありませんで…
手足にコライダーをつけてキックやパンチの判定に使います。剣にコライダーをつけて斬撃を判定するのと仕組みは同じです。 UI的に手動でコライダーをつけることもできますが、それだとキャラを追加するごとに作業が要ります。 プログラムでコライダーを装着…
コードによるUI作成で行いたいと思って試作中です。 NPCキャラが商店になっていて、キャラクターに近づくと商店のウインドウが表示されます。 状態遷移としては、 商品一覧を表示する 一覧:キャンセルを押すと画面は消える 一覧:購入を押すと、確認ダイア…
PMCAで女子キャラを増やしました。メガネのおばさんキャラも作ったので、お店のNPC店員にしようと思います。 右手に持たせる武器の塊位置がPMCAキャラで共通化できるので、キャラを増やした場合の作業が少なくて楽です。 使用するアニメーションはピストルを…
実行時に、Startで武器の塊を読み込んで、右手の骨にセットする。 キャラクターによって位置や向きが微妙に違うので、キャラごとに微調整する void Start () { rb = GetComponent<Rigidbody>(); anim = GetComponent<Animator>(); Transform Rhand = anim.GetBoneTransform(HumanB</animator></rigidbody>…