Unity / VRゲーム開発日記@長崎

Unityを使ったVRのゲーム開発をやってます。

Unity

FBXのテクスチャが読み込まれない時の対処

FBX配置先に 「Textures」 というフォルダをあらかじめ作っておいて、 その後FBXを配置。 「Textures」フォルダから必要な画像を探索して 割りつけてくれる。 Mayaのmbファイルとかも行けた。 detail.chiebukuro.yahoo.co.jp

Unity5でReflection Probeを使った反射を試してみた

Unity5で物体に周りの風景を反射させてみたかったんですが、 思ったより手続きが煩雑。 以下のAssetを解析していけば、色々とわかると思うけど、 設定値とかを細かく見ていかないといけなそう。■Shader Calibration Scene - Asset Store https://www.assetst…

Unity5でOculusを制御

Unity5では、デフォルトでVR出力ができるようになって便利になりましたが、 トラッキングセンサの ON / OFF とかどうやるんだろうと迷った。 2015/11/11 現在、OculusよりUnity5向けサンプルSDKが提供されてるみたいで、 その中に、OVR系のクラスがあったの…

Animatorの再生再開(暫定)

AnimatorでStopしたアニメーションを、そのまま再生させる方法が不明。 今回は、毎回デフォルトステートから再生させれば良いパターンだったので、 animator.Stop(); をした後、再開させたい場面で animator.enabled = false; animator.enabled = true; って…

サブカメラを使ったミラー(鏡)の擬似実装

サブカメラを使ったミラー機能の実装。 カメラだと、描画するレイヤを設定できるので、 例えばプレイヤーだけ鏡に映さないとかも可能そう。 まず、ProjectにRender Textureを追加。 Render Textureの設定はこんな感じ。 Sizeが大きいほど、きれいな鏡になる…

ジェスチャーの追加 | Kinect v2 with MS-SDK

前回記事に引き続き、MS-SDKについて。 MS-SDKは、ジェスチャーの認識機能があり、 デフォルトで、ジャンプやスクワット、 手でのスワイプ動作などがある。 ジェスチャーの表現方法としては、 手や足などが、指定時間内にどのように変化したかを 確認する形…

Oculus向け音ゲー「Oculus Music!!」をGlobal Game Jam 2015で制作しました!

ここの開発日記にOculusと冠しておきながら、 長らく何も手を出せていませんでしたが、 先日、Global Game Jam(以下GGJ)に参加して、 Oculus向けのゲームを制作してきました!! 制作したものはこんな感じです。OculusMusic in Global Game Jam 2015 - You…

クリスマスタイトルリリースしました☆

