kidoOooOoooOOom

ゲーム開発やってます

2014-01-01から1年間の記事一覧

Unity Tutorial Beginner Space Shooter chapter 14で学んだ事

音源の設定。 Assetsの音源を各オブジェクトにドラッグすれば基本的にはOK. 爆発エフェクトは発生と直後に音を鳴らしたいので、Play on Awakeをチェックする。 Playerの弾を発射する時の音は、Playerに音源をつけたあと Play on Awakeのチェックを外し、 Scr…

Unity Tutorial Beginner Space Shooter chapter 13 で学んだ事

プログラムの実行を中断して、任意のタイミングで再開する方法として yieldを使う。 yieldを書ける場所としては メソッドの戻り値がIEnumerator型である StartCoroutine()にメソッド名を指定して呼び出される ことが条件である。 チュートリアルでは、最初の…

Unity Tutorial Beginner Space Shooter chapter 11,12 で学んだ事

衝突や表示を何も持たないGameObjectを作成し、それをGameControllerとしてScrpitを付与した。Quaternionはunityで回転の制御に用いられているもの。 チュートリアルでは、回転していないQuaternionとして、Quaternion.identityが使われた。参考URL Quaterni…

Unity Tutorial Beginner Space Shooter chapter 16,17で学んだ事

対象のキーボード入力があったかどうかをチェックするには、Input.GetKeyDown (押した瞬間を確認。押しっぱなしでも1回入力として扱う)を使う。 例えば、'R'が入力されたかどうかの判定は下記の通り。 Input.GetKeyDown(KeyCode.R)) Input.GetKeyDown https…

Unity Tutorial Beginner Space Shooter chapter 15で学んだ事

GUI Textを用いてスコア表示 Viewport Space 画面の左下の座標を(0,0), 右上の座標を(1,1)としてtrasnform指定する方式 Screen Space 画面のx,y座標を絶対値で指定する方式 GameController側でスコア管理とスコアテキストの更新を行うようにスクリプトを更新…

async.eachSeriesで次のステップに進ませること

