読者です 読者をやめる 読者になる 読者になる

デジタルフロッグ

Unityのアプリの開発をしながらいろいろと忘れないための備忘録でございます。

Anima2Dを使ってみたところ

今年からAnima2Dが無料でUnityで利用できるようになりました。 Anima2Dってなんなの?というところからですが、Spineと同じようなものと書かれていました。Spineってなんなの?っていう方はja.esotericsoftware.comこちらから確認してみて下さい。Anima2Dを…

パーティクルが四角いピンクになった時は・・・

エディター上では上手くいっていたけどビルドしてみると画面にちゃんと映っていたパーティクルがピンクの四角になっちゃうことがあったりします。WebGLでの開発をしていて結構ここで躓いてしまったので、メモで残しておきます。 Shader shad = Shader.Find("…

Video Player

Unity5.6bからVideo Playerが追加されましたね。ファイル形式はmp4を使用しています。 mp4のファイルをProjectにドラッグアンドドロップで追加して下さい。追加したファイルをそのままHierarchyにドラッグアンドドロップで追加します。 追加したらそのままUn…

using System; Randomクラスが使えない時の対処法

using UnityEngine; usgin System; この両方にRandomが存在していて両方かくと衝突してしまってRandom関数が使えなくなってしまいます。 Random.Range(x,y); Randomの前にUnityEngine.を付け加えてあげる事でこの問題は解決します。 UnityEngineの中のRandom…

uGUIを使った動きのあるフェードインアウト

こんな感じでフェードインアウトしていくのですが、どうでしょう。 ColorのAlphaをいじってフェードインアウトっていうのはとても簡単ですし、自分も使ってたのですがこうしたかっこいい感じでフェードインアウトをしたいと思ってたところ見つかったのでメモ…

自動で徘徊するAIを作ってみる

過去にLookAtを使って敵をこちら側に向けさせるということをやりました karaagedigital.hatenablog.jp 今回の趣旨としては同じなのですが、こちらは回転させるので反転させるとした場合にLookAtだと急激に反転するものがこちらでは回転させるのでクルッと振…

ストップウォッチでプログラムの処理のスピードを計る

プログラムをガリガリ書いて動かしてみるとなんだか処理が重たい…でもどこを直せば早くなるのかわからないという事ありませんか? 先日記事にしたTranslateとtransform.positionで動かしたときにどちらが早く処理できるかという事を書いたのですが、若干の差…

transform.positionとtransform.Translateの違いと処理速度

オブジェクトを移動させようとしたときにどっちを使おうかなー?といった感じで考えた事はないでしょうか。自分はあります。 両方ポジションを移動する事が出来るのですが、いったい何が違うのでしょうか? transform.Translate Translate()メソッドは移動し…

数学関数をまとめる

Math関数とMathf関数がある事をしっている人も多いと思いますが、中々どうして忘れてしまうものです。という事で今回はこれらの関数を忘れたときの為に書き留めておこうと思います。 Mathf関数 Pow(x,y) xのy乗になります。 Clamp(value, min, max); minは最…

画面タッチ スクリーン座標 ワールド座標 ビューポート座標 Canvas座標

Input.mousePosition マウスクリック時に取得されるInput.mousePositionですが、こちらはスクリーン座標となっており、320×480の場合は⇦が0で右が320になります。 Unityの世界の中ではオブジェクトを作った時の初期状態ではxが0yが0zが0でカメラの中心…

JoyStickを自作してみたその2

前回に引き続きまたJoystickの方をば… かなりむりやりな感じでしたが、少しずつ改善してゲームとして成り立つようにしたいと思い今日もごりごりやってました。 まず最初に今日の最終のJoystickの感じを… タッチした位置でJoyStickが生成されて敵を発見すると…

ものすごい無理矢理JoyStickを自作してみた

ものすごい無理矢理作ったのでJoyStickの範囲などの設定がまだできていませんが、とりあえずJoyStickらしきものが出来て、連動してキャラが動くようにはなりました。 まだまだちょっと自分でも理解があまりないので、出来るだけまとめられるようになったら再…

NavMeshを使って指定した場所に移動させる方法その2

昨日に続いて今日もNavMeshについて書いていきたいと思います。 まず移動させたい床を準備して下さい。 自分は3DオブジェクトのCubeを平べったく伸ばして使いました。 それでInspectorの右上にあるStaticですが、これにチェックを入れて下さい。 次にWindow…

NavMeshを使って指定した場所に移動させる方法その1

NavMeshって知ってる人も多いと思いますが本当これって最初しった時はかなりびっくりというかこれは楽だなーと思った事なので、ちょっとこの事を記事にしておきたいと思います。 NavMeshはRigidbodyとはまた別で動いているので物理現象を無視して移動します…

positionプロパティとlocalPositionプロパティの違い

どっちもポジションを動かせるしまあどっちでも変わらないんじゃないのかと思ってしまったり、使いどころがいまいちつかめてない人もいるはず。 という事で今日はpositionとlocalPositionの違いを書いていきたいと思います。 positionとは ポジションはワー…

Cameraの理解を深めよう

必ず使われるCameraですが、結構Cameraは最初からあってそのままでいいじゃんっていう人も多いのではないでしょうか。 カメラって実はいろんな機能が備わっているのですが、実際その機能を上手に使いこなせてない人もいると思います。私もその中の一人なので…

MonoDevelopでコピペが出来ない場合

別でスクリプトを保存してて、それを自分のプロジェクトに突っ込もうと思ってコピペしようとしたらまったくできませんでした。 イライラしながらコピペできないんで手打ちで打ちましたが調べるとものすごい簡単に直りました。 MonoDevelopの再起動 これで解…

Standard AssetsのBloomを使ってオブジェクトを光らせる!

こんにちは。何かやりたい事がうまくできなくて半日調べてばかりで時間が過ぎました。 とりあえず今日は色々とやってたのですが、発行するものをどうやってつくるんだっけな…と久しぶりにやろうと思ったら忘れてたのでちゃんと残しておこうと思います。 Stan…

LookAtを2Dで再現するには

Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection); fromDirection から toDirection への回転を作成します。 通常、ワールド空間で Transform を回転させ、座標の 1 つ、例えば、y 座標をターゲットの方向 toDirection に向かせるた…

