Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unityにmrubyを組み込んで抽選をしてみた

693 views

Published on

Unityにmrubyを組み込んで抽選をしてみた

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Unityにmrubyを組み込んで抽選をしてみた

  1. 1. Unityにmrubyを組み込んで 抽選をしてみた @kishima Kawasaki.rb#51 (2017/8/23)
  2. 2. 自己紹介 ● @kishima ● 組み込み系技術者 ● 一時期、海外を這いずり回っていましたが ● 最近はまた研究よりことをやっています ● TokyuRuby会議のスタッフをやってることがRubyとの数少 ない接点かも ●
  3. 3. 2017/7/29 TokyuRuby会議11が無事開催され ました 参加された方ありがとうございます 今回も多くの方に楽しく参加頂き感 謝であります
  4. 4. LT抽選 ● TokyuRuby会議では、参加者からランダムで抽選 して、当選した人にLTしてもらう、「抽選LT」があり ます ● その抽選アプリを少し勉強中のUnityで作りました。 Ruby要素が不足していたため、mrubyを組み込む ことにしました。
  5. 5. Unity ● 言わずと知れたゲーム開発環境 ● 箱庭的なゲームを実装してみたくなって、勉強をは じめました ● 配布されているAssetなどを組みわせると、3Dオブ ジェクトでもとても簡単に操ることができて、たしか にこれはすごい。 ● 基本、専用のゲームエディタ+C#スクリプトで動か してます ● 個人利用レベルなら無料で利用できる
  6. 6. やったこと ● 2015 Unity Advent Calendar の同志社大電気情 報研究会の下記の記事の内容をなぞった! ●  ★“mruby On Unity” @denx_doshisa ●    https://denx.jp/mruby-on-unity ● ● 以上!
  7. 7. ここで終わるのもあれなので補足 ● 手順 ● ①mrubyビルドに必要な物を揃える ●   Visual Studio, Ruby, bison ● ②mrubyをビルドして.libファイル作成 ●   必要なmrbgemsもあわせて ● ③mrubyをDLL化する – Unityから呼び出される関数もここでC++で定義して – エクスポートする(こういう作法は先人の知恵が無いと厳しい) ● ④mruby DLLをUnityにプラグインとして組み込む ● ⑤UnityのC#からDLLの関数を呼び出し、mrubyインスタンスを ●  作成。 Rubyのコードを与えて実行する
  8. 8. 動き方 C# script mruby インスタンス mrb_open()でmrubyインスタンス生成 mrb_load_string()でmrubyインスタンスで Rubyのコード(抽選対象者者リストと抽選ロ ジック)を読み込ませて実行させる デリゲートを関数ポインタとして渡す C#スクリプトは、結果のリストを関数ポインタ のコールバックとして受け取る 抽選結果に応じて、C#スクリプトを用 いて画面表示を行う
  9. 9. デモ
  10. 10. つまづきポイント UTF-8文字列を扱うときは、mrbconf.hのmrubyの”//#define MRB_UTF8_STRING”のコメントを外す Windowsで正規表現のmrbgems “mruby-onig-regexp”をビ ルドしようとして失敗 Cのコンパイル不要なものに変更 >Rubyで使える記法がすべて使えるわけではないので、そこも 注意。使っているmrbgemsに注意を払うこと

×