Tag: unity

ハルスター・アクション(beta)

クリエイティブ・コモンズ・ライセンス
2014年~2015年にかけて作っていたゲームです。Unity で作りました。イラストは友達が作りました。 ルールマリオのようなアクションゲームです。ステージにあるぶどうを集めたりしながら、ゴールを目指します。 操作方法 ←・→ : 移動 SPACE : ジャンプゲームを進めると、そのほかのアクションができるようになります。 ダウンロードこの 作品 は クリエイティブ・コモンズ 表示 - 非営利 - 改変禁止 4.0 国際 ライセンスの下に提供されています。 ダウンロード上のリンクを開き、右上のダウンロードボタンからダウンロードしてください(Zip形式)解凍し、 game.exe を開くと、 … Read More

UnityのSceneManagerで、シーンが存在するか確認する

Unity 5.3 から追加された、Multi Scene Editingで、シーンを追加する時、同じシーンを何個も追加したくない!ってこと、ありますよね。 「SceneManager.Contains()」的なメソッドがあれば最高なのですが、アクティブなシーンしか取れなかったりとかするんですよねー(GetActiveScene 関数)。 そこで、次のようにしました。しかし、Unity 5.3.1 くらいではOKだったのですが、5.3.2にしたら非推奨になっちゃってw・・ 1234567891011using UnityEngine.SceneManagement;using System.L … Read More

【感動】UnityでC# 6.0 が使えた!!

unity-cs6-copy
追記:朗報Unity 2017 からは、デフォルトで C# 6.0 および .NET 4.6 が使用可能なようです! この記事では Unity 5 での場合を紹介しています。 こんにちはー!! Unityでも、最新の C# 6.0 を使って、async、await とかカッコよくコードを書きたいんだ ლ(´ڡ`ლ) そんなことできないかなーと思って、調べてみました。 そしたら、なんと、ありました!!ので紹介します。 1. リポジトリをダウンロードC# 6.0関係のいろいろが入ったリポジトリをBitbucketからダウンロードします。 https://bitbucket.org/alexzzzz … Read More

UnityのLoadSceneAsyncでの非同期処理

