川のブログ

川の適当気ままなブログです。 

自分の作品公開ページ

いままで作った作品のURLを載せます。

ページに載っていなかったり、情報が不足したり、作品がほぼ完成していないやつは表示してないです。

第27回高専プロコン

うぇーぶ! -Water Music Entertain-

予選資料

http://www.procon.gr.jp/wp-content/uploads//2017/03/27_app20025.pdf

パンフレット

http://www.procon.gr.jp/wp-content/uploads//2017/03/27_pmp20025.pdf

Unity インターハイ

kawakawa.hatenablog.com

Japan XR Hackathon 2017 in FUKUOKA

魚を乗り継いで竜宮城を目指すVR(Oculus Rift専用)ゲームを作りました。 え〜完成ができていないですが、VRを体験するぐらいにはできているのでURLを貼ります。

f:id:nakanaka1826:20170824234008p:plain

VR - Google ドライブ

LINEBOT

学校のbookハンティングで使うために作りました。

自分のために作ったので雑です。

それでもいい人は友達登録をしてみてください

友だち追加

仮想環境を立ててrails sまでの流れ

こんにちはかわです。

railsの環境構築をまとめていきたいと思います。

macで作業してます。

VagrantVirtualBox+CentOSの環境構築

VirtualBoxインストー

VirtualBoxは以下のリンクからダウンロードできます

Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle

ダウンロードしてきたら表示に従ってインストールを完了してください。

Vagrantインストー

Vagrantも以下のリンクからダウンロードできます。

www.vagrantup.com

こちらも指示に従ってインストールしてください。

仮想環境にCentOSをインストー

こちらからCentOSを探してください。app.vagrantup.com

CentOSの記述部分に従って行う。

$ vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'centos/7' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'centos/7'
default: URL: https://vagrantcloud.com/centos/7
==> default: Adding box 'centos/7' (v1706.02) for provider: virtualbox
default: Downloading: https://app.vagrantup.com/centos/boxes/7/versions/1706.02/providers/virtualbox.box
==> default: Successfully added box 'centos/7' (v1706.02) for 'virtualbox'!
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' is up to date...

vagrant upは途中までしか載せていませんが こんな感じでboxのインストールや起動をやってくれます この処理が終わったら「Vagrantfile」が作成されてます

この作業が終わったら仮想環境が動いてるかどうか確認します

$ vagrant status
default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

動いてそうなので接続してみます

$ vagrant ssh
[vagrant@localhost ~]$ 

接続できました。

仮想環境にrbenvをインストールし、Rubyをインストー

CentOSのシステムのバージョンをあげる

[vagrant@localhost ~]$ sudo yum update

gitをインストールする

[vagrant@localhost ~]$ sudo yum install git

rbenvに必要なパッケージをインストールする

[vagrant@localhost ~]$ sudo yum install gcc gcc-c++ openssl-devel readline-devel

rbenvをcloneする

[vagrant@localhost ~]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Cloning into '/home/vagrant/.rbenv'...
remote: Counting objects: 2620, done.
remote: Total 2620 (delta 0), reused 0 (delta 0), pack-reused 2620
Receiving objects: 100% (2620/2620), 483.39 KiB | 334.00 KiB/s, done.
Resolving deltas: 100% (1641/1641), done.

rbenvのPATHを通す

