CentOS6.6 にNeo4jをインストールする
環境構築
Javaのアップデート
まずJava(TM) 8 にアップデートするためにここからLinux X64用のrpmファイルをダウンロードします
その後ターミナルを使ってインストール
$ sudo yum localinstall jdk-8u40-linux-x64.rpm
Javaのバージョンは以下のコマンドで確認可
$ java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
また、Javaのバージョンを変えたい場合は
# sudo alternatives --config java 3 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java *+ 3 /usr/java/jdk1.8.0_111/jre/bin/java
で変更できる
しかし、JAVA_HOMEの設定が過去のバージョンのままの場合もあるので
# vim /etc/profile.d/jdk.sh export JAVA_HOME=/usr/java/default $ source /etc/profile.d/jdk.sh
をしてちゃんとパスが通るようにしておく(PCを再起動したらまたsourceしなおす)
Neo4jのインストール
Neo4jのサイトでLinux用のtarファイルをダウンロードし、適当な場所に解凍
Neo4jの起動
cd Neo4jのホーム # bin/neo4j start Starting Neo4j. Started neo4j (pid 5034). By default, it is available at http://localhost:7474/ There may be a short delay until the server is ready. See /home/Tamura/Workspace/neo4j-community-3.0.6/logs/neo4j.log for current status.
Neo4jの終了
$ bin/neo4j stop
Neo4jのテスト
ブラウザから、
localhost:7474
に接続し、username: neo4j, password: neo4j/neo4j としてサーバーにログインします
接続できない場合は、
$ sudo vim conf/neo4j.conf
で、以下を追記(コメントアウトを外す)するとちゃんと接続できた
dbms.connector.http.address=0.0.0.0:7474 dbms.connector.https.address=localhost:7473 dbms.logs.http.enabled=true bms.security.auth_enabled=false
logの確認
$ vim logs/neo4j.log
Photonを使ってUnityで簡単なMMOアプリを作ってみる(下準備編)
サーバーとかほとんど触ったことない自分ですが、Unityで軽いMMO的なアプリを作りたくなったので挑戦したいと思います!
自分が自由に使えるサーバーは研究室にある1台のPC(CentOS)のみなので、流行りのクラウドサーバーを使ってみます
Photonに登録
まず、Photonとはさまざまなゲーム開発環境で使えるネットワークエンジンです
何より驚くべきは、基本料金が無料のところ
Photon realtimeなら同時接続可能なユーザー数が20人までならずっと無料で使えちゃう!!いったいどうなってるんだ。。
それではここからPhotonの公式サイトにとんで、メールアドレスを登録し届いたメールからパスワードを設定しましょう
Unityの設定
Photon Unity Networking Free のインポート
[AssetStore]→[Photonと検索]→[Photon Unity Networking Freeをインポート]
有料版ではなく無償版を選択しましょう
設定
[Window]→[Photon Unity Networking]→[PUN Wizard] を選択
そして[Setup Project]を選択し、AppIDに、photonのサイトのダッシュボードにあるアプリケーションIDを登録します
続いて[Setting]でregionを"jp"に変更
検証
[Photon Unity Networking]→[Demos]→[DemoBoxes]→[DemoBoxes-Scene]をダブルクリック
するとデモシーンが開くのでUnity上で実行します
上のようなゲーム画面が出力され、クリックしたらボックスが落ちてくればPhotonへの接続ができています!
非常に簡単!すげー!
実行環境のPCにアプリをビルドして複数同時接続が可能なことを確認するのだけでも楽しい。笑
これで設定完了です
次回は、実際にゲームを作っていきましょう!
参考記事はこちら
忘れがちで便利なコマンド(grepやlogの出力)
grep
ファイル名を指定して指定したフォルダ以下すべてを検索する
$ grep -e ファイル名 ./
make
makeでerrorになってしまう時にlogへ出力する
$ make 2>&1 | tee make.log
makeしたときにどんなコマンドが叩かれているか出す
$ make -n
install オプションをつけるとどこにinstallされるかもわかる
$ make -n install
Macで5ボタンマウスを使って”進む””戻る”をかんたんにやる
Windowsだとすんなり”進む戻る”ボタンが適応されるんだけど、なぜかMacだとすんなりいかない。。
そこで調べたらKarabinerを使えば解決しました!
Karabinerほんと使えるなー。これでますますOS Sierraにできなくなっちゃった 笑
1. Karabinerをインストール
2. Preferences -> Misc & Uninstall -> Open private.xml を選択
3. private.xml をなんかのエディタで開いて下のコードを上書き
<?xml version="1.0"?> <root> <list> <item> <name>MouseButton 4 and 5</name> <identifier>remap.mouse_button4_5</identifier> <autogen> --PointingButtonToKey-- PointingButton::BUTTON4, KeyCode::JIS_BRACKET_LEFT, ModifierFlag::COMMAND_L </autogen> <autogen> --PointingButtonToKey-- PointingButton::BUTTON5, KeyCode::JIS_BRACKET_RIGHT, ModifierFlag::COMMAND_L </autogen> </item> </list> </root>
もとに書いてある3行程度のコードを消して挿入するように
4. Change Key -> Reload XML を選択
5. Change Key -> MouseButton 4 and 5 にチェックを入れる
Daydreamまとめ(新規VR開発者向けに他VRと比較)
日本時間で2016年10月5日の朝1時頃にGoogle I/O 2016がありました
僕はDaydreamが目玉かと思ってたんですが、意外にもGoogleHomeやら別の製品の発表が多くてびっくり!
でも僕はやっぱりDaydreamが一番興味があるので僕なりにまとめていきます。今後の開発も見据えて
Daydreamとは
そもそもDaydreamってなんだろう?
意外と答えづらいですよね。多少語弊があるかもしれませんが簡単に説明します
DaydreamはGoogleが提供するVR向けのプラットフォームです
ここで言うプラットフォームとは → ヘッドセット、コントローラ、開発環境、VRホーム画面など(コンテンツは他の会社も作る)
つまり、「Daydreamを試したい!」って人は、
1. Daydreamが要求する水準を満たす高性能Android端末(現在はPixelのみ。あとはまだ未発売のPHAB2 ProとかGalaxy Note 7あたりも要求を満たすと思われる)
2. Daydream View(ヘッドセット)
3. Daydream用コントローラ
の3つを揃える必要があります
ハードウェア
まずはヘッドセットとコントローラ
こんな見た目らしい
使うときはスマートフォンを挟んで使う(画像ではPixel)
そしてコントローラ
このコントローラが割と優れもので、いろいろ値がとれるっぽい(多分ジャイロかな?さすがにヘッドセットからの相対座標は出せないかと)
それにちゃんとボタンとタッチパッドもついてるし、収納できるの割と便利
ヘッドセットの値段は79ドル(8,000円ちょっと)。11月発売らしい
ソフトウェア
これはまだ謎が多い。僕の想像によりますが、おそらく新しいAndroidOSにVRモード(アプリかもしれない)が追加されるて、それを使うとVR用のホーム画面がスマートフォーンに表示されるんじゃないかな
そしてアプリはGooglePlayでダウンロードして遊ぶ
多分こんな感じになると予想。GearVRと同じ感じかね
他VRと比較(新規開発者向け)
とりあえずVR系のアプリを作ってみたいけど、どれ向けに作れば良いか分からない!
という方多いんじゃないでしょうか?かくいう僕もその一人です
なんたって今は、GearVR、Daydream、Cardboard向け、PC向け(Oculus、Viveなど)と選択肢は様々です
なのでまずはこれらを比較するために、それぞれの特徴を簡単に表にまとめてみました!
(注)僕の予想がかなり入ってます
機種 | 体験しやすさ | VRの品質 | コントローラ | アプリ数 | 価格 | これからの普及 (予想) |
---|---|---|---|---|---|---|
GearVR | ◯ | ◯ | 無 | ◎ | 中 | ◯ |
Daydream (予想) |
◎ | ◯ー | 有 | ◎ | 中 | ◎ |
Cardboard向け | ◎ | △ | 無 | ◯ | 低 | △ |
PC向け | △ | ◎ | 有 | ◎ | 高 | ◎ |
ここでどれを選ぶか考えるためにいままでの技術を振り返ってみます
ガラケーの時代から日常生活では、多機能で仕事ができる端末+携帯できる端末、この2つが広く利用されています。VRが出てきたからといってこの形はしばらく変わらないと思います
もちろんタブレットやスマートウォッチなども最近見ますが、PC→タブレット、携帯端末→スマートウォッチと姿を変えようとしているだけで必要とされるのは本質的には上の2つです
これをVRに当てはめれば、多機能なPC向けVRと携帯しやすく普及が見込めるVR、この2つが今後のVR界で重要な役割を担っていくのではないかと思います
じゃあ、携帯しやすく普及が見込めるVRって何?
これはDaydreamかGearVRが今のところ濃厚です。ただ、GearVRはGalaxyにしか対応していないです。特化している分性能は高いのですが、普及という意味では×
それに対して、メーカーを選ばないDaydreamはより普及しやすいです
VR品質に関しても時間の問題で、スマートフォンのトラッキング技術の向上や、アプリの最適化が進められれば進められるほどGearVRとDaydreamの性能差は埋まっていくでしょう
また、Daydreamにはコントローラがあるという点も非常に大きいです。ゲームをする上でコントローラはかかせません
(僕は足用コントローラも欲しいですが、それはしばらく待ちましょう)
結論
なので、今からVR用アプリを作りたい方には、
1. Daydream向け
2. PC向け (OculusやVive)
このどちらかで開発することをおすすめします!!
今後の記事ではDaydream用アプリの作成方法を紹介していくつもりです
参考
Mellanox純正ドライバをリビルドしてinsmodする手順
CentOS 6.6の環境でテストしています
Redhat系かDebian, Ubuntu系かでちょっと変わるので注意してください
ドライバのダウンロード
ここから自分の環境にあったものをダウンロード
中身を解凍
ダウンロードしたところにmlnx-en*.tgzがあると思うのでそれを解凍します
$ tar -zxvf mlnx-en-*.tgz
すると同じディレクトリに同じ名前のフォルダができます
RPMSを解凍
$ cd mlnx-en* $ cd SRPMS $ rpm -ivh mlnx-en*.src.rpm
これでrpmファイルが解凍されます
解凍されたものはホームディレクトリの下のrpmbuildディレクトリ下にあります
どこに展開されるかは
$ rpm --showrc | grep _topdir
で確認できます
ドライバのリビルド
まずはじめに*.koファイルがどこにできるかを調べます(そこらへんで作業すれば良い)
$ cd BUILD $ find . * | grep .ko /mlnx-en-3.3/obj/default/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko
つまりmlx4のドライバをいじりたいなら
$ cd mlnx-en-3.3/obj/default/drivers/net/ethernet/mellanox/mlx4/
でいろいろした後に
$ cd ../../../../../ $ make
makeすれば良い
ドライバのinsmod
これは下のようなinstall.shを自分は作った
#!/bin/sh MODULE=mlx4_en DEVICE=mlx4 insmod mlx4_core.ko insmod -f ./${MODULE}.ko MAJOR=`cat /proc/devices | awk "\\$2==\"${DEVICE}\" {print \\$1}"` rm -f /dev/${DEVICE} mknod /dev/${DEVICE} c ${MAJOR} 0
uninstall.shももちろん用意しておくと便利
#!/bin/sh MODULE=mlx4_en DEVICE=mlx4 rmmod ${MODULE} rm -f /dev/${DEVICE} rmmod mlx4_core.ko
あとはこれらをまわせば良い
追記
install.shとuninstall.shがいけてなかったので、
$ sudo insmod mlx4_en.ko $ sudo rammed mlx4_en.ko
を使うことにした