Unity
これまでゼンリンのJapanese Otaku Cityという、秋葉原をモデルにした街をベースにレースゲームを作ってきましたが、自分の街を作ることにしました!建物のモデリングが90個くらい完成したので適当に並べてみたのがこれです。 植物の緑が一切ないので殺風景…
今回はUnityのLOD (Level of Detail)機能を使い、ポリゴンが細かいモデル、中間のモデル、荒いモデルを自動的に切り替えて不要なポリゴン数を抑える実験をしてみました。LOD機能を使用するには、まずBlenderでポリゴン数の異なる複数のモデルを準備する必要…
最初にモデリングしたAE86は車体各部を色毎にマテリアルを分けることで着色していました。 この方法は色艶の調整が楽なのですが、「ドローコールが増えて処理が重くなる」という情報を得ました。 そこで、2台目のCR-Xではできるだけマテリアルを共有し、着色…
今回はUnityのテクスチャインポート設定がモデルの表示品質にどのように影響するか検証してみました。 なお、テスクチャのインポート設定は、プロジェクトパネルでテクスチャを選ぶとインスペクタに表示されまます。その1 前回、ノーマルマッピングを施した…
私がノーマルマッピングを初めて体験したのはXBOX360のバイオショックというゲームでした。 壁のタイルがデコボコして縁がテカテカしているように見えるのを「これがノーマルマッピングかー」と感動しながら視点をグリグリ動かして遊んでいました。さて、そ…
前回はテクスチャマッピングでCR-Xのボディやタイヤ・ホイールの色の塗り分けをしました。tf.hateblo.jpテクスチャマッピングで色をつけるとマテリアルを分ける必要がないのでドローコールが減ってUnityでの表示処理が軽くなるはずですが、そのままだと全体…
引き続き現在開発中のレースゲームに登場予定のCR-X風スポーツカーのモデリングをBlender上で進めています。 現時点ではこんな感じです。 参考までに、Verts 3,627、Faces 3,551、Tris 6,974となっています。前回作成したAE86トレノ風スポーツカーではフラッ…
AE86トレノに続き、80年代のスポーツカー、ホンダCR-XをBlenderでモデリングしてみました。これは、バラードスポーツCR-Xという、CR-Xシリーズの中では最初の型で、マイナーチェンジ後の後期型になります。 CR-Xといえばマイナーチェンジ前のライトが半目に…
今開発中のオープンワールドなレースゲームではゼンリンのJapanese Otaku Cityアセットを使わせてもらっています。 このアセットに標準で設定されているシェーダーだと木の影が四角い板のようになってしまうのでNature/Tree Soft Occlusion Leavesシェーダー…
前回は固定のReflection Probeを使用した静的な環境マッピングで車のボディに周囲の景色を映り込ませました。 tf.hateblo.jpこの方法はプログラム実行前に反射マッピンング用のキューブマップを焼いておくので実行時の負荷は軽いのですが、前回書いた通り、…
前回、高速化のためにライトマップを焼いて見ようなどと書きましたが、実際に秋葉原の街全体を焼いてみるとMacBook Proの4コアフル稼働で数時間かかりました。真夏にファン全開でうなるMacを見るのはつらいものがあります。 そして、ライトマップを焼いた結…
BlenderでモデリングしたAE86トレノをUnityに取り込んでみました。 なお、私が使用しているバージョンはBlenderが2.75a、Unityは5.0.2です。まず、Blenderでの作業ですが、UnityのスタンダードアセットのCar Controllerスクリプトを使う場合はタイヤを回転さ…
ここ1週間はプログラミングから少し離れ、レースゲーム用の車のモデリングにチャレンジしていました。初モデリング用に選んだ車はAE86トレノです。イニシャルDでおなじみのパンダカラーのあれです。 自分が学生の頃はまだイニシャルDは始まっていませんでし…
これまではゴールが無く何周でも好きなだけ走れたこのゲームですが、それではレースにならないので一応ゴールを設置しました。 最後のチェックポイントは通常のチェックポイントと違い、赤色の矢印が上から下に動くようにしてみました。そして、ゴールの瞬間…
今回は、カーレースゲームになくてはならない?バックミラーを追加してみました。 バックミラーを実現するにははカメラが一つ増える事になりますので、フレームレートへの影響は少なくないです。 ゲームによっていはバックミラーに映るオブジェクトは少なか…
今回は、次に進む方向を教えてくれる矢印を空中に表示してみました。 こういうやつです。矢印は進む方向に繰り返し動くので、かなり遠くからでも方向を視認する事ができます。Directional Lightを消して矢印が見やすいようにして動画を撮ってみました。 夕方…
現在作成中のカーレースゲームですが、建物の影の中に入ると車の影が見えなくなり、下の写真のように接地しているのかいないのか良くわからないのが気になっていました。 現実の世界では車の下は影の中でもさらに暗く見えるはずです。これはアンビエントオク…
今回はミニマップを表示してみました。ミニマップというのはレースゲームで良くある、上から見たコース図が画面の端でカーナビ的にグルングルン回っているアレです。 市街地のオープンワールド系のレースゲームではこれがないと簡単に道を間違えてしまうので…
前回、フレームレートを表示してみて、ちょっとレースゲームとして物足りない20fpsという事が判明しました。フレームレートが一番きついスタート後のストレートで測定した値です。 前回の記事: tf.hateblo.jp20fpsという値は低いとは言え、サターン用デイト…
今回はAIを改良し、周囲の状況を検知してステアリング、ブレーキの操作に反映させる機能を実装しました。 とは言え、人間のように周囲360度の状況を把握して適切な操作をするというのは無理で、せいぜい昆虫が触角に触れるものを避けたりする程度の知能です…
前回の動画で既に実装されているのですが、AIカーに性格付けをして、ライン取りを若干変化させてみました。途中で事故って2台いなくなってしまいましたが、4台の走るラインが違うので少しレースっぽくなっているのがわかると思います。前々回の、4台のAIカー…
前回までは車オブジェクトの子オブジェクトしてメインカメラを設置していました。これは非常に簡単で良いのですが、常に寸分の狂いもなく車の真後ろに位置しているので車に動きが感じられません。また、車の細かい左右の動きまで忠実に拾ってしまうので景色…
これまでUnityのスタンダードアセットに入っていたAIを使って他車を動かしてきましたが、市街地のドライビングにはあまり適していないようなので自分でAIを作ってみました。秋葉原のような市街地はカーブがほとんどないのでレース用のコースを作ろうとすると…
前回プロジェクトファイルが壊れたなどと書きました。tf.hateblo.jp仕方がないのでもう一度イチからやり直したのですが、他のUnityプロジェクトファイルをいじくった後に戻ってくるとまた全てのオブジェクトが消えていました。絶望しかかったのですが、やっ…
前回のtf.hateblo.jpの続きです。今回は、UnityのStandard Assetsの中に入っているCarWaypointBasedというプレファブから敵車を作ってみました。なお、CarWaypointBasedの使い方はこちらのブログを参考にさせて頂きました。 tsubakit1.hateblo.jp このオブジ…
ミッドナイトクラブ ロサンゼルス(MCLA)というレースゲームをご存知ですか?2009年発売と結構古いゲームなのですが、つい先日Xbox 360用を購入したところすっかりハマってしまい、ゲーム開発の方がおろそかになってしまいました。Midnight Club Los Angeles …
何日かUnityで遊んでみて感じたことをタイトルにしました。テストプロジェクトとしてボウリングゲームのようなものを作ってみましたが、いざスクリプト使ってオブジェクトを生成したりたり操作したりしようとするとあら大変。 C#やUnityの使い方をググるばか…
前回まではキーボードのキーを押している間ボールに力を加え加速させるというシンプルな作りになっていました。 そのため、左右のコントロールはできず、また実際のボウリングではあり得ない、転がった玉を加速させるという動きも可能になっていました。 今…
引き続きボウリングプロジェクトです。 前回はカメラの視点が固定だったので肝心なピンが倒れる様子が遠くてよく見えませんでした。 もう少しアップで見られるようにカメラをボウリングの玉に合わせて移動させてみました。動画です。相変わらず物理演算の調…
とりあえずUnityで何か動くものを作ってみようと思い、何となく簡単そうなボウリングにチャレンジしています。 3D+物理演算が必須な題材なので、Unity練習にはもってこいだと思います。せっかくなのでリアルなサイズにしようということでボウリングについて…