8bitゲーム、今年度中に続報!! って釘打ってましたが、進捗の関係で もう少し先にになりそうです。すみません(^^; ところで、今日はクリスマス〜〜 各地で爆発希望がつぶやかれる日ですね!! リア充の方も、そうでない方も、 今日は是非こちらのアプリで…

時職人の作り方(3)- アイコンの構造

誰得というもっぱらなうわさの、 時職人の作り方 、第三回。 今回はアイコンの構造についてです。 アイコンの種類 アイコンには以下の状態があります。・選択不可 ・選択可能:未クリア ・選択中 ・クリア済み ・Justタイムでクリア済み アイコンの状態は5…

InputManager、Axesの値を別プロジェクトに移す

InputManagerの値はInspector上で設定する形になっています。 これを別プロジェクトに移したかったのですが、 Componentではないので、エディター上でコピーはできませんでした。 この設定は、どうやらプロジェクト直下にある ProjectSettingsフォルダに書き…

サウンドを途中から再生する

音楽を途中から再生する方法について、 ネットで検索しても、情報を見つけれなかったので 念のため記事にしておきます。途中再生自体が余り需要がないのかな?? 詳細 手続きは簡単です。 AudioSourceにtimeという再生時間についてのプロパティが有ります。 …

時職人の作り方 (2)- オブジェクトの並べ方

時職人作り方2回目です。 今回はストップウォッチ部を解説予定でしたが、 メニュー部にまだネタがありそうだったので、 もう少しそちらを説明していきます。 構成 今回は、アイコンの並べ方のロジックについてです。以前も軽く触れましたが、アイコンメニュ…

SpriteRenderer、とりあえずの隣接ドット対策

2DのSpriteRendererで、Multiplueを使用して画像を区切った際、 例えばマップチップ的な使い方をしてると、縮尺によっては、線が入ってしまう時がある。■線が入った状態 ■本来はこう表示したい ピクセル数が完全に決まってる画面なら、 ピクセルがずれないよ…

時職人の作り方 (1)

前回の記事で、「時職人」を軽く紹介しましたが、 このアプリがどういった仕組みで構築されているかを 少しづつ紹介していこうと思います。 今回は、ステージ選択画面について。 ステージ選択画面は以下の様な構成になっています ・上部:ステージを選択する…

第22回 Unity勉強会に登壇してきました

先週の金曜日にTechBuzzSpaceにて開催された、 第22回 Unity勉強会 へ登壇者として参加させていただきました。 【満員御礼170名‼︎】【#TechBuzz】第22回Unity勉強会 Unityを使って1日でアプリを完成させる為には / 「宴」実装時に得られたUnityプログラムノ…

GameObjectの表示と当たり判定の設定を行う(親子階層構造対応)

GameObjectには、Active状態を切り替える SetActive というメソッドがあります。 こちらでActive状態をfalseにした場合、対象オブジェクトのコンポーネントが全て無効となります。 この場合、例えばそのオブジェクトがAudioSouceなどを持ったオブジェクトだ…

Tiled map editorのxmlデータをクラスに流し込む

いま製作中のゲームで、マップの製作が必要なため、 フリーのマップ作成ツールで比較的高機能な Tield map editorというのを使ってみました。 Tiled map editor http://www.mapeditor.org/ 今回は、このツールで出力したxmlデータを Unityに取り込む為の手続…

選択範囲をまとめてコメント化。 その機能をショートカットに割り当てる。

今回は、コメントアウトの手続きをちょっと楽にする方法を紹介します。 まとめてコメントアウト 最近の統合開発環境にはだいたい搭載されていると思いますが、 MonoDevelopには選択範囲をまとめてコメントアウトするという機能があります。検証環境:MonoDev…

新規作成時スクリプトのテンプレートファイルを編集する

Unite2014の「Editor拡張 マニアクス2014」にて 安藤圭吾さんがUnityで新規作成した時に作成される スクリプトのテンプレートファイルの編集について紹介されていました。 今回は、その手続きについての記事です。 自信の環境がmacですので、macでの方法とな…

iTweenで動作しているオブジェクトを一括制御する

オブジェクトの移動を物理制御ではなく、 決められた位置に移動させたい場合に便利なのが 無料で公開されているAsset、iTweenです。 AssetStore - iTween 自信で制作してるゲームも2D系では 物理動作を利用しない場合が多いので、 iTweenを多用しています。 …

クラスのメソッドを拡張するExtensionの使い方

C#には、既存のクラスに機能を追加することができる Extensionという機能があります。 例えば、 transform.position は、 transform.position.x = 10; など、座標のx値を直接変更することができませんが、 ExtensionでTransformクラスを拡張して、 tranform.…

Unite 2014 タイムテーブル別記事 まとめ (2日目)

Unite2014タイムテーブル別の記事まとめ、2日目です。 1日目はこちらから Unite 2014 タイムテーブル別記事 まとめ (1日目) - Unityゲーム開発日記@長崎 全体 2日目に関わる全体情報です。 Unite全体の情報は、1日目の全体欄を参照して下さい。 Unity …

Unite 2014 タイムテーブル別記事 まとめ (1日目)

Unite2014に参加したのですが、興味がある講演の時間が重なってたりして 見れないものもあったので、タイムテーブル別に記事をまとめました。このページは1日目についてまとめています。 2日目はこちらをどうぞ Unite 2014 タイムテーブル別記事 まとめ (…

5日間連続リリース、まとめ。

さて、先週は5日間連続アプリリースという ちょっと無謀な挑戦を試みてみました。ちなみに、無謀すぎて、終了後に風邪で倒れてました(^^; 今日ようやく体調も復活してきたので、 5日分のアプリをまとめたいと思います。 また、制作するにあたってのルールな…

5日間連続リリース、4日目「King of vehicles」をリリースしました

なんとか、24時間以内にリリース完了!! King of vehicles icocApps 価格:0 平均評価:0.0(0 件) 今回は、レース系にしようとは決めてたんですが、 車の挙動がうまく作れず、走れせることもなかなかうまく行きませんでした。 最終的に、車の浮遊感がちょっ…

5日間連続リリース、2日目「Aggression」をリリースしました

昨日に引き続き、今日も日が変わってからの投稿ですみませんm(_ _)m でも、8時から製作開始なので、製作開始から24時間以内にはリリースしてるんです。 許してください(T T) 侵略者 icocApps 価格:0 平均評価:0.0(0 件) ってなわけで、今回は何をつくろ…

5日間連続リリース、1日目「GRAVITY USER」をリリースしました!!

五日間連続アプリリース第一日目!! GRAVITY USERをリリースしました!! GRAVITY USER icocApps 価格:0 平均評価:0.0(0 件) ということで、気合入れて作り始めたら、 後半全然時間が足りなくなってきました(^^; とりあえずは最初ということで、ゲーム…

Androidで多言語対応する場合のフォルダとファイルの設置箇所

Androidで多言語に対応する場合、 たとえば、メイン言語が英語で、日本語のアプリ名を付けたいといった場合は Assets/Plugins/Android/res/values-ja というフォルダをUnityのプロジェクト内に作って values-ja 内に、 strings.xml というxmlファイルを作成…

MonoDevelop 4.0.1のドキュメントフォーマットでタブ幅が正しく設定されない時の対処

MonoDevelop 4.0.1にて タブ幅をで「4」に設定してるのに、 ドキュメントのフォーマットをした時にタブ幅が「8」になる現象があった。以下サイトによると、プロジェクト毎の別のプロパティ値を持ってるらしい。Set Default MonoDevelop Formatting Options -…

健忘録 Androidプラグインを作るまでの流れ

Eclipseの設定をして、 JARファイルを書き出すまでの流れについて 参考にさせていただいたサイト。 ■Android SDK、Eclipseの設定 MacでAndroid開発環境を手早く整える - appfountain's blog ■WindowメニューにAndroidSDK / AVD Managerを追加 Eclipse の Win…

簡単にミュートを実装する方法

実装方法は、 AudioListener.volume = 0; 以上。

2Dオブジェクトの幅を取得する方法

まずオブジェクトにSprite Renderのコンポーネントが追加されている必要があります。 スプライト化したオブジェクトをHierarchyに持っていけば勝手に追加されていると思います。 後は、以下のコードで幅を取得可能です。 var sr = object.GetComponent<SpriteRenderer>(); va</spriterenderer>…

regionとコードのテンプレート

みなさんは、regionを使ってますか? C#の機能になりますが、regionを使うと、 #region 名称 コードコードコードコードコードコードコード コードコードコードコードコードコードコード コードコードコードコードコードコードコード コードコードコードコー…

mac環境Unityで Android実機テスト

今のところiPhone向けにしか開発をしてませんでしたが、 今後はAndroid対応も視野にいれていくということで とりあえず試しに今のプロジェクトがAndroidで動くのか試すことにしました。 いくつかGoogleさんで検索させていただきましたが、 Unityの公式が一番…

MonoDevelop での名前変換 (リファクタリング)

macでのコード開発環境については、まだあまり調査したりしてないのですが 標準でついてくるMonoDevelopは、日本語が入力できないという欠点はあるものの、 コード補完や、リファクタリング機能などもついていて、それなりに使えはするので 使い続けてます。…

ランダムな値(乱数)

Unityにはランダム生成専用のクラスが有ります。■公式リファレンス:Random http://docs-jp.unity3d.com/Documentation/ScriptReference/Random.html 使い方は単純で、 Random.Range(min, max) とすると、min 〜 max-1 の範囲までの値が取得できます。 maxが…

Textureのスクロールについて

テクスチャをスクロールさせたくて、以下のコードを書いてみたけど、うまく行かない。 public class TextureScroll : MonoBehaviour { public Vector2 speed; // Use this for initialization void Start () { } // Update is called once per frame void Up…

カメラ比率に合わせ、GUIの位置を調整する

黄昏66さんの記事で、 スマフォ毎の解像度合わせて、カメラの比率を自動的に調整する スクリプトが紹介されていました。 黄昏66 アスペクト比設定[Unity] こちらのおかげで、比率さえ確定させてしまえば、 どの端末でもほぼ同じようにオブジェクトが表示され…