ぱふの自由帳

週3更新(火・木・日)を目指すUnityブログ。良ければフォローお願いします(`・ω・´)

Unity

Rayを飛ばすのはもう古い?!簡単にオブジェクトのクリックを検知だ!

はじめに オブジェクトのクリックを検知する際にどうやっていますか? ググったサイト見て、Ray飛ばすコード書いて...ってやってるあなたに朗報です!もっと簡単に実装できますよ! さっそく実装 まず動かしたいオブジェクト(今回はCube)を用意します。 Cu…

unity1week投稿作品を振り返る

おはこんばんにちは。ぱふです。 ずっと参加するぞするぞ詐欺を行っていた"unity1week"に作品を投稿したので少しまとめたいと思います(`・ω・´) メモ:作成期間3日(内、ガルパンを10時間ぐらい見ながら作業してました) 投稿作品 ホシつなぎというゲームを…

"Look rotation viewing vector is zero"というログを吐くバグ

下の写真のような感じでログが大量に出ました。(おそらくバグです。 発生条件 以下を満たした時に発生するのを確認しています。 Unityが2Dモード Canvasの子オブジェクト(Aと名付けます)でRect Transformの"Width / Height"の片方が0 Hierarchy内でAの子…

string型をint型に変換する【Unity】

私「文字列を整数に直すぞー。キャスト変換とか慣れたもんよ。」 int num = (int) "123"; 私「よゆーよゆー。」 Unity「Cannot convert type 'string' to 'int'」 私「...。」 というわけで文字列を整数に直す方法を紹介します。 変換方法 以下の方法で変換…

【Unity公式チュートリアル】スクリプティング〈レッスン2.1-2.18〉

この記事について 注意事項 レッスンタイトル&概要一覧 オーバーロード時、どれが実行される? new と overrideってどう違うの? ひとこと この記事について 注意事項 特に断りがない限り、C#について記述しています 私&誰かの役に立ちそうなプチ知識をまと…

publicな変数をInspectorに表示しない方法

はじめに 前回の記事《privateな変数やクラスをInspector上に表示する方法》の逆のようなことをやっていきます。 方法 その1: [HideInInspector] [HideInInspector] public int hoge = 10; 上のような使い方をするとInspector上から消えます。 しかし、注意…

privateな変数やクラスをInspector上に表示する方法

はじめに 「privateで扱いたい、でもpublicのようにInspector上に可視化したい...。気をつけながらpublic使うしかないのか...。」という方向けの記事です。 表示方法 変数 [SerializeField]を変数の前につけるだけです。 クラス [System.Serializable]をクラ…

【Unity公式チュートリアル】スクリプティング〈レッスン1.13-1.28〉

この記事について 注意事項 レッスンタイトル一覧 n秒後にDestory GetKey と GetButton OnMouseDown 値型と参照型 値型 参照型 Invoke系まとめ Invoke(string methodName, float time) InvokeRepeating(string methodName, float time, float repeatRate) Ca…

【Unity公式チュートリアル】スクリプティング〈レッスン1.8-1.12〉

この記事について 注意事項 レッスンタイトル一覧 Awake()に注意 Start()の実行タイミング ベクトルのプチまとめ 長さ 内積 外積 enable と SetActive() activeSelf と activeInHierarchy ひとこと この記事について 注意事項 特に断りがない限り、C#につい…

【Unity公式チュートリアル】スクリプティング〈レッスン1.1-1.7〉

この記事について 注意事項 レッスンタイトル一覧 スクリプトの作成とアタッチ方法 作成方法 アタッチ方法 デフォルトのアクセス修飾子 public修飾子の罠? ひとこと この記事について 注意事項 特に断りがない限り、C#について記述しています 個人的に知ら…

【Unity公式チュートリアル】インターフェースと基本〈Unityのインターフェース〉@ヒエラルキーウインドウとオブジェクトの親子関係 編

ヒエラルキーウインドウとは シーン内に存在するオブジェクトを追加された順に表示、かつ親子関係も階層的に表示する。また、以下の機能を持つ。 表示順番は任意に変更することが可能 ヒエラルキーウインドウからオブジェクトの削除や複製も行うことが可能 …

ゲーム再生中のエディタの色を変更する方法【Unity2017.1】

はじめに 今回は下の画像のようにエディタの色を変える方法です。 再生中ってことを視覚的に理解する助けになりますよ〜。 やり方 メニューバーからUnity → Preferencesを選択(Macであれば "commnd" + "," でも可)します。 ウィンドウが開いたら下画像の赤…

【Unity公式チュートリアル】インターフェースと基本〈Unityのインターフェース〉@ゲームビュー 編

ゲームビューとは ゲーム内のカメラから見たものをレンダリングする。最低でも1つ以上のカメラが必要となる。再生 / 一時停止 / 1フレーム送り は以下のボタンで行う。 なお、再生中に変更した内容は再生を終えると再生前の内容に戻る。 ゲームビューコント…

【Unity公式チュートリアル】インターフェースと基本〈Unityのインターフェース〉@シーンビュー 編

シーンビューとは ゲームを視覚的に構築することが可能なインターフェース 操作方法 下の画像にあるボタンで操作方法を切り替えます。画像下部の文字はキーボード上の該当キーで切り替えが行える英字を示しています。 Hand Tool 左クリック+ドラッグ:シーン…

【Unity公式チュートリアル】インターフェースと基本〈Unityのインターフェース〉@インターフェース概要 編

Unityのインターフェース紹介 メインとなるパネル Unityのインターフェースは "Scene View / Hierarchy / Game View / Project / Inspector" の5つのパネルで構成されている。 Scene View:ゲームを視覚的に編集可能 Hierarchy:シーン上のオブジェクトを階…

Scriptを非アクティブにしても生き残る関数たち

はじめに まず下のスクリプトを見て下さい。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { void Awake(){ Debug.Log ("Awake"); } void Start(){ Debug.Log ("Start"); } void Upd…

OnCollisionExit2D()はDestroyでも呼ばれるのか

はじめに 2Dのことだけしか調べてません(`・ω・´) ”多分”3Dでも一緒じゃないかなー。ってことなんで、誰か実際に調べて結果だけください。 本題 悩み OnCollisionExit2D()という関数はTriggerではないCollider同士が接触から離れた際に呼び出される関数です…

現在のSceneの再読み込みをスマートなコードで書く

はじめに 現在のSceneをもう一度読み込みたい時ってありますよね。もう一度ステージをプレイさせるためにステージを読み込み直す時とか...。 毎回、SceneManager.LoadScene("自分のシーン名");って書いても良いのですが...自分のSceneを書くのは変だなと思っ…

Scene画面で移動したオブジェクトが自動で中心にくる方法

はじめに またタイトルだけでは「?」ですね。 というわけで動きを下に示しておきますー。 結構役に立ちそうですね! 「こういった場面に使えるよ!」とハッキリ断言できませんが(笑) やり方 オブジェクトを選択して《shift+F》 はい!とても簡単です(`・…

Scene画面でオブジェクトをある単位ずつずらす方法

はじめに タイトルだけでは「?」が浮かぶ方もいると思いますので... こういう動きのことでーす。 何かを均等に並べる時に便利です。例えば、2DのSpriteを等間隔に並べてマップを作る時に使えたりしますヨ。 ちなみにですが、この移動方法は"Snap"という名前…

Animationを使う時の注意 -Root Motion編-

はじめに Root Motionを使う場面は様々あると思います。実際にオブジェクトを移動するアニメーションを作成したい場合や、Animatorで動かすオブジェクトをスクリプトでも動かす場合(参考サイトはこちら)等々... しかし、注意が必要な場面が出てきます。と…

【unity2017】Animationで設定した値を相対的な値として扱う方法

はじめに Animtionの使い方は ”unity Animation 使い方” で素晴らしいサイトが沢山ありますのでそちらを参考にしてください!今回はAnimationの小技(?)の話です。 「前置きはいいから、解決方法だ早く教えて!」という方は《解決したいこと》を読み飛ばして…

Actionを使おうとして「あれ?エラー...?」となった話

はじめに 現環境でもActionを使うのが良いのか分かりませんが、Action使ってみたい!と思った時に少しだけ時間を無駄にしたのでメモ。 メイン 「コルーチンとAction組み合わせてみよう!Qiitaに良き記事があるね。良きかな良きかな。」カキカキ using System.Col…

Admobの動画広告を連続で表示したい

はじめに 「Admobの動画広告を何度も表示させたい!でも、公式サイトのサンプルのままじゃ1回しか読み込めない…」ということがあったのでメモついでの記事になります。 もっとスマートな方法があると思いますが…ネ 実装 細かいAdmobの使用方法は以下のサイ…

DateTimeを文字列から生成する

はじめに 文字列のセーブは出来るけどDateTime型をセーブでが出来ない!そんな場面に出くわしたのでDateTime→文字列や文字列→DateTimeに変換する方法をメモして置きます。 変換方法 DateTime→文字列 ToString()を使用するだけですー。下のような感じで…。 Da…

型変換メソッドのConvert.ToXXX() を使用する

はじめに 型変換であるConvert.ToInt32()やConvert.ToBoolean()を使用する時に少しエラーを出してしまったので使い方メモです 使い方 using System; を追加してからConvert.ToXXX()を実装しましょう。 おわり ググればすぐ見つかりますが、とりあえずメモし…

Prefab変更したのにPrefabから生成したオブジェクトが変更されない件

はじめに 「Prefabを変更することで一括で値を変えて…っと。あれ?反映されない…(´・ω・`)」という実話を元に作成しました(笑 理解してしまえば当たり前のことだったので、内容は入門者向けです。 注意:D&Dという用語を多用しますが、ドラッグ&ドロップの…

DrowCall数について分かっていることまとめ【随時更新】

はじめに DrowCallがどの様な時に増加or減少するかを分かり次第追記していきます。 分かっていること 増加編 基本 1オブジェクト1DrowCall…のはず? 影の描写で一気にDrowCallが増える カメラに写っているものが影響する 3D Object ※光源があると影の描写に…

【unity2017】コライダーを1つだけ持ったオブジェクト同士の反射をスクリプトで実装する《2D》

はじめに 今回はタイトルに書いてあることを実装していきます。様々な方の意見を頂きつつ実装に至りました。私一人では解決しなかったと思うので未来の誰かの参考になれば幸いです。 実装 実装内容確認 今回使用する2つのオブジェクトを以下に示します。 Pla…

Buttonはクリック以外でも押せることに気づいた話

はじめに タイトルそのままです。知ってる方も多いのかな? ポチッとせずとも…? さて、下のGIFにもあるようにボタンをクリックした後に”Space”と”Enter”を押せばButtonが押されたのと同じ動作をします。ボタンをクリックした後にボタン以外の場所をクリック…