コルーチン yield return nullについて yield return new WaitForSeconds(float)も;

最初にスクリプトをバンっと貼っておきます。 using UnityEngine;using System.Collections; public class hogehoge : MonoBehaviour { // Use this for initialization void Start () { StartCoroutine("cor"); } // Update is called once per frame void …

アニメーションの終了をまたずにアニメーションを切り替える方法

すんごい簡単でTransitionをクリックしてInspectorを表示 Has Exit Timeのチェックを外します。これですぐに切り替わってくれます。 実際に切り替えてみましょう。 こんな感じになりました。 今日は自分で3Dのアニメーションを1から作ってたのですが、走っ…

3D LookAtを使って敵をこちらに向けさせる Vector3.Lerpを使って動かす

using UnityEngine;using System.Collections; public class hogehoge : MonoBehaviour { [SerializeField] GameObject enemy; // Update is called once per frame void Update () { enemy.gameObject.transform.LookAt (this.gameObject.transform); }} ざ…

コルーチンとアップデートの流れ方

コルーチンってプログラミングを1から勉強し始めてる人にとってよくわからないものですよね。 自分もちゃんと説明しろと言われても全然できないのでコルーチンについてこれからまとめていけたらと思います。 実際使わなくてもなんとかなったりしたりもする…

Instantiateで生成したオブジェクトに値を渡す 生成したオブジェクトの親子関係

こんばんにちは! 毎日楽しくUnityをさわれていますが、やっぱりゲームはやってるのも楽しいもので休みの日は一日気が付いたらゲームだけして終わってるという事も多々あります。 さて、今回はInstantiateでオブジェクトを生成した場合にそのオブジェクトに…

タッチした位置にオブジェクトを移動させる C#

ひとつ前の記事に書いたのですが、わりと需要ありそうなので別記事で一応立てておきました。 Tweenを使うとたったのこれだけで移動出来ちゃう。 今回2DなのでカメラはOrthographicにしておいてください [SerializeField] GameObject a; // Update is called…

Unityで使うマウス判定、スマホタッチ判定のスクリプト

今日はiTweenを離れて?マウスとスマホのタッチについてです。 マウスのクリック判定とスマホのタッチ操作といってもスマホだとタッチの判定なので、スマホゲームを作られる方も必ず通る道だと思われます。 ざっくりとマウス操作のスクリプトを書いてみます…

iTweenを使った動的なメニューの表示

最近はiTweenの事ばかりやっていてゲームなるものを全く作っていません。 でもこういう積み重ねが面白いゲームを作るうえでは必要だと考えてはいますがどうでしょう(´・ω・`) それではiTweenを使って今回もざっとやっていきたいと思います。 Menuの作成 まず…

iTweenを使った動き

よくあるカードゲームやトランプなど、配られるような動きを作ってみたいと思います。 あくまで今回作るものはiTweenを使ってみてこういう動きも出来ますよというものであって完成形ではありません。 それでは最初にどういう動きをしているかを見てみましょ…

iTween Scaleメソッド一覧

ScaleメソッドはMoveメソッドと同じように ScaleTo ScaleFrom ScaleBy ScaleAdd ScaleUpdate とあります。 Moveの方の解説はこちらのリンクから飛んで確認してみて下さい。 karaagedigital.hatenablog.jp iTween.ScaleTo (gameObject, iTween.Hash ( "x", 5,…

iTween Moveメソッド一覧

MoveTo オブジェクトを現在の座標から指定した座標へ移動する MoveFrom オブジェクトを指定した座標から現在の座標へ移動する MoveBy オブジェクトを現在の座標から指定したベクトルの値だけ移動する MoveAdd 働きはMoveByと同様だが、ほかのアニメーション…

varとは?

よく出てきますよね。var。 しかし、varの使いどころっていまいちつかめてなかったりします。そこでvarについて調べてみました。 variableの略なので、意味としては「変数」という意味でこれは変数、引数ですよと表しています。 var name = "あかさ太郎"; //…

GameObjectの基本モデルの生成をプログラミングで行おう

基本中の基本ですが、こういうのをしっかりまとめておかないといつかぼけてしまうかわかりません。それに自分もそうでしたが、こういう基礎知識を知りたいという人もUnity始めたての人は多いはずです。 GameObjectを生成してみよう まずとりあえず空のオブジ…

配列の並べ替え

かなり時間を無駄にしてしまった… ランダムな数字を昇順にしたかっただけなのに中々出来なくて手こずってしまいました。 簡単な事で解決しましたが… C#だと using System.Collections.Generic; をファイルの冒頭に書いておかないとジェネリックコレクション…

Rayが飛ばない…

Unity3Dの際に必要なものなのできっと使われた事が皆さんあると思うのですが、先日Rayが飛ばない。Nullの状態になる事がありました。 スクリプトは過去に使っていた物をそのままコピペしたので使えないという事はないはずが、どう頑張ってもちゃんと機能し…

ボールの弾力を簡単に表現してみる

とりあえずボールが地面に衝突してプルプルしてる感じは出せた。発光はSphereにLightのオブジェクトを追加している。 今回はAnimatorを使ってボールが地面にぶつかって跳ねる動作を作ってみました。 衝突したらアニメーションさせて、アニメーションが終了し…

データの保存と読込(C#)

カジュアルゲームを作る事が出来たさいに必要になるのがデータの保存と読み込み データの保存が出来ないと毎回最初からになっちゃうのでやってらんないですよね。 小さい頃にドラクエの復活の呪文を間違えてメモした時の絶望感はハンパなかったなあ… さて、…

ネコがとにかくティッシュを散らかすという事

自宅でネコを飼ってるのですが、その風景を切り取ってみました。 画面をタップするとティッシュが飛び出るのですが、ティッシュの飛ぶ方向や飛ぶ力はランダムに飛ぶようになってます。 //ティッシュのPrefabをTissueobjに突っ込んでね [SerializeField] Game…