[vagrant@localhost ~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
[vagrant@localhost ~]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
[vagrant@localhost ~]$ source ~/.bash_profile

rbenvが使えることを確認するため、バージョンを確認

[vagrant@localhost ~]$ rbenv --version
rbenv 1.1.1-2-g615f844

ruby-buildプラグインをclone

->rbenvを使ってRubyをインストールするため

[vagrant@localhost ~]$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
remote: Counting objects: 7851, done.
remote: Total 7851 (delta 0), reused 0 (delta 0), pack-reused 7850
Receiving objects: 100% (7851/7851), 1.62 MiB | 548.00 KiB/s, done.
Resolving deltas: 100% (4830/4830), done.

インストール可能なRubyのバージョンを確認

[vagrant@localhost ~]$ rbenv install -l
Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
  1.8.6-p36
  1.8.6-p110
       ・
       ・
       ・
   2.4.0-dev
   2.4.0-preview1
   2.4.0-preview2
   2.4.0-preview3
   2.4.0-rc1
   2.4.0
   2.4.1
       ・
       ・
       ・

こんな感じでインストールが可能なRubyのバージョンを表示してくれます

今回は2.4.1をインストールします。

[vagrant@localhost ~]$ rbenv install 2.4.1
Downloading ruby-2.4.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
Installing ruby-2.4.1...
       ・
       ・
       ・

こんな感じで進んでいきます

これが終わったら Rubyをインストールしたバージョンに切り替えます

[vagrant@localhost ~]$ rbenv global 2.4.1
[vagrant@localhost ~]$ rbenv rehash

Rubyがインストールされているか確認します。

[vagrant@localhost ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

大丈夫そうですね

Rails+bundlerのインストー

[vagrant@localhost ~]$ gem install --no-ri --no-rdoc rails
[vagrant@localhost ~]$ gem install bundler

Railsがインストールできたかどうかの確認

[vagrant@localhost ~]$ rails -v
Rails 5.1.2

いい感じですね

mysqlのインストー

centOS7ではmariaDBがデフォルトになっているため、mysqlを入れると競合してエラーが出る

そのため削除します

[vagrant@localhost ~]$ sudo yum remove mariadb-libs

MySQL :: Download MySQL Yum Repository

上記のリンクのページから新しいバージョンのリンクをクリック

写真下部"No thanks, just start my download.“ のリンクをコピー f:id:nakanaka1826:20170707213820p:plain

コピーしたリンクを使いこんな感じでインストー

[vagrant@localhost ~]$ sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

こうすることで.rpmを直接インストールできる

mysqlの諸々をインストー

[vagrant@localhost ~]$ sudo yum install mysql-community-server

インストールされたかどうかを確認する

[vagrant@localhost ~]$ mysqld --version
mysqld  Ver 5.7.18 for Linux on x86_64 (MySQL Community Server (GPL))

こんな感じ

mysqlの起動、自動起動設定

[vagrant@localhost ~]$ sudo systemctl start mysqld.service
[vagrant@localhost ~]$ sudo systemctl enable mysqld.service

rootじゃないといけない的な感じで怒られたのでsudoつけてます

mysqlパスワードの変更

mysqlの起動をすると初期パスワードが生成される

[vagrant@localhost ~]$ cat /var/log/mysqld.log | grep password
2017-07-07T13:01:51.419332Z 1 [Note] A temporary password is generated for root@localhost: 8lNt_uD+;BL#

ここでは「8lNt_uD+;BL#」がパスワード

これを利用してパスワードを変更する。

[vagrant@localhost ~]$ mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: #生成されたパスワードを入力

The existing password for the user account root has expired. Please set a new password.

New password: #新しく設定するパスワードを入力(8文字以上かつ英大文字・小文字・数字・記号)

Re-enter new password: #再び入力
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: 

Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

ここでは何をしているのかというと

  • rootパスワード変更
  • 匿名ユーザーの削除
  • リモートホストからrootログイン禁止
  • テスト用データベース削除
  • ユーザー権限が保存されているテーブルをリロード

しています

mysqlにログイン

先程設定したパスワードで入れるか確認します [vagrant@localhost ~]$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye
[vagrant@localhost ~]$

入れましたね

mysql文字コードを変更

文字コードを「utf-8」に変更します

[vagrant@localhost ~]$ sudo vi /etc/my.cnf
character_set_server=utf8
skip-character-set-client-handshake

下の2行をファイルの最後の方に追加してください

設定を適用するため再起動

[vagrant@localhost ~]$ sudo systemctl restart mysqld.service

RailsMySQLを使うために必要なgemを使うためのパッケージのインストー

[vagrant@localhost ~]$ sudo yum install mysql-devel

Railsアプリケーションをcloneしてrails sまで

今回は新しくアプリケーションは作らず適当なアプリケーションをgithubからcloneしたいと思います。 ここからは一気に行きます。

[vagrant@localhost project]$ git clone #各々のプロジェクトのgithubのリンク
[vagrant@localhost project]$ cd #各々のプロジェクトパス
[vagrant@localhost upload_slides]$ bundle install
[vagrant@localhost upload_slides]$ rake db:create
[vagrant@localhost config]$ vi config/database.yml
#mysqlのパスワードを記述する
[vagrant@localhost upload_slides]$ rake db:migrate
[vagrant@localhost upload_slides]$ rails s -b 0.0.0.0

として

http://localhost:3000/

に接続できたら終了!!

接続できないときの対処法

teratail.com

このサイトを見れば一発解決です。

自分も参考にさせてもらいました。

参考サイト

いろいろ参考にさせてもらいました。

ありがとうございます!!

qiita.com

CentOS7にMySQL導入&初期設定をおこなう | vdeep

まとめ

こんな感じでどうですか?

rails sしたやつが表示するところが苦戦した感じですね。

とりあえずできたので良かった

Japan XR Hackathon 2017 in FUKUOKA

こんにちはかわです。

先日ハッカソンに参加したので参加記をまとめます。

2017 Japan XR Hackathon

参加した動機

以前コロプラのVR関係のイベントに選考落ちしてからVRを開発したいと思っていた。

調べたらたまたま福岡でもやるとのことだったので参加をしました。

事前にしたこと

このハッカソンがある1週間前に天神でこんなイベントがあってました。

fanfunfukuoka.com

ここで初めてVRを体験しました。

ハッカソンでは機材の持ち帰っての作業ができないとのことだったので手元に

こういうのを買って開発ができるようにしました。

これからのVRの勉強のためでもあり、遊ぶために買った感じ。

Unityの軽い復習をしてました。

1日目

会場が福岡工業大学だったので割りと早めの出発

会場についてから知ったんですが、参加者の多くが福岡工業大学の生徒だったので身内コンテストみたいな感じだった

一応テーマがあってf:id:nakanaka1826:20170629224431p:plain こんな感じだったんですが、別にテーマにそんな縛り的なのは無く、自由に開発していいよ的な感じでした。

会場には f:id:nakanaka1826:20170629224949p:plain の機材がおいてあった(確か数は違う)

チームビルディングでは自分と一緒に来たやつ(tntn)とSPAJAMでよく顔をあわせていた人(tksr)でチームを組みました。

使った機材は

を使いました。

会場内はこんな感じf:id:nakanaka1826:20170629225913j:plain 手前にimacがあるんですけど新型imacの部屋があって驚きでした

イデア出し

VRだけど座ってやりたいみたいな話から乗り物系になった

そこから発展して車椅子に乗ろうってことになって

最終的に魚を乗り継いで竜宮城を目指す的なアイデアに収束した

話の流れが唐突過ぎたので笑った

イデアシートf:id:nakanaka1826:20170629231550j:plain

自分の字の汚さが・・・

作品作り

  • tntn ・・・ プランナー
  • tksr ・・・ Oculus関係+魚AI
  • 自分 ・・・ それ以外(ステージ構成+3Dモデル収集+魚生成+その他)

という割り振り

初日はステージ作成と3Dモデル収集で一日が終わりました。

ステージ作成は初めてだったんで時間がかかりましたがなんとか・・・

流石に会場から久留米に帰るのはきついのでtntnの友人宅にお邪魔しました。

tntnはめっちゃゲームで遊んでいる中、魚生成関係の作業をしていたら寝落ちしてました・・・

2日目

起床

準備をして博多駅に向かってたらまさかの電車に乗り遅れる事態

まぁ普通に会場に間に合って作業開始

二日目はtitleシーン、game clearとoverのシーン作りがメインでしたね。

Oculusを触れるPCが一台しかなかったのでこれくらいしかできませんでした

発表会

tntnがスライドを作ってたのでスムーズにいきました。

デモができただけよかったです。 f:id:nakanaka1826:20170702110051j:plain

Hololenzって小さいのにwindows10が 載って、音声認識と空間内をオブジェクト?にできるのですごい

この機材があればアイデアの幅は格段に広がる

ただ高いですね😂

感想

Unityって便利ですね。

どんなデバイスでも一通り対応していて、簡単なデモなら楽に作れる

はじめてVRを作って遊びました

Unityで普通にゲームを作るのとは違い、UIとか酔わない工夫など様々な要素が追加されたので大変でした。

勉強してスマホVRを来年ぐらいまでに作りたいですね。

f:id:nakanaka1826:20170702110141j:plain