目次
カメラ制御'CameraController'の紹介 | Componentの紹介

CameraControllerとはCameraを制御するものです。これは次のことができます。

  • 一人称,三人称カメラの切り替え
  • カメラ移動の線形補間,曲線補間
  • コライダーを自動で避けるAutoAvoidCollider機能
  • 任意の場所にカメラ位置を設定可能
  • 任意の方向にカメラを向けることが可能

上の機能が一つのカメラで実現できるためカメラ管理がしやすくなります。

CameraControllerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

イベント制御'EventController'の紹介 | Componentの紹介
EventControllerEditor画面
EventControllerEditor画面

Gameは必ずイベントを含みます. イベントがないGameはほとんどないでしょう.

イベント製作時によくあるのが, イベント管理のしにくさと, Debugのしにくさです. イベントを作っていくとどのイベントがどのイベントにどうつながるのかが重要ですが, 大量のイベントを作るとどんなイベントがどれほどあるのかが把握しにくくなります. 特にスクリプトでイベントを製作している場合はそうでしょう. Debugのしにくさとして, ある特定のイベントをDebugする際そのイベントに到達するのに時間がかかります. そのイベントの前にn個のイベントがあり, そのイベントに対するフラグがm個あり, またそのイベントに到達するのにt時間かかるとするならば, そのイベントのDebugに要する時間は $n \times m \times t$ となります.(n = 6; m = 3; t = 5分とするとDebug時間は90分になります. 非常に長いです)

上のような問題を解決するために, ’EventController’を紹介します. EventControllerができるのは次の通りです.

  • Eventの遷移, 登録を直感的に行えるEditor
  • Game中現在実行しているEventをお知らせ
  • パラメータのアクセスは外部スクリプトでも可能
  • Game実行中パラメータの値はEditor上でも設定可能

EventControllerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

SketchWriter | ArduinoでArduinoにスケッチ書き込み

SketchWriterとは、optiboot―これが書き込まれているArduinoはArduinoUnoです―と通信することができるものです。このSketchWriterはoptibootに対してメモリのセット、データの送信、アプリの実行、を命令することができます。それらの命令を使ってパソコンを用いずにArduinoにスケッチ―Arduinoではプログラムのことをスケッチと呼んでいます―を書き込むことができます。SketchWriterができることは以下のことです。

  • optibootに対しての基本命令の送信
  • スケッチが書かれたHexFile(Hexファイル)の読み込み
  • Arduinoにスケッチを送信
  • 今後応用可能な関数セット

optibootに対しての基本命令とはメモリのセット、 データの送信、 アプリの実行、 optibootと同期などをさします。このヘッダを用いるとArduinoからArduinoへスケッチ―プログラム―を書き込むことができます。

ただし、以下の環境が必要です。

スケッチを書き込まれるArduinoにはブートローダー"optiboot"がかきこまれていること

optibootがかきこまれているArduinoは"Arduino UNO"です。このサイトでもこれを使用しています。

スケッチを書き込むArduinoは16MHzで動作していること

optibootとの通信には115200bpsのシリアル通信が用いられています。8MHzなどの低周波数で動作するArduinoではこの通信がうまくいきません。

