エフアンダーバー

個人でのゲーム開発

【Unity】 Quaternion API解説

Quaternion(クォータニオン、四元数)は回転操作において重要な数です。 しかし、回転という操作がなかなか想像しづらいことや、Quaternionの扱いに少し癖があることなどから、 結構ハマりやすいところだと思います(というか、自分がよくハマります)。 そ…

クォータニオンと回転

クォータニオン(四元数、Quaternion)は3Dグラフィックスのプログラミングにおいて回転を表す数としてよく出てきます。 曰く、 サイズが小さい(回転行列よりも少ない数で表せる) ジンバルロックが起きない 補間が容易 とのことで、非常に便利な理論です。…

はてなブログテーマ "Notebook" のカスタマイズについて

Windows10のCreators UpdateにてEdgeがアップデートされ、 モダンブラウザのほとんどがCSS-Variablesという仕様に対応したため、 はてなブログテーマ“Notebook”のカスタマイズが容易になりました。 IEや古いAndroidブラウザ、Opera MiniなどはCSS-Variables…

【Unity】 Matrix4x4の罠

Matrix4x4でとてつもなくしょうもないバグにハマったのでメモ。 問題コード 何気なくこんな感じのコードを書いて、「あれ?」となりました。 using UnityEngine; public class MatrixSample : MonoBehaviour { private void Start() { transform.position = …

【Unity】 SmoothDampの謎

ユニティちゃんのリパッケージ作業中、SmoothDampの挙動がどうも自分の理解と違うことに気づいたので調べてみました。 www.f-sp.com SmoothDampとは? スクリプトリファレンスによれば、 Gradually changes a vector towards a desired goal over time. The …

Unityと改行コード

Visual Studioを利用してUnityのスクリプトを書いているとよくこんな警告が出ます。 There are inconsistent line endings in the ‘Assets/XXX.cs’ script. Some are Mac OS X (UNIX) and some are Windows. This might lead to incorrect line numbers in s…

ツクールMVでローグライク-ライクなゲームをツクった話

ふと「ツクールMV買ったのにゲームひとつもツクってないな」と気づき、衝動的にゲーム制作。 一週間くらいでできるかな、とか考えていたのですが、どうやらRPGの設定項目の多さを甘く見過ぎていたようです・・・。 結局、倍の二週間をかけ、とりあえず動い…

ユニティちゃんをRe-パッケージング!!

味気ないサンプルに華を添えてくれる存在として当ブログでもお世話になっているユニティちゃん。 非常にありがたい存在ではあるのですが、いざパッケージをインポートしてみるといろいろと問題が多いことに気が付きます。 そこで、Unity初心者でも簡単に扱え…

TypeScriptでRPGツクールMVプラグイン

RPGツクールMVになってからプラグインの言語がJavaScriptになりました。 しかし、JavaScriptは静的解析がしづらく、開発ツールによるサポートが効きづらいのは誰もが知るところ。 そこで、JavaScriptの代替言語AltJSの中でも人気の高いTypeScriptでツクール…

続・RPGツクールでローグライクな雰囲気を醸してみた

なんやかんやでまた書き始めたRPGツクールMVのローグライクプラグイン。 www.f-sp.com JavaScriptでの整理が難しくなったのでTypeScriptに切り替えたり、 循環参照を保つためにシリアライザを置き換えたりしていたのですが、 それでもなお拡張に限界を感じた…

【Unity】スプライト端の謎の線/ゴミ/ちらつきの修正方法

Unityで何気なくスプライトを使っていると上下左右に現れる謎の線。 時としてゴミのような点として現れたり、画面が動いている間だけ現れたりもします。 さらには普段は出ないのに画面サイズ(解像度)が変わったときだけ出てきたりと、とにかく厄介なやつで…

JavaScriptの謎コードまとめ

JavaScriptのコードを書いていて、ふと変態的コードに慣れ切った自分に気づいてしまったので、 自戒の意を込めてJavaScriptでよく使われるおかしなトリックについてまとめておきます。 他言語からきた人が首を傾げるであろうアレらです。 文法編 (function()…

AdSense導入までの記録(2016年10月版)

ようやくAdSenseの審査も終わり、広告を表示できるようになりました。 AdSense導入に関する記事は世の中に溢れていますが、 情報が古かったり、まゆつばものの情報が混ざりこんでいたりしていて、 振り回される人も多そうだったので、 このブログに関する事…

ブログの変更点とか

ブログに広告を入れよう、というところから始まっていろいろと変更したのでその報告。 広告はまだ審査が済んでいないため入っていませんが・・・。 全記事の更新とかしたのでもしも通知が飛びまくっていたらごめんなさい。 はてなブログProにアップグレード …

【RPGツクールMV】 タイル仕様

前回とは打って変わって今回はただメモを曝すだけです。 特に解説はしません。 オートタイルを動的に表示したい場合なんかに必要なタイルの仕様についてです。 マニュアルの素材規格と照らし合わせながら見るとわかりやすいと思います。 fspace.hatenablog.c…

RPGツクールMV プラグイン開発の手引き

前回の記事にて公開したプラグインの開発中に得た知識を基に、 これからRPGツクールMVのプラグイン開発をしようと考えている人向けにコアエンジンの概観について記しておきます。 正直、今更感はありますが、誰かの理解の一助となれば幸いです。 fspace.hate…

RPGツクールでローグライクな雰囲気を醸してみた

夏の終わりにRPGツクールMVのセールをしていたので思わず衝動買い。 おまけでシレンのグラフィックがついてきたので、 これはローグライクゲームをつくれというメッセージだと受け取り、プラグインの製作に取り掛かりました。 実は人生初ツクールです。 前々…

Unityのゲーム画面を録画!!

ブログとかに貼る用にゲーム画面をアニメーションGIFやMP4で手軽に保存できるエディタ拡張が欲しかったのでつくってみました。 とはいっても、こちらのFrameCapturerを改造させてもらっただけなのですが。 本家FrameCapturer(GitHub) i-saint.hatenablog.c…

【Unity】 EditorWindowのライフサイクルの謎

EditorWindowが他のGUIアプリケーションと比べてかなり特殊な挙動をするのでその辺について。 前回の記事や 前々回の記事は このあたりを調べている過程で学習したことです。 はじめに EditorWindowクラスを継承してカスタムウィンドウをつくっていると、 思…

Unityのリソース管理

前回の記事や次回の記事を書くにあたってUnityのリソース管理についていろいろ調べたのでメモ。 前回の記事を書いたときも思ったのだけど、「リソース」ってどの範囲を指す言葉だろう。 「オブジェクト」とか「メモリ」とか他の言葉を使うことも考えたのです…

UnityとIDisposableの罠 【修正版】

この記事について 先日投稿した記事について再検証したところ、間違いや勘違いが多数見つかったため修正版を投稿します。 また、その際にいくらか細部について理解できた部分があるため、それらについて追記しています。 内容は大部分が元記事と重複していま…

UnityとIDisposableの罠

この記事には修正版があります。 この記事は修正前にこの記事を読んだ方が修正箇所を確認するためにあります。 初めてこの記事を読む方は修正版をお読みください。 fspace.hatenablog.com UnityとIDisposable絡みのバグで一日悩んだのでメモ。 IDisposableと…

【Unity】 誰得なEditorPrefs操作スクリプト

前回の記事でEditorPrefsの値をレジストリエディタでいじるのが面倒だったので書いた、誰得なPowerShellスクリプトを公開。 正直このスクリプト書くのが一番面倒だった。 ちなみに取得・削除はできますが、作成・変更はできません(必要だという稀有な方は自…

Unityのエディタ拡張で設定を保存

Unityのエディタ拡張にてプロジェクト間で共有する設定の保存がしたくなり、いろいろ試したのでその記録。 はじめに 準備 シンプルな方法 利点と欠点 JSON化して保存する方法 利点と欠点 JSON化して保存する方法 その2 利点と欠点 おわりに はじめに Unity…

【Unity】 Rigidbodyの移動方法

Rigidbody(剛体)の移動に関してまとめたいい日本語の記事が見つからなかったので書いてみる(検索に引っかかりづらいだけ?)。 物理は詳しくないので基本的なことだけ。 Rigidbodyの移動 Rigidbodyの基本的な移動方法には次の四つがあります。 position v…

【Unity】 Timeクラス詳説

Timeクラス関連で調べものをしていたのですが、 詳しいことがまとまっているサイトが見当たらなかったので自分でまとめてみました。 Timeクラスのプロパティ一覧 Timeクラスのプロパティ分類 時刻取得系 time fixedTime unscaledTime realtimeSinceStartup t…

はてなブログで数式(Markdown)

前回の記事を書くにあたり、 はてなブログでの数式の書き方を調べたのですが、どうにも納得のいく方法が見つからなかったのでいろいろ試してみました。 はてな記法で数式 そもそも、はてなブログにはもとからLaTeXの数式を書く機能があります。 [tex: (LaTex…

NURBSの微分で躓いた話

気まぐれで実装したNURBSの微分で何時間も悩んだので備忘録も兼ねて記事に。 大概のバグがそうであるように、オチは結構しょうもないのですが・・・ 記事中でところどころ歯切れが悪いのは、専門外の内容をネットで拾い集めた知識で書いているからです。 間…

【C#】 readonly と struct と

C#

ふと、readonlyな構造体に対して状態を変更するメソッドを呼び出したらどうなるんだろうかと疑問に思ったので試してみました。 また調べているときにみつけた構造体のreadonlyなフィールドに関する話についても記しておきます。 readonlyな構造体メンバ 検証…

【Unity】 IL2CPPメモ

IL2CPP (Intermediate Language to C Plus Plus) 以前IL2CPPについての記事を書こうと思って、とっていたメモがあったので公開。 メモ書きなのでわかりづらいのはご容赦ください。 本当は内部実装の話も含めて、シリーズで書こうと思っていたのですが、 英語…

Unityのエディタ拡張で頂点変換を可視化

久しぶりのブログ更新。 せっかくなので何か楽しそうなことをしたいと思い、 頂点が行列によって変換されていく様子をアニメーションさせてみました。 これで初学者も頂点変換が理解できる・・・かもしれない。 頂点変換アニメーション こちらからソースコー…

【Unity】Stripping Levelについて

前回の記事を書いた後で自分の書いたことが本当にあっているのか心配になってきたのでいろいろと調べなおしてみました。 わかったような気になっていたけど結構わかっていないもんで・・・ そして結局この記事の結論としてもようわからんかったという内容な…

【VSTU】Visual Studio Tools for Unity と micro mscorlib

Visual Studio Tools for Unityでライブラリをつくろうと思っていたら謎のエラーに嵌ったのでメモ。 前提知識 Visual Studio Tools for Unity (VSTU)とは? Visual Studio Tools for Unity (VSTU)は、 言わずと知れた統合開発環境Visual StudioでUnity用のコ…

自動生成ダンジョン試作 その3

自作ゲーム用の自動生成ダンジョンの試作。 前回の続きです。 とりあえず、よくある二分木の部屋作成アルゴリズムとてきとーに作った道作成アルゴリズムでダンジョンっぽくしてみる。 前回 fspace.hatenablog.com 全体図 拡大図 部屋の見栄えはあとで整える…

自動生成ダンジョン試作 その2

自作ゲーム用の自動生成ダンジョンの試作。 前回の続きです。 地面がカクカクしすぎていたのでそれの修正。 前回 fspace.hatenablog.com 全体図 拡大図 前回の拡大図 滑らかになったのはいいけれど、こうなってくると頂点数がなぁ・・・ GPU使うメッシュの方…

自動生成ダンジョン試作 その1

自作ゲーム用の自動生成ダンジョンの試作。 とは言いつつ、現時点ではまるでダンジョンになっていないのですが・・・ 二次元配列データからのコライダ作成と描画のテストです。 元となる二次元配列データは乱数で初期化したものをテキトーにぼかしただけ。 …

【Unity】 2Dアクション用のステージギミック

こちらの動画で2DアクションならではのギミックをUnity上で作成する様子をみて、 もう少しなんとかならないかなと思ったので自分でもつくってみました。 おしながき 今回作成したのは動画上にて紹介されていた以下の二つです。 一方向からのみ乗れる床 上下…

Unityの基礎 その4 『コンポーネント』

前回からずいぶんと時間が空いてしまいましたが第四回です。 Unityのバージョンも5.2.3になってしまいましたが、 この記事自体はだいぶ前に書いたため5.1.2時点のものです。 次回からは最新バージョンになる・・・はず。 第四回は流れからわかったかもしれま…

Unityの基礎 その3 『ゲームオブジェクト』

まだ説明していない部分をぼかしながら書くのがつらい・・・(特にスクリプト関係) いっそもうUnity再入門くらいにしたほうがいいんだろうか。 プロジェクト、シーンときたので第三回はゲームオブジェクトです。 ゲームオブジェクト(GameObject)とは? プロ…

Unityの基礎 その2 『シーン』

第二回にしてあまり基礎知識でないことに気づいてしまった今日この頃。 まあ、Unityの基礎(土台部分)ということで・・・ 第一回が「プロジェクト」だったので、第二回は『シーン』です。 シーン(Scene)とは? シーンという言葉は日本語だと物語上の一場面…

Unityの基礎 その1 『プロジェクト』

ブログネタに困ってきたので、 不定期にUnityに関することをまとめていこうかなと思ってます。 第一回は、やっぱりここからかなと思い『プロジェクト』についてです。 プロジェクト(Project)とは? プロジェクト、日本語としても一般的な単語となっています…

UnityAdsVideoCacheについて

どうも「UnityAdsVideoCache」という検索ワードで以前書いたUnity Adsの記事にたどり着く人がいるみたいです。 fspace.hatenablog.com しかしこのワードで検索するということはおそらくUnity Adsで稼ぎたい開発者ではなく、 自分の端末に見知らぬフォルダを…

タッチ入力の軌跡から図形生成

ふと思いついたので、 タッチ入力の軌跡から図形をつくり、 それを操作するようなインターフェースを実装してみました。 つくりかたは大体思い描いていたのですぐにできるかと思いきや、 細かいところで何度も躓き、結局妥協しつつも完成までに三日・・・ ユ…

【Unity】Sphereは動的バッチングができない!?

Unityでちょっとしたテストをしていたのですが、 なぜかDraw Callの値が非常に高くなっていたので調べてみたところ球の描画に問題があったようです。 UnityのSphereメッシュ(球)は動的バッチングをすることができず、 追加するとその分だけDraw Callの数が…

「しろたま」 Ver. 1.1 紹介動画

「しろたま」Ver. 1.1の紹介動画をニコニコ動画に投稿しました。 変更に関する詳細は過去記事やGoogle Playの最新情報を参照してください。 fspace.hatenablog.com しろたま - Google Play の Android アプリ

Unityのロードマップ (Ver. 5.2)

最近になってUnityがロードマップを公開していることを知りました。 Unity - Roadmap せっかくなので次のUnity 5.2の内容を確認しておきます。 Unity 5.2で追加予定の機能 全容はリンク先をみてもらうとして、自分に関係ありそうな機能だけ。 Playables API …

Unity Adsのミュート機能

昨日に引き続きUnity Adsの話。 「しろたま」はタイトル画面で音声ミュートの設定ができるようになっているのですが、 現状この設定はUnity Adsの広告には効きません。 できればUnity Adsの広告もミュートで再生したい、 ということでUnity Adsで音声ミュー…

Unity Adsとプライバシーポリシー

「しろたま」をアンドロイダーのアプリ審査に出した際、 必要なプライバシーポリシーがないことを指摘されたというおはなし。 Unity Adsの送信する情報 指摘されたのはUnity Adsが個人情報を外部に送信するにもかかわらず、 そのことが示されたプライバシー…

【Unity】カスタムイメージエフェクトのつくりかた

Unity5でフリー版でのイメージエフェクト(ImageEffect)が解放されたので、 カスタムイメージエフェクトのつくりかたを書こうかな、と思ったんですが、 すでにけっこうあるんですね・・・ まあ、需要があるかはともかく自己流でも書いてみます。 まずはともあ…

「しろたま」 ver.1.1 公開

Android用ゲームアプリ「しろたま」のver.1.1を公開しました。 更新内容等の詳細情報は過去記事にて。 fspace.hatenablog.com