タグ

ブックマーク / kzr-2.hatenadiary.org (40)

  • UnityとC#とJavaScript - Radium Software

    UnityのスクリプティングはJavaScriptを採用している……というのは、かなり大雑把な表現だ。Unityは.NETフレームワーク互換のMono環境の上で動いている。スクリプトの方も、純粋なJavaScriptというよりかは、JScript .NETに近いものとなっている。 この辺りの仕様の詳細は、今のところマニュアルには記載されていない。数行のスクリプトを書く分にはJavaScriptのマニュアルを読めば済むだろうけども、格的にがっつりとスクリプトを組む段になると、そういった代替手段では通用しなくなってしまう。 Unityでは、JavaScriptの他にC#でもスクリプトを書くことができる。プログラマー的な視点で考えると、.NET互換環境なんだからむしろC#で書くのがまっとうなんじゃないの、と思ったりするかもしれない。僕もそう思う。しかし実情としてはそうとも限らない。オブジェクト

    UnityとC#とJavaScript - Radium Software
  • 足枷になったレコード会社 - Radium Software

    上の動画は今月初めに公開されたOK Goの新曲"This Too Shall Pass"プロモーションビデオだ。OK Goの曲に合わせてルーブ・ゴールドバーグ・マシン――いわゆる「ピタゴラスイッチ的なもの」が大アクションを繰り広げる。後半の盛り上がりが非常に印象的な作品だ。この動画は公開されてから猛烈な勢いで再生されていて,13日の時点で750万再生に達している。 この動画はそれ自体が非常に面白い作品だけれど,実はその裏には複雑な事情が潜んでいる。 簡単なまとめ OK Goが契約しているレコード会社(EMI)はPV動画の外部埋め込みを許可しない方針をとっている。しかし,外部埋め込みが無ければバイラル的な広がりは起こりえないということを知っているOK Goのメンバー達は,この制約を迂回するために,State Farmという保険会社と交渉し,この会社の広告という形でPVを制作することにした。制

    足枷になったレコード会社 - Radium Software
    yuiseki
    yuiseki 2012/06/23
  • (iOS 4) バックグラウンド動作するラジオアプリを作ってみる - Radium Software

    プログラム関係の仕事をするときはたいてい、ネットラジオを使って部屋の中にBGMを流している。最近のお気に入りはSomaFMのチルアウト/アンビエント系専門チャンネル"Groove Salad"だ。いい感じで生活の邪魔にならない音楽を絶え間なく提供してくれる。 つい先日ようやくiPhone 4を導入したので、できればバックグランドで動作するネットラジオアプリを入れてGroove Saladを垂れ流しにしたい。ただ、「バックグラウンドで動作するネットラジオアプリ」で無料かつ使いやすいものというのは、なかなか存在しないようだ。 まあ、無いなら自分で作ってしまおう。 ストリーミング再生 iOS 4を使ってネットラジオ的なものを作るのは難しくない。AV Foundation FrameworkのAVPlayerクラスを使えば簡単に実現できる。例えばGroove Saladを再生するのだったら、以下の

    (iOS 4) バックグラウンド動作するラジオアプリを作ってみる - Radium Software
    yuiseki
    yuiseki 2012/02/15
  • Arduino で MIDI 制御 - Radium Software

    Arduino による MIDI 機器の制御は恐ろしく簡単に実現できる。例えばこんな感じで…… ケーブルの加工 不要な MIDI ケーブルを切断してピンヘッダをハンダ付けする。 MIDI では 5 ピン DIN コネクターのうち 2, 4, 5 番のピンしか使用しない(下図参照)。テスターを使って各ピンと繋がる線を特定する。 加工したケーブルは以下のような感じ。ホットグルーを使って絶縁を施してある。 配線 以下のような感じで配線する。 プログラム 以下のプログラムではオクターブ1から6の間の「ド」を順に鳴らしてリピートする。 void setup() { Serial.begin(31250); sendMidi(0xb0, 0x78, 0); // all sound off } void loop() { for (int i = 1; i < 7; ++i) { int note =

    Arduino で MIDI 制御 - Radium Software
  • 10分ゲームプログラミング(構想) - Radium Software

    Unityを使って10分間でゲームを制作する」というネタを、ちょっと考えてみている。台付きで作るなら、実はそれほど難しくないかもな、と思う。 上は試しに、おやつをべながら30分間ぐらいで作ってみたメダルプッシャーゲーム。間を空けずに詰め込んで作業すれば10分に収まるのではないかな……

    10分ゲームプログラミング(構想) - Radium Software
    yuiseki
    yuiseki 2010/12/02
    おやつを食べながら30分間ぐらいで作ってみたメダルプッシャーゲーム
  • ゲームエンジンUnity - Radium Software

    最近、仕事9割、趣味1割ぐらいの気持ちで、Unityに触れている。 UnityiPhoneゲームなどでよく使われているゲームエンジンだ。個人的にはGame Blenderに近いものがあるかなと思う。3Dシーン上に配置されたオブジェクトに対して、各種のコンポーネントとスクリプトを組み込んでいくと挙動が構築され、それが最終的にはゲームになる、って感じだ。 Game Blenderは元がCGツールということもあって複雑過ぎるきらいがあったのだけれど、Unityゲーム専用に特化して設計されており、それでいてまとめ方のセンスもいい。 プログラマー向けの技術的な情報については、Blurstの中の人によるこちらの解説が参考になると思う。 Unityの基盤となっている技術は、.NETフレームワークのオープンソース版代替物であるMonoプラットフォームだ。Unityは表向きJavascriptによるスク

    ゲームエンジンUnity - Radium Software
    yuiseki
    yuiseki 2010/11/11
  • Auto Guitar Hero - Radium Software

    AutoGuitarHero.com マイケルお父さんは,息子のアレックスが自分を置いてきぼりにするのを黙って見ているしかなかった―― Guitar Hero での話ね。 でも,お父さんは,ただ黙って負けるのを潔しとしなかった。 Guitar Hero で息子のアレックスを負かすには,インチキするしかないと悟ったんだ。 お父さん,これはいったい…… Auto Guitar Hero は, Guitar Hero を自動的にプレイするシステム。 Wii のコンポジットビデオ出力をキャプチャーして,画像を解析し,適切なタイミングでボタン入力を発生させるようになっている。 ビデオ信号をキャプチャーするためのアナログ回路の構築も,映像解析を行うための FPGA 回路の設計も,マイケルお父さんが自分で一から行った。すべては息子を負かすために…… 彼は,私がなぜこんなことに時間を浪費しているのか理解で

    Auto Guitar Hero - Radium Software
    yuiseki
    yuiseki 2010/10/27
  • Dropboxで共同作業 - Radium Software

    ファイルホスティングサービスのDropboxは、今や僕にとって仕事に欠かせない道具となりつつある。PC間のファイル共有に利用するのはもちろん、ファイル配布用のストレージとして(M4TCのホスティングにもDropboxを使っている)、データ納品時の中継地点として、等々、様々な用途に利用している。iPhone/iPadアプリの出来も良く、これらのデバイスとの連携にも便利だ。 これらの用途の他に、Dropboxにはもうひとつの面白い使い方がある。他のDropboxユーザーとの間のディレクトリ共有だ。 以前、シン石丸さんとM3向けにCDを制作したとき、このディレクトリ共有の機能を利用して共同作業を進めた。 やり方は簡単。まず適当なディレクトリを作成して、コンテキストメニューの"Share This Folder..."から共有の招待を送信する。 共有が有効になったら、そこにAbleton Live

    Dropboxで共同作業 - Radium Software
    yuiseki
    yuiseki 2010/08/23
  • アルバム発売しました - Radium Software

    M4TC:Derived アーティスト: Denkitribe出版社/メーカー: LOiD発売日: 2010/08/11メディア: CD購入: 40人 クリック: 383回この商品を含むブログ (9件) を見る 昨日8/11, Denkitribe名義でのアルバム"M4TC: Derived"が発売となりました。発売日に予約でお買い上げ頂いた方、当にありがとうございました! 上の写真は僕の所に届いたサンプル品の一枚。デジパック仕様のスッキリスリムなジャケットがお気に入りです。 フリー版"M4TC"のサイトも格稼働を開始しました。 DENKITRIBE / M4TC まだ1曲しかアップされていませんが、今日明日中に2曲目を、その後も週1ペースで順次アップを続けていく予定です。 CDともども、よろしくお願いします。

    アルバム発売しました - Radium Software
    yuiseki
    yuiseki 2010/08/23
  • オープンソースなアルバム、発売します - Radium Software

    M4TC:Derived アーティスト: Denkitribe出版社/メーカー: LOiD発売日: 2010/08/11メディア: CD購入: 40人 クリック: 383回この商品を含むブログ (9件) を見る 遂にと言うか、とうとうと言うか……Denkitribe名義でのソロアルバムを発売します。題名は"M4TC: Derived"、発売日は8/11、LOiDレーベルからのリリースになります。 このアルバムを制作するに至った背景については、ASCII.jpの記事の方によくまとめられていますので、そちらに目を通していただくのが良いかなと思います。 ASCII.jp - CDにする前の音楽データ、無料でどうぞ Denkitribeさんの挑戦 ボーカルとして一十三十一(ヒトミトイ)さんに参加して頂いたり、SaitoneさんやSEXY-SYNTHESIZERさんといった雲の上的存在の方々にリミッ

    オープンソースなアルバム、発売します - Radium Software
    yuiseki
    yuiseki 2010/08/01
  • Datamoshing - 映像の乱れの技法 - Radium Software

    Hackety.org - How Are Those Guys Datamoshing? Datamoshing とは,部分的に破壊された圧縮映像を再生する際に現れる「映像の乱れ」をエフェクトとして活用する技法のこと。 2000 年代後半になって登場した比較的新しい技法であり,これを意識的に使用したのは David OReilly や Takeshi Murata などのアーティストが最初であるとされている。 Datamoshing の原理と制作手順については Rosa Menkman による記事によくまとめられている。基的には,特定のコーデックによって圧縮された映像を,特定の(解析しやすい)コンテナに格納し,その中からキーフレーム (I-Frame) を探し出して,バイナリエディタを使って破壊するだけ。こうして改変された映像データを特定のプレイヤーで再生すると,動き補償の基準となるフ

    Datamoshing - 映像の乱れの技法 - Radium Software
    yuiseki
    yuiseki 2010/06/21
  • JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software

    僕は JavaScript が好きだ。できるだけ多くのことを JavaScript で済ませてしまいたいと考えている。 以前は JavaScript では絵や音を扱うことができないという点がボトルネックになって,応用の幅を狭めていた。これが最近になると, Canvas 要素のおかげで絵を扱うことができるようになったり, Flash を代行役にすることによって音を出せるようになったりと,いろいろ状況が変わってきている。 そこで今回は,以前から機会があれば触ってみたいと思っていた Processing.js と SoundManager 2 を使って, JavaScript によるオーディオ&ビジュアルプログラミングに挑戦してみた。 Processing.js とは Processing.js は,ビジュアルデザイン向けプログラミング言語 Processing を模して作られた JavaScr

    JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software
    yuiseki
    yuiseki 2009/11/13
  • Impromptu: Scheme ベースのライブコーディング環境 - Radium Software

    Impromptu は Andrew Sorensen 氏によって作成されたライブコーディング環境だ。言語としては Scheme をベースとしており,それに映像や音楽を扱うためのライブラリ群と,リアルタイムにコードを記述し実行するためのエディット環境が統合されている。 実際に触ってみると,関数型言語とライブコーディングの親和性が,なかなか良いことが分かってくる。エディターの出来も良く,リアルタイムにコードを書きつつ実行するという作業をスムースに流れるようサポートしてくれる。 上のビデオでは, Impromptu のサンプルプログラムを参考にしつつ,簡単なアルゴリズム作曲のコードを組んでみた。ちなみに,ビデオ中に登場する "my:play" 等の関数は,作業を簡略化するためにあらかじめ用意しておいた関数なので悪しからず。 いくつかのデメリットもあるものの(最大の弱点は Mac OS 版しか存

    Impromptu: Scheme ベースのライブコーディング環境 - Radium Software
    yuiseki
    yuiseki 2009/10/29
  • プログラミング言語の特徴を視覚的に比較する - Radium Software

    The Computer Language Benchmarks Game のページでは,計 32 個のプログラミング言語処理系のベンチマークを集計して,そのパフォーマンスを比較している。そして最近,このページに新たなプロットが追加された。単純にパフォーマンスだけの比較を行うのではなく,パフォーマンスと「コードの長さ」を関連付けて比較を行うというものだ。上はそのプロットから一部を転載したもので,全体はこのページで見ることができる。 このプロットでは,縦軸が処理時間(上にいくほど遅い),横軸がコードの長さ(右にいくほど冗長)に割り当てられている。このようなプロットを行うと,多くの言語は3通りの偏り方を見せる ― 左上(簡潔だけど遅い)に偏る「スクリプト系」,右下(速いけど冗長)に偏る「システム系」,そして,左下(速くて簡潔!)に偏る「理想系」だ。ちなみに,右上(遅くて冗長)に偏る言語は無い…

    プログラミング言語の特徴を視覚的に比較する - Radium Software
    yuiseki
    yuiseki 2009/10/04
  • 抽象化されたゲームたち - Radium Software

    The Linear RPG Sophie Houlden の The Linear RPG は,最低限の構成要素によって構築された RPG だ。プレイヤーは直線の上を進むか戻るかすることができる。直線上を移動していると,勝手に戦闘が発生したり,勝手に経験値を得たりする。直線の各所に配置されている点は「町」で,跨ぐことによって体力を回復することができる。ストーリーは背景で勝手に流れているので,読んだり読まなかったりすればいい。 このゲームは,いわゆる「一道な RPG」の抽象的な表現とみることができる。非常にシンプルな内容であるにもかかわらず,それなりの達成感を得ることができるとの意見も存在する。 Progress Quest Eric Fredricksen の Progress Quest は,プレイヤーのステータス情報のみによって構成された RPG だ。プレイヤーはキャラクター作成を

    抽象化されたゲームたち - Radium Software
    yuiseki
    yuiseki 2009/09/17
  • Arduino と Processing の連携 - Radium Software

    Arduino スケッチの動作確認を行うには,シリアルモニターを使うのが最も一般的な方法だと思う。シリアルモニターを使えば数値や文字列などの情報を, Arduino から PC へと手軽に出力することができる。 ただ,時には単なる数値や文字列ではなくて,グラフなどのように視覚化されたかたちで確認を行いたい場合もある。また,シリアルモニターは情報がスクロールして流れてしまうため,リアルタイム性の高い情報を扱うにも不向きだ。 そんなときに便利なのが Processing だ。 Processing の Serial ライブラリを使えば, Arduino のシリアル出力を簡単にキャプチャーすることができる。 Arduino からは常に情報を吐き出し続けるようにしておいて, Processing 側では serialEvent を使ってその情報をキャプチャーしつつ,適当に視覚化を行えばいい。チュー

    Arduino と Processing の連携 - Radium Software
    yuiseki
    yuiseki 2009/09/10
  • SynthGlove ハードウェア実装 - Radium Software

    ひとまずハードウェア側の実装は完了した。これまで別個に検証を進めていた,指の曲げセンサーの取得,キーパッドの取得,加速度センサー,等々を一枚の基板の上にまとめてある。キーパッドの取得にはシフトレジスタ(写真手前に見えるIC)を介すことにより,I/Oピンの節約をはかっている。写真奥に見えるDIPスイッチは,各種入力の有効・無効を操作するもので,DAW上でのMIDIアサインを行う際に余計な入力をカットする目的で使う。青色LEDは単なる演出用で,具体的な使い方は考えずに,とりあえず実装しておいた。 出力インターフェースには無難にMIDIを使用している。デバイスの特徴から考えると,できれば XBee を使ってワイヤレス化を実現したいところではあるのだけれど,そうするとまた追加でいくつかの検証を行わなければならなくなってしまうため,今回は見送ることにした。 今後はソフトウェア側の格的な実装に着手す

    SynthGlove ハードウェア実装 - Radium Software
    yuiseki
    yuiseki 2009/09/07
  • 3軸加速度センサーモジュール - Radium Software

    秋月電子 - 3軸加速度センサモジュール KXM52-1050 KXM52-1050 は Kionix 社製の3軸加速度センサーだ。秋月電子では,このチップをモジュール化して販売している。動作に必要となるコンデンサ類は基板の背面に実装されており,ピンのピッチも一般的な 2.54mm に変換されている。値段もお手頃(千円で販売)で,電子工作では非常に使いやすいモジュールとなっている。 Arduino と組み合わせて使うには,まずスペックシートの解説に従って電源とグランドを接続する。あとは,モジュールの出力をアナログ入力ピンへ接続し,その値を読み取るだけでよい。 水平に配置した状態では,Z軸方向に重力加速度が検出される。 これを任意の方向に傾けると,傾きに応じて重力加速度のかかる軸が変化する。 この変化を使用して,デバイスの姿勢を求めることができる。ただ,加速度には重力加速度だけでなく,デバイ

    3軸加速度センサーモジュール - Radium Software
    yuiseki
    yuiseki 2009/08/19
  • Arduino Shield: ミーティングコスト時計 - Radium Software

    「シールド」とは Arduino では「シールド」と呼ばれる類の拡張基板が用いられることがある。「シールド」とは Arduino のピンソケットと同じ位置にピンを持つ基板のことで,これを Arduino に挿して接続することによって, Arduino の機能を様々に拡張することができる。 スイッチサイエンスでは,このシールドを自作するための「バニラ」シールドを販売している。これは,シールドの規格に合わせて設計されたユニバーサル基板の一種だ。これを使えば,様々な拡張回路を簡単に自作することができる。 この「シールドの自作」が,実際にやってみると独特の面白さを持っていることが分かる。限られたスペースの中に機能を詰め込むための工夫が面白い,というのがまずあるし,シールドを入れ換えるだけで Arduino の機能を様々に変化させることができる,という点も面白い。まるでファミコンのカセットを入れ換え

    Arduino Shield: ミーティングコスト時計 - Radium Software
    yuiseki
    yuiseki 2009/08/14
  • Linkman 基板用トグルスイッチ - Radium Software

    これも最近購入した中のお気に入りパーツ。基板に直接取り付けるタイプのトグルスイッチだ。シンプルなデザインながら,メタリックな質感が出ていてかっこいい。一般的なトグルスイッチがパネルに固定するタイプなのに対して,これは基板にハンダ付けで固定するようになっている。ユニバーサル基板をベースにして工作を行いたいときには便利なパーツだと思う。 トグルスイッチをバチバチと切り替え操作するのは,案外と気持ちがいい。単なるスイッチングだけでなく,普段はあまりトグルを使わないような操作にも割り当ててみると,何か新しい発見があるかもしれない。 商品情報はこちら。マルツの通販ではここ,秋月の通販ではここで入手できる。マルツの店頭でも入手できるが,秋月の店頭では見つけることができなかった。

    Linkman 基板用トグルスイッチ - Radium Software
    yuiseki
    yuiseki 2009/08/05