目次

Unity, ファイル共有, リアルタイムOS

+
もしかして...
その他

Componentの紹介 | Unity

Unityを用いてゲームを作りやすくするものの一つにComponentがあります.

このページではComponentを紹介していきます. ここで紹介するComponentはゲームを作るときに役に立つものです.

Unity | Welcome!

普段日常を過ごしてきて, ゲームを作ってみたいと思うことがあるでしょう. ただゲームの基礎を一から作ることはかなり労力がかかります. そこでゲームを動かす基本処理を持つゲームエンジンを用いると簡単にゲームを作ることができます.

このページではそのゲームエンジンのうちの一つであるUnityに関する情報を扱います.

エフェクト | Unity

シェーダなど

EventControllerの関数, 変数一覧 | イベント制御'EventController'の紹介
関数
ResetTrigger TriggerをResetします
GetBool 指定したbool型Parameterの値を取得
GetInteger 指定したint型Parameterの値を取得
GetFloat 指定したfloat型Parameterの値を取得
SetTrigger Triggerを引きます
SetBool 指定したbool型Parameterを設定
SetInteger 指定したint型Parameterを設定
SetFloat 指定したfloat型Parameterを設定
EventControllerの使い方 | イベント制御'EventController'の紹介

ここでは, EventControllerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • 用語
  • EventClipとは
  • 外部スクリプトによるParameter設定と取得
  • 実際に使ってみる
  • 応用例
EventControllerの導入方法 | イベント制御'EventController'の紹介

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

  • ダウンロード
  • Unityにインポート
CameraControllerの使い方 | カメラ制御'CameraController'の紹介

ここでは, CameraControllerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • パラメータの説明
  • タイプの説明
CameraControllerの導入方法 | カメラ制御'CameraController'の紹介

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

  • ダウンロード
  • Unityにインポート
ライブラリ
Assetの紹介 | Unity

筆者がこれまでに作成したアセットを紹介します.

各アセットの詳しい説明は, 別ページになります.

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

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

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

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

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

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年に執筆されています.

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

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

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

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

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

WARNING

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

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

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

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

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

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

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

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

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

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

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

ファイル共有リンクを表すQR Code が表示される
ファイル共有リンクを表すQR Code が表示される
Arduino, OS
Arduino上で走るOSの作り方 | Arduino

OSは日常のあらゆる場所で目にします. パソコンには必ずと言っていいほどOSが走っており, 携帯, ゲーム機などにもOSが走っております. このような普段よく使うOSですが, そのOSの仕組みを分かっていても, 実際どのように作るのかはよく知られておらず気になります.

このページでは, 実際にArduinoで動くOSを作成することで, OSの理解を深めます. 使用するプログラミング言語はC言語です. (作成といいましても, すでに在りますFreeRTOSから必要な機能を抜き出し, Arduinoで動くようにしました.) なお, 今回扱うOSは汎用OSではなくリアルタイムOS(RTOS)と呼ばれるものです. 汎用OSとは, すべてのタスクに等しく優先度が与えられますが, RTOSではタスクごとに優先度を設定できます.

話の進め方ですが, 今回のOS製作では実装に重きを置くため, コードを中心に話を進めていきます. 各コードごとに簡単な説明を行い, その中で特に重要な部分―OSの仕組みに深くかかわる部分―もしくはさらに詳しい説明については別ページで行います. これら別ページ―詳細ページ―は子コンテンツである"仕組み"にまとめられています.

話の流れは次のとおりです.

  • RTOSとは
  • 目標と使い方
  • 準備
  • ファイル構成
  • スクリプト
  • ボードの設定
  • 仕組み

対応状況

  • Arduino UNO
  • Arduino Mega

動作確認済み環境

  • Arduino IDE 1.8.10
  • Arduino AVR Boards 1.8.1
C#
言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

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

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

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

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

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年に執筆されています.

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

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

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

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

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

WARNING

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

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

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

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

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

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

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

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

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

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

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

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

WARNING

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

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

LanguagePackManager関数一覧 | 言語パック管理'LanguagePackManager'の紹介
関数
LoadFile パックファイルをロード
GetString 指定したラベルに関連付けられた文字列を返します
LanguagePackManagerの導入方法 | 言語パック管理'LanguagePackManager'の紹介

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

  • ダウンロード
  • Unityにインポート
LanguagePackManagerの使い方 | 言語パック管理'LanguagePackManager'の紹介

ここでは, LanguagePackManagerの基本的な使い方を説明します. 説明項目は以下のとおりです.

  • パラメータの説明
  • 言語パックの作成
  • 使用例
  • 言語パックの読み込みについて
UI表示
HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

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

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

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

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

「https://contentsviewer.work/Master/:tagmap/Unity,ファイル共有,リアルタイムOS?layer=ja」から取得