危うくeachSeriesの使い方間違ってバグを埋め込むところだった。間違ってたときはこんなコード書いてた。これだと最初の要素で処理終わってしまっていた。 async.eachSeries(hogeList, function(hoge){ // hogehoge return done(); }, function(err) { if (e…

async.waterfallなどの多用はパフォーマンスに影響あるので注意

今日はコードレビューを受けたが、if/switchで十分なところをasync.waterfallを使っている箇所があり、async.waterfallの多用は性能的に影響が出るのでif/switchにしてね という指摘があった。 まあ自分が書いたところではないんだけど、勉強がてらリファク…

イベント関数の実行順 / Execution Order of Event Functions

よく見そうなのでメモ。 参考URL http://docs-jp.unity3d.com/Documentation/Manual/ExecutionOrder.html おおざっぱにとらえると、 Awake() Start() Update() レンダリングやコルーチンなどイベントに応じて OnDestroy

Unityとフレーム、Update()とTime.deltaTimeについて

フレームレートは、動画において、単位時間あたりいくつフレーム (映像)・コマのこと)が処理されるか、という値。 60fpsあれば十分に滑らかな映像が再現できるとされ、逆に、15fpsに満たない場合はカクカクする。Unity におけるフレームは、1秒間に何枚とい…

Texture Packerという存在

今日はTexture Packerなる存在も教えて頂いた。 一言で言えば複数のTextureをPackしてくれる便利ソフトらしい 参考URL Unityでコインゲー開発:TexturePacker http://pukapuka-ahirusan.blogspot.jp/2012/08/unitytexturepacker.html[Unity3D]NGUIのAtlasを…

NGUIという存在

今日はUnityにはNGUIというのがあって、それで2DのGUIを大体制御しているよ ということを教えて頂いた。 現在のUnityにデフォルトで入っているGUIツールがとても使いにくいため、UnityでUIを組むならNGUIが一番スタンダードなツールらしい。 参考URLWebデザ…

[Unity] MonoBehavior

今日はMonoBehaviorについて説明を受けたので改めて整理してみた。 MonoBehaviorというのはUnityのScriptでのベースとなるクラス。JavaScriptでは自動的にMonoBehaviorのクラスになるし、C#の場合もデフォルトで継承された状態になっている。 決まったタイミ…

Xmarine studio導入

Unityの開発環境としてXmarine studioを使っているよと教えて頂いたので早速インストールしてみた。 Unity付属のMonoDevelopはMacだと日本入力できなくて困ってたけど、Xmarineなら可能とのこと。 (というかMono Developの最新版がXmarineらしい・・・) こ…

MacのCPUやメモリ使用率ノ確認

たまに重くなるので何が原因が探りたいときに。 アプリケーションを開く ユーティリティフォルダを開く アクティビティモニタ を開く

オンラインゲームを支える技術 序章

前に読書記事を書いてすぐに積読してしまっていたので、再開。とりあえずこの記事を書いたとこぐらいまで再読した。 http://d.hatena.ne.jp/gidooom+TK/20110507/1304754628 今仕事で関わっているnodejsがまさに非同期のイベント駆動で動いているので、この…

Unity Tutorial Beginner Space Shooter chapter 10 で学んだ事

rigidbody.angularVelocity angularVelocityとは角速度ベクトルのこと。 rigidbody.angularVelocityは、Vector3(x,y,z)軸の角速度ベクトルで、 Vector3(0,10,0)の場合、10の速度で回転する 参考URL Rigidbodyソース一覧 http://rakuen2.we…

Unity Tutorial Beginner Space Shooter chapter 9 で学んだ事

Playerが発する弾を永遠に生存させないために、弾オブジェクトを消す処理が必要になる。 チュートリアルではCube型のオブジェクトを作りゲームフィールドを囲うように設置した。 そして衝突処理自体は必要ないのでCollidarをOFFにした後、isTriggerをONにし…

should.jsの基本的API

JS

should.jsの書き方に慣れるのも兼ねて基本的なAPIを使ってみた。 it('should tests', function () { true.should.be.ok; 'test'.should.equal('test'); 'foobar'.should.startWith('foo'); 'foobar'.should.endWith('bar'); (5).should.be.within(5, 10).and…

git でリモートブランチの名前を変更する

直接リモートブランチの名前を変更するコマンドは無いようなので、別リモートブランチ(remote_new)にコピーしてremote_oldを削除する方法をとった。git checkout -b ローカルブランチ名 origin/remote_old git push origin ローカルブランチ名:remote_new gi…

ファミ通 2014/2/13 日号

たまにはゲーム雑誌読んでinput. PS4のSHARE機能でますますゲームプレイ体験の共有化が進みそうなのは楽しみ。変な縛りプレイや奇跡のアクシデントなんかも共有できるとプレイする楽しみが増えそう。ただ、あくまで見るのは知っている人のプレイだけでネット…

Unity Tutorial Beginner Space Shooter chapter 7,8 で学んだ事

Plyaerの弾を背景にとけ込ませて表示するために、下記のShader設定をしていた。 Particles/Additive Mobile/Particles/Additive (Mobile向けでこちらの方が性能的に良い) Additiveとは日本語で加算合成のことで、複数のテクスチャが重なり合った時、重なっ…

underscore.jsの extend, compact

JS

今日出てきたのは以下の2つ extend プロパティが無ければ追加、重複していた場合は上書きしてオブジェクトを返す。 _.extend({name: 'moe'}, {age: 50}); => {name: 'moe', age: 50} compact(array) falsyな値を除いた配列のコピーを返す。 _.compact([0, 1…

英単語 fortify

・fortify 【動詞】補強する, 要塞化する, 防備を固める, 〜の防衛を強化する, 〜を砦で囲む, 強固にする

Sublime TextでNodejsをコード補完

こんな便利なモジュールがあったのか・・・。気付かずに2週間ぐらい開発していた。Nodejs で検索して入れるだけでok.

Sublime Textでローカルヒストリー管理

JS

割りと重要な機能なので入れておいた。 cmd + shift + P で install を選択後、Local Historyを選択して入れるだけでおk。

Sublime Text上でjsを実行する

[ツール]-[ビルドシステム]-[ビルドシステムを追加する]を選択する。下記のようなテンプレートのファイルが開かれるので、 { "cmd": ["make"] }これを下記のように変更する。nodeのところは適宜パスの通るところで。 { "cmd": ["node","$file","file_base_na…

Sublime text に jshintを入れる

JS

cmd + shift + p で install を選択後、js gutter で JSHint Gutterをインストール。 インストール後、cmd + shift + p で JS hintを選択したら 実行できるのだが、nodeのパスが正しく設定されていないとエラーになり、入力用のテキストが表示される。 自分…

Unity Tutorial Beginner Space Shooter chapter 5,6 で学んだ事

主にバックグラウンドの設定とPlayerの動きのScriptについて。 Quad http://docs-jp.unity3d.com/Documentation/Manual/PrimitiveObjects.html プリミティブオブジェクトの1つ クワッド プリミティブは平面と似ていますが、1 辺は 1 単位の長さであり、表面…

Unity Tutorial Beginner Space Shooter chapter 1~4 までで学んだ事

まず一番の収穫。Positionなどの数字は毎回数字を打ち込んで変化を確かめる方法よりも、数字の近くでマウスを左右に動かせば数値の増減ができる。これで大体の数字決めて、その後にキリのいい数字に変えれば良い。 以下、基本的にマニュアルから引用してます…

JSでコールバックを多用した関数の共通化

JS

今日は、JSの関数の共通化でちょっと時間がかかった。 下記のようなコードで、 function task のところを共通化する必要があった。 BBB.prototype.huga = function(callback){ var human; var age = 10; AAA.hoge(function task(done) { async.watarfall([ f…