unity-loadsceneasync-ok
こんにちはー!! Unity 5.3 から、Multi Scene Editing が追加されましたね。 そこで、シーンを読み込んでから、GameObject.Find をする、次のようなコードを動かしたのですが、うまくいきません。 TestGameObject は、追加するシーン Scene2 に入っているものとします。 12345void LoadScene2(){ SceneManager.LoadScene("Scene2", LoadSceneMode.Additive); Debug.Log(GameObject.Find("TestGameObject")) … Read More

UnityでResourcesにあるTextFileを読む

System.IOでFileStream作って・・とかやって、互換性とか難しいのかな・・と思ったら、楽勝でした。TextAssetを使います。 12345void LoadText() { string textfile = "helloworld"; TextAsset tAsset = Resources.Load<TextAsset>(textfile); Debug.Log(tAsset.text);} TextAssetのtextプロパティで取得できます。 … Read More

Unityで、コンポーネント内のフィールドを文字列から動的に変更する

こんにちはー!! Json からUnity2dのステージのデータを取ろうとしています。その時、コンポーネントの値を変えたいと思い、この方法をやりました。Reflectionを使ったりして、結構複雑でした。 ReflectionTest コンポーネントの内容は次のようにします。 これを、GameObject1 にアタッチすればできます。 安全性は・・しかし、コンポーネント内すべてのフィールドにアクセスできるのはちょっとセキュリティが・・・なので、特定の属性(ここではPermitReflection)がついたフィールドのみにアクセスできるようにします。 Reflectionに使ったしたコー … Read More

Unityで二次元配列のJsonを読む

litjson-download-dll
こんばんはー。 Unityのステージ内容を Yaml で作ろうと思っていました。 しかし、よく考えてみれば、Unity 公式でサポート(5.3から)されている、Json で十分じゃね?と思いました。ステージの内容は、次のようなJsonにしました。 1234567{ "version": 1, "stage": [ ["block1", 2, 4], ["block1", 4, 4] ]} しかし、JsonUtilityでParseしても、うまくやってくれませんでした。 ■配列のネストは1つまで 多次元配列、配列内配列(ジャグ配列)、配列のコレクション … Read More

UnityでYAMLをパースする

yaml-dll
※ UnityYamlMerge のことではありません! Unity で、2D ステージの内容を YAML で作って、それをパースする方法です。 yaml-net を入れるhttp://sourceforge.net/projects/yaml-net-parser/files/から、フォルダーをたどっていくと、snapshot.zip があるので、ダウンロードし、展開してください。 Code ディレクトリ内にある、「Yaml.dll」を、Unityの Assets/Plugins に突っ込みます。 スクリプトを追加新しいスクリプトを作成し、次のように書きます。 12345678using Y … Read More

SceneManager.Unloadを、OnTriggerEnter時に呼ぶと凍る

こんにちは。昨夜、Unityがフリーズしてしまって、結構大変でした。 Unity 5.3.1です。 次のように実行すると、フリーズしました。 1234567void OnTriggerEnter2D(Collider2D col2d){ if (col2d.tag == "Player") { SceneManager.UnloadScene("MainMenu"); }} なぜか、 SceneManager.LoadSceneではフリーズせず、 FixedUpdate、Updateのタイミングでやってもフリーズしない … Read More

RectTransformのoffsetMinとoffsetMaxについて

こんにちは。 Unity 4.6で、新しいUI Systemとして、「uGUI」が追加されました(結構前だけど)。 New UI System: Design UIs for your game or application using Unity’s powerful new component based UI framework and visual tools. そのUIの座標の指定なのですが、Rect Transformというものを使っていて、結構複雑です。 ここでは、座標・サイズの指定ができるプロパティ、「offsetMin」「offsetMax」について調べたので、紹介します … Read More

【Unity】C# + SceneManagerでのMulti Scene Editing

読み込み1using UnityEngine.SceneManagement; 参考: 複数のシーンを読み込んでいる状態で・・1つのシーンをアンロードする1SceneManager.UnloadScene("シーン名"); シーン名は、Build SettingsのIDでもオーバーロードされる。ただし、読み込まれているシーン名、シーンIDに限る(あたりまえだけど・・) 1つのシーンをロードするここでハマった。 1SceneManager.LoadScene("シーン名", LoadSceneMode.Additive); LoadSceneMode.Additiveを忘れない! 全部のシーンを … Read More

Input.GetKeyDownとFixedUpdateは一緒にしないほうがいいっぽい

Unityで2Dのスクロールゲームを作っています。スペースキーを押したとき、Jumpするように、次のようなコードを書きました。 1234567void FixedUpdate(){ if (Input.GetButtonDown("Jump")) { // 処理 }} しかし、ジャンプするときと、しないときがあり、 Linecastの問題かと思ってググっていたところ、 を見つけました。 サイトによると、FixedUpdateではInput.GetKeyDownはしないほうがいいらしいです。 理由は、FixedUpdate … Read More

【Unity】Script上でのnew GameObject()の使い方

(Unity5.3.1で確認) Unityで空のGameObjectを作って、シーンに追加したいとき、1Instantiate(new GameObject()); あれー!!なんか2つ作られてるー・・ そうです。実は上のコード、二重でゲームオブジェクトを作っているのです! というわけで、解決策。 1new GameObject(); Instantiate()と書くことはできないので、new GameObject();とそのまま書いてみます。 これだけじゃ作るだけでコンポーネントのアタッチとか何もできないので、名前を変えてみます。 12GameObject g = new GameObje … Read More

なぜかUnityでtransform.Translateができなかった

なんでかわからないけどできなかった。 前は、Animatorでtransformを変えていたからできなかったれど、 今回は違った。 1gameObject.transform.Translate(10, 10, 0); こんな感じになっていたコードを、 1234var vec3 = gameObject.transform.position;vec3.x += 10;vec3.y += 10;gameObject.transform.position = vec3; こうしたらできた。 … Read More

Unity2D用のアニメーションするスプライト作った

(移動はjsにて) Unity2Dのゲームを作っています。 その時に作ったキャラクターをアニメーションさせてみました! 初めてのアニメーションで、データ間違えたりとかして難しかったです。 ソフトは、Edgeを使わせていただきました。 画像はこちらです。 UnityでSliceしたとき、隣同士の画像の端っこが見えてしまうので、 1px間隔を開けています。 … Read More

Unity2DでRaycastを使って座標からGameObjectを取得する

Raycastの練習として、やってみました。ほかの取り方もあるかもしれません。 12345678Vector3 pos = new Vector3(/* 好きな値 */);RaycastHit2D hit = Physics2D.Raycast(pos, new Vector3(0, 0, 1), 100);// 可視化Debug.DrawRay(pos, new Vector3(0, 0, 100), Color.blue, 1);// コンソールにhitしたGameObjectを出力Debug.Log(hit.collider); このhit.colliderでGameObjectを取れま … Read More

カクカクしたフォント「美咲フォント」がきれい!

5
Unityで2Dの横スクロールアクションを作っています。 そのUIに使うフォントを考えていた時、 「美咲フォント」を見つけました。 こんな感じです。 また、Unityで外部フォントを使う方法は、こちらを参照してください! … Read More

Unity2Dでspriteがぼやける

こちらのサイトを参考にしました。 キャラクターがかわいい!! 上のブログの通りで、 Assets ビューでSpriteを選択したとき、Filter ModeをBilinearからPoint (no filter)に変えます。 ありがとうございます! … Read More