Windows10環境でRe:VIEWの執筆環境を構築する方法・改
以前、Windows10環境でRe:VIEWの執筆環境を構築する方法 という記事を書きましたが、Bash on Windowsを使っており、いささか面倒くさい方法でした。
しかも、ファイルシステムがWindowsとUbuntuで別物になっており、互いのファイルのやりとりが不便でした。
今回、直接RubyをWindowsにインストールする方法でRe:VIEWの執筆環境を構築できたのでメモとして残しておきます。
Rubyのインストール
RubyInstaller2を使います。
少し前までRubyInstallerとRubyInstaller2は別々に存在していたんですが、RubyInstallerの更新が停滞して、代わりにRubyInstaller2が正式なRunyInstallerに昇格したそうです。
ややこしいですね。
とりあえず最新版をDLしてインストールします。
Rubyのインストール後、MYSY2のインストール設定画面(DOS窓)が開いて、1~3までの選択肢がでるので、1~3まで順番に実行していきます。
RubyのインストールとMSYS2の設定については、下記のサイトに詳しく書いてあります。
Re:VIEWのインストール
Rubyをインストールすると、スタートメニューにStart command prompt with Rubyというアイコンが追加されるので、それを開きます。
そのコマンドプロンプト上で、
> gem install review
を実行するとRe:VIEWがインストールされます。
Texのインストール
下記のサイトからWindows用のTex Live 2017のZIPをDLします。
TeX/Install - 松浦高志のWikiページ
ZIPを解凍したフォルダの中のinstall-tl-windows.batを実行するとインストールされます。
インストールには結構な時間がかかります、気長に待ちましょう。
※ Windows環境では、TeXインストーラ 3 が有名ですが、2017年10月8日現在、Windows 10のCreatorsUpdate後の環境ではインストーラが起動せず、インストールできませんでした。
まとめ
前回のBoW環境とは違い、Windows環境で動作するRe:VIEWの執筆環境が構築できたおかげで、atomエディタを使えたり、ファイルのやり取りがGUIでできたりするので、執筆が捗りそうです。
告知
2017年10月22日(日)の技術書典3とは別に、2017年11月12日(日)のデジゲー博でも技術同人誌を出します。
あのタノシマスのアカとブルーのエンジニア「藤岡 裕吾」氏が執筆予定の、アカとブルーで実際に使ったUnityに関する技術の同人誌に、おまけで自分もちょっとした技術記事を書かせて頂けることになりました。
よろしくお願いします!
Windows10環境でRe:VIEWの執筆環境を構築する方法
(2017/10/08)新たにBash on Windowsを使わない方法についての記事を書きました。
kaiware007.hatenablog.jp
10月22日に技術書典3が開催されます。
自分、今回初めて出展します(というか同人誌即売会サークル参加自体初)
サークルのサイトはこちら
主にUnityを使用したグラフィックスプログラミング関連の本になる予定です。
Unityはゲームエンジン故に、Unity関連の技術書を見てもゲームの作り方的な所を解説している物がほとんどで、グラフィックス周りの解説をしている本は殆ど見たことがありません。
そこで、グラフィックス周りを重点的に書いたUnity本があっても良いのではないか?という疑問から今回書いてみることになりました。
さて、技術同人誌を書くにあたり執筆環境を用意する必要があります。
最近は、Re:VIEWというPDFやEPUB等色々な形式で書き出せる便利なツールがあるので、これを使うことになりました。
しかし、このRe:VIEW、Mac環境では簡単に構築できるらしいのですが、Windows環境の場合、以前はCygwinを入れたり、非常に面倒くさかったらしいです。
それでも、今回、ComputeShaderやHLSLを使ったグラフィックスプログラミングの解説をするため、Windows環境のほうでなんとかRe:VIEWの執筆環境を構築してみました。
なお、この構築方法は、Windows 10のCreators Update適応後の環境について説明しています。
アカとブルー配信開始!
8月10日に、株式会社タノシマスからiOS/Androidのシューティングゲーム「アカとブルー」が配信されました。
tanoshimasu.com
パッと見弾幕で難しそうに見えますが、
- 割りと頻繁に撃てるBOMB(弾消し貫通弾)で弾幕を切り裂いて意外となんとかなる
- 画面を埋め尽くすほどアイテムがジャラジャラ出てそれだけで爽快
- 終始フルボイスで交わされる熱い掛け合い(それでいてプレイの邪魔にならない)
- 設定でオートボム有り
- コンティニューは無いけどステージごとに選択して始められる
- 主人公(50歳)の声はデレマスで有名な武内駿輔さん(19歳)
と、シューティングはちょっと苦手な人でも楽しめる感じになってます。
色んな意味で男の血と汗と涙と魂の結晶みたいなゲームになってますので、興味が出た方は是非!
続きを読むスティックPCを省スペースな展示用動画再生機にする方法
11月13日のデジゲー博2016で、知人の会社の出展のお手伝いで動画再生環境の設営をした。
お手伝いした「株式会社タノシマス」のスマホ用シューティングゲーム「アカとブルー」
tanoshimasu.com
とそのPV
https://youtu.be/o83B-dm5JA8youtu.be
当日は割とひっきりなしに体験版をプレイしてる人がいたようで、盛り上がった模様。
現地では、上のPV動画の再生用にスティックPCを使った。 その際、設営がなるべく楽になるように色々工夫をしたので、備忘録的な意味を込めてまとめることにする。
続きを読む自作全方向移動型ラジコン戦車完成までの記録 ~PWM制御系編~
自作全方向移動型ラジコン戦車完成までの記録の4回目。
今回はデジタル回路で出力電圧の調整を行うのによく使うPWM制御について書く。
前回はこちら
PWMとは
詳しくは知らないが、PWMとは、Pulse Width Modulationの略で、その名の通りパルスの幅を調整して擬似的に電圧を調整する方法。
一定時間内に電圧オンの状態と電圧オフを切り替えて、そのオンオフの割合で電圧の高さを擬似的に変える。
時間あたりの平均で見るとオンが70%だったら元の出力の70%程度になるみたいなイメージ。
ウィーヴィルは、脚の三輪をPWM制御しているが、他にも砲塔や前照灯二つと尾灯二つのLEDの制御でもPWMを使用している。
これだけの部品のPWM制御を全てラズパイだけでやらせるのは無理(PWM制御できるGPIOが足りない)なので、下記の16chPWM制御可能なボードを使用した。
このボードをラズパイと繋いでI2Cで通信して制御した。
そんでもってボードは下記のライブラリで制御した。
砲塔と各部LEDの制御
過去の日記でサーボとLEDの実装と制御について書いていたのでそちらを参照。
日記に書いてなかった問題点として、ゆっくり明滅させる等、常時PWM制御する処理を行うとボードが処理落ち(?)してサーボの動作速度が低下する。
LED制御は別のArduino基板とかに任せるようにできればよかったかもしれないが、前照灯のLEDがRGB三色を個別のLEDで表現しているため、LEDだけで前照灯(Rx2,Gx2,Bx2)、尾灯(Bx2)の計8ピンも必要になってしまい、ArduinoUnoではちょっと足りないっぽい。
Dueとかならいけたんだろうか?
過去の日記の日付が半年くらいまえで自分でも驚いている。
MFTの少し前に撮った動画はこちら。
ボードとラズパイの接続時の失敗
本番の数日前までしっかりLEDやサーボが動いていたのに、ある日突然まともに動かなくなって非常に焦った。
原因は、PCA9685ボードとラズパイの接触不良という単純なミスだった。
PCA9685ボードとラズパイには、フラットケーブル(またはリボンケーブル)を使用した。
フラットケーブルは、数本のケーブルを横に並べてくっつけてきしめんみたいにしたやつ。
今回初めて使ったが、1つの芯が複数の細い先を束ねているタイプの線だったため、ハンダ付けしても外力で線が少しづつちぎれて非常に接触不良が起きやすくなってしまった。
この手のケーブルは、コネクタでつなぐようにしたほうが良かったのだろうか?
一応ボードをつなぐ方はコネクタをつけたが、付け方が悪かったのかGND側が断線してしまった。
補強としてホットボンドを端子と線の周りにたっぷり塗りたくって固めた。
そもそもちゃんとボードを固定しておけば余計な力が加わることは無かったと思う。
今回外装はしっかりデザインしたが、中身は収まればいいや的な感じで固定とか全く考えていなかった。
次に何か作るときは内部の基板の固定などもちゃんと考えて設計したい。
過去記事
自作全方向移動型ラジコン戦車完成までの記録 ~脚部駆動系編~
自作全方向移動型ラジコン戦車完成までの記録、3回目は脚部駆動系について。
全方向移動を実現するために欠かせないモータと、MFTでも知ってる人と知らない人の温度差が激しかったオムニホイールについて書く。
オムニホイールの説明は前回書いたので今回は書かない。
前回はこちら
脚部のモーター、オムニホイールについて
全方向移動を実現するために、ギヤードモータとオムニホイールを使用している。
当初は、タミヤのハイパワーギヤーボックスHEと38mm径のオムニホイールを使用していたが、最終的にダイセンのロボサイトギヤモーター(1:60)と同じくダイセンのオムニホイール40mm径に変えた。
変えた理由は、組み立て時の問題だと思うが、ハイパワーギヤーボックスHEの回転速度の差が激しすぎてまっすぐ走れなかった為。
あるギアーボックスは、手で回すと空転するほどなめらかに回るのに、もう一方は硬くて回すのに力がいる感じ。
こちらがその当時の脚部の写真。
ギヤーボックスを板で挟み込む形でネジ止めしている。
コレのせいでゆがんでしまったのではないかと考えているが、結局原因は不明。
組み立て時にすでに歪んでいたかもしれない。
その点、ロボサイトギアモーターとオムニホイール40径は専用車軸セットで簡単に接続出来て個体差も生まれにくい。
下手にケチらずに最初からこっちを買えばよかった。
しかし、モーターとオムニホイールのサイズが変わった為、脚の内部のフレームを再設計することになってしまった。
再設計後の写真はこちら。
オムニホイールとモーターが大きくなったため、脚部の先端にオムニホイールが収まらず、内側にオムニホイールを配置する形になった。
このため、旋回時のトルクが落ちたが、脚と本体の接続部のゆるさからカカトが地面に擦れやすかった問題が解決されたのは怪我の功名。
モータードライバー回路
全方向移動を実現するためには、モーターの回転方向や回転速度を動的に切り替えられる必要がある。
今回はモーター制御にTA7291を使用した。
ラズパイのGPIOでTA7291を制御し、モーターの回転方向を切り替えられるようにした。
また、ラズパイからのPWM制御で回転速度も調整できるようにした。
モーターへの電力供給は、ラズパイのGPIOからではとても足りないので、単3電池4本で別途供給するようにしている。
三輪なのでモータードライバーも3つ必要になり、ユニバーサル基板に簡単な回路を設計した。
しかし汚い…。
ちなみに基板左側のコンデンサやトランジスタは砲塔のミサイル発射ギミック用のミニモーターの回路。
この回路にさらに、I2C制御基板へのケーブルも追加されるのだが、ケーブルの選定をミスってかなり接触不良に悩まされる事になる。
それはまた次の話。