SketchWriterを改良、強化、何でもしてください(;´∀`)

Arduinoで2Dグラフィックを扱う | Arduino

Arduinoでグラフィック液晶やドットマトリックスを操作することは定番です. またそれらを操作するライブラリも豊富です. ただ, それらに共通してある2Dに何かを描画するという機能は多くの場合独立していません. この機能を独立させることで, いかなる表示機においても2Dに対する描画法を統一できます. 例えば, ドットマトリックスで描画していたものをグラフィック液晶に簡単に移植できます. メンテナンスもしやすくなるでしょう. 描画の機能のパフォーマンスが向上すれば, その恩恵はその機能を使っているすべての表示機にも与えられます.

キャンバスとは, Arduinoで2Dグラフィックを扱う時に便利なライブラリです. キャンバスはメモリ上にある描画空間に対して処理を行います―例えば, 点を打つ, 線を引くなど―.

キャンバス単体で用いることはほとんどありません. キャンバスと実際に目に見えるものに描画するものとを組み合わせて使用します.

このキャンバスの特徴は以下の通りです.

  • 応用しやすい関数セット
  • 白紙のキャンバスに文字、画像、直線などを描くような操作
  • 高い移植性
  • 高い描画効率

キャンバスを強化, 改良, 何でもしてください(’ω’)ノ

Controllerの使い方 | コントローラ読み取りライブラリ

ここでは, Controllerの基本的な説明を行います. 説明項目は以下のとおりです.

  • ボタン数,ピン設定
  • ボタン番号設定
  • スイッチ情報の読み込み
Controllerの関数一覧 | コントローラ読み取りライブラリ
Begin Controllerの開始
Stick スイッチ情報取得
Read スイッチ情報取得
Controllerの導入方法 | コントローラ読み取りライブラリ

Controllerの導入方法を説明します. 説明項目は以下のとおりです.

  • ダウンロード
  • ファイルの説明
  • インクルード
  • コントローラの使用開始
コントローラ読み取りライブラリ | コントローラー

Controllerとは、このページで紹介したコントローラーを制御するものです。このヘッダファイルにある関数でコントローラーからのスイッチ情報を読み取りどのボタンが押されているかを判断します。Controllerができることは次の通りです。

  • ボタンが押されている間もそのボタン入力を検出すること(トリガー形式)ができます
  • ボタンが一回押されてそのあとも押されているときはそのボタン入力を検出しないこと(非トリガー形式)ができます
  • インスタンス生成でコントローラーを簡単に追加できます
  • ボタンの同時入力に対応しています

Controllerを改良、強化、何でもしてください(;´∀`)

List
C++でC#のようなListを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).

C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.

Listを強化, 改良何でもしてください. ( `ー´)ノ

CAUTION

C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.

Cpp, C++
C++でC#のようなListを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたListが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するListがあります. このListで用意されている関数名はほぼC#と一致します. C#でのListは要素数が容量を上回ったとき自動でメモリが再確保されますが, ここで紹介するListもそのように動作します. アルゴリズムも同じです(はずです).

C#で非常に便利だったSort関数も用意されています. もちろんですが, 処理が一番早いとされているクイックソートアルゴリズム(O(n*log(n)))を使用しています.

Listを強化, 改良何でもしてください. ( `ー´)ノ

CAUTION

C#のListを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のvectorをお使いください. C++ですでに用意されています.

C++でC#のようなStringを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

C#で非常に便利だったSplit関数も用意されています.

また, 文字列探索において一番高速とされるBM法を用いています.

Stringを強化, 改良何でもしてください. ( `ー´)ノ

CAUTION

C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

UI表示
Message表示'HUDMessageManager'の紹介 | Componentの紹介

HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。

HUD_MessageManagerを使うと以下のことができます。

  • 画面に文字を表示する
  • 6つの場所に文字を表示できます
  • 表示位置はカスタマイズ可能
  • 表示,非表示時にエフェクトをかけることが可能
  • 表示時間を指定可能

HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)

このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.

HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.

HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.

  • 固定されないUIの表示場所
  • フェードイン, フェードアウトエフェクト
  • 表示時間設定

Unity 2018.2.5f1で動作確認済みです.

文字列処理
C++でC#のようなStringを使いたい | C++ライブラリ

C#からC++に入った人もいるでしょう. その時C#で大変よく使っていたStringが恋しい場合があります. C++を書きつつC#を感じたい時があります.

上の問題を解決する方法でここで紹介するStringがあります. このStringで用意されている関数名はほぼC#と一致します.

C#で非常に便利だったSplit関数も用意されています.

また, 文字列探索において一番高速とされるBM法を用いています.

Stringを強化, 改良何でもしてください. ( `ー´)ノ

CAUTION

C#のStringを使ったことがない方は, これをお勧めすることはできません. これと同様かそれ以上の機能を持つC++のstringをお使いください. C++ですでに用意されています.

PHP, ダウンロード
PHPでC#のような処理時間計測ライブラリ | PHPライブラリ

C#には, 処理時間計測をするのにStopwatchクラスがあります[1]. PHPでもC#のような処理時間計測を実現するためのライブラリを実装しました.

作りは単純で, ソースもそれほど難しくはありません. 厳密な計測を想定していませんが, 簡単に計測を行いたい方などに最適です.

言語パック
言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.

  • 言語パックの管理
  • 各シーンでのアンロードとロード

言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.

LanguagePackManagerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

iOS, ショートカット
ショートカットでアップル製品以外のデバイスと一時的にファイル共有 | iPhone

Apple製品同士でのファイル共有に便利な機能にAirDropがあります. 初めてあった人と, ファイルを共有したい時などに非常に便利な機能です.

ですが, Apple製品以外(例えば, Windows, Androidなど)とファイルを共有したい場合は, AirDropを利用できず, SNSやクラウドサービスを通じて, ファイルを共有する必要があり, 手間がかかります. SNSの場合では, お互いが同じSNSアプリを利用して, 共有のためだけにお互いのアカウントを教えあわないといけません. クラウドサービスの場合, ファイルをクラウドに上げ, 共有リンクを設定し, そのURL(たいてい長く, 複雑)を伝えないといけません.

本稿では, iosのショートカット機能を用いて, 即時に共有したいファイルをクラウドに上げ, 共有リンクを設定し, そのリンクのQRコードを表示するショートカットを紹介します. 相手にQRコードを読み込んでもらうだけで, 簡単にファイルを共有することができます. またアップロードされたファイルは簡単に削除でき, 容量の少ない無料のクラウドストレージを圧迫せず, 共有リンクが残り続けることがありません.

ファイル共有リンクを表すQR Code が表示される
ファイル共有リンクを表すQR Code が表示される
音楽再生
Arduinoでメロディーを鳴らす | Arduino

Arduinoで何か作品を作っているとき, その作品に音を鳴らせたい時があります. 本格的に音楽を鳴らすのではなく, 効果音としてちょこっと入れたいという意味です. 例えば, 簡単な早押しゲームを作るとして, ボタンを押したときの効果音を入れたいという時です. ですが, この効果音を入れたいために別のArduinoを用意するのはコストの点で好ましくありません. -オーディオプレイヤーのように音楽を鳴らしたい時は[Arduino/Arduinoで音楽を鳴らす]を参照してください.-

ここで, このMelodyPlayerがあります. このMelodyPlayerは新たにArduinoを用意する必要はありません. また, 音楽再生処理はバックグラウンドで行っているためメインプログラムに何も影響を与えません. メロディーを流しながら何か他の処理―LED点灯, ボタン入力など―をすることができます. あなたがすでに書いたスケッチのコードに一行"Play(’Melody名’)"と入れるだけでメロディーが再生されます.

MelodyPlayerができるのは以下の通りです.

  • インクルードするだけで簡単にメロディー再生
  • 簡単にメロディーを追加

ただしMelodyPlayerはピン3,9,10,11のPWM出力を妨げます.

Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
音楽
Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
液晶
GLCDControllerの紹介 | グラフィック液晶
フレームレート測定画面
フレームレート測定画面

GLCDControllerとは、グラフィック液晶SG12864ASLB-GBを操作するものです. GLCDControllerの特徴は以下の通りです.

  • 2Dグラフィック操作ライブラリCanvasの利点を受け継ぎ
  • 高いフレームレート

このGLCDControllerのメンバ変数としてCanvasがあるのですが, このCanvasが2Dグラフィック操作を簡単にします. Canvasについての特徴はCanvasの特徴を参照してください.

画面の更新速度ですが,最高60fps以上(最高fps85fps, 平均60fps, 全画面更新15fps)まで出せます(ArduinoUno 16Mhzで検証).

GLCDControllerを改良、強化、何でもしてください(;´∀`)

「https://contentsviewer.work/Master/:tagmap/ライブラリ,ステレオカメラ,設計方針,QRコード/C#,ファイル共有,Arduino?layer=ja」から取得