Unity入門 - 超簡易版ビリヤード -
今回は、超簡易版のビリヤードを作ってみました。
Unityの物理エンジンを使えば、とても簡単に作ることができました。
(といってもゲーム性はほぼないですが。)
今回のビリヤートの概要は
・スクリプトはC#で作成
・カメラは、打つボールから一定距離を保ち、ボールを追跡する
・左右の矢印キーで打つ方向を操作
・スペースキーで打つ強さを操作(長押しで強くなる)
WebPlayer
Unity画面のスクリーンショット
手順
1. 盤面(Plane)を作成
2. 打つボール(Sphere)を作成
3. 周囲の枠(Cube)を作成
作成した枠にRigidbodyを追加し剛体特性を組み込む
4. ボール(Sphere)を10個作成する。
作成したボールにRigidbodyを追加し剛体特性を組み込む
5. 2,3,4で作成したHierarchyにPhysicsMaterialを適用し、物理特性を組み込む
6. 2で作成した打つボールに割り当てるスクリプトを作成
using UnityEngine; using System.Collections; public class rigidscript : MonoBehaviour { float dgr = 0; int power = 0; // Use this for initialization void Start () { } // Update is called once per frame void Update () { Vector3 pos = transform.position; // スペースキー操作 if (Input.GetKeyDown(KeyCode.Space)) { power = 0; } if (Input.GetKey(KeyCode.Space)) { power++; } if (Input.GetKeyUp(KeyCode.Space)) { Vector3 v = Camera.main.transform.position; v -= pos; v *= power * -1; v.y = 0; transform.rigidbody.AddForce (v); } // 矢印キー操作 if (Input.GetKey(KeyCode.LeftArrow)) { Camera.main.transform.RotateAround (pos, new Vector3(0, 10, 0), -0.1f); dgr += 0.1f; } if (Input.GetKey(KeyCode.RightArrow)) { Camera.main.transform.RotateAround (pos, new Vector3(0, 10, 0), 0.1f); dgr -= 0.1f; } // カメラの新たな位置の計算と設定 float d = (2 * Mathf.PI) * (dgr / 360); float x = Mathf.Sin (d); float y = Mathf.Cos (d); x *= 10f; y *= 10f; pos.x += x; pos.y += 10f; pos.z -= y; Camera.main.transform.position = pos; } }
今回は、物理エンジンの使い方や、キーボード操作がメインで
得点、時間制限などゲーム性がほぼ実装されていないので、今後、機能追加していこうと思います!
Unity入門 - Unityとは -
最近、話題に上がっているUnityを勉強中なので
Unityについての投稿です!
Unityとは
Unityとは、ユニティ・テクノロジーズ社が提供するゲーム開発プラットフォーム。
Unityには無料版と、有料版がありますが、簡単な3Dゲームなら無料版でも十分作れます。
また、マルチプラットフォームに対応しており、開発したゲームは
Windows、Mac、Linux、iOS、Android
コンソールゲーム(PlayStaion、Vita、Xbox、Wii)
に展開可能です。
無料版と有料版の違い
有料版のみで可能な項目としては
・アプリケーションのスタート時、Unityスプラッシュスクリーン変更
・Mecanim機能の内高度な機能(IKなど)
・ネイティブプラグイン
・Navmesh、Pathfinding(キャラクターを地形の形状を考慮して移動を行わせる機能)
・LOD(Level of Detail)
・プロファイル、GPUプロファイリング
・高度なグラフィック機能
詳しくは「ライセンスのご案内」を参照
使える言語
JavaScript
ブラウザなどに用意されているJavaScriptとは文法などが微妙に異なり
独自の言語に近い形になっている。別名「UnityScript」と呼ばれたりする。
Boo
Pythonという欧米で広く使われている言語に似た言語。
Unityゲーム紹介の動画
インストールとライセンス登録について
上記のリンクから無料でダウンロード可能です。
Unityをインストールするにはライセンス登録が必要になりメールアドレス登録が必要です。
ソフトウェアを販売する「ストア」や、データ類を販売する「アセットストア」
にてアカウントが必要になります。
今回はUnityの概要についてでしたが、次回からは簡単なゲームを投稿してみようと思います!
PHPフレームワーク Laravel4 インストール
最近、話題のPHPフレームワークのLaravel4をCentOSに
インストールしてみた
Laravelの概要
Laravelは、ここ最近急激に人気を伸ばしてきた、欧米で人気のPHPフレームワーク。
特徴は、「コードが読みやすく、書きやすい」とのこと。
まあ実際にインストールして、触ってみるのが一番なので
今回はインストールまでの手順をまとめました。
Composer インストール
Composerとは、アプリケーションが必要とする外部ライブラリを
そのアプリケーション固有の状態で一元的に管理してくれるツール。
RubyでいうところのBundler的な位置づけ。
curl -sS https://getcomposer.org/installer | php
Project 作成
今回は分かりやすいように「laravel4」というプロジェクト名で作成
php composer.phar create-project laravel/laravel laravel4 --prefer-dist
実行したディレクトリ配下に「laravel4」が作成される
ls -la laravel4/ .gitattributes .gitignore CONTRIBUTING.md app artisan bootstrap composer.json composer.lock phpunit.xml public readme.md server.php vendor
とりあえず Git に追加
cd laravel4 git init git add . git commit -a -m 'laravel4 first commit'
Configの日本時間、日本語設定
vi app/config/app.php - 'timezone' => 'UTC', + 'timezone' => 'Asia/Tokyo', - 'locale' => 'en', + 'locale' => 'ja',
Apacheの設定
public以下の.htaccessがうまく動作しなかったので
.htaccessをコメントアウトして、apacheのconfに下記を追加
laravel4プロジェクトのルートディレクトリは仮で「/var/www」
<VirtualHost *> ServerName *** DocumentRoot /var/www/laravel4/public <Directory /var/www/laravel4/public> RewriteEngine on RewriteCond $1 !^(index\.php) RewriteRule ^(.*)$ /index.php/$1 [L] Require all granted Options All -Indexes </Directory> </VirtualHost>
Gitlab6.0のインストール
前回のRedmineに引き続き、Gitlab6.0をインストールしてみました。
Gitlabを使えば、GitHubのようなサービスを社内などのクローズドな環境で運用できます。
環境はこちら
OS | CentOS release 6.5 |
Ruby | 1.9.3-p484 |
Mysql | 5.1.72 |
Git | 1.8.5.2 |
Gitlab | 6.0 |
Mysqlにユーザー追加
CREATE USER gitlabhq@localhost IDENTIFIED BY '****'; CREATE DATABASE gitlabhq_production; GRANT ALL PRIVILEGES ON *.* TO 'gitlabhq'@'localhost' IDENTIFIED BY '****' WITH GRANT OPTION; FLUSH PRIVILEGES;
Gitユーザーを追加
adduser --comment 'GitLab' --create-home --home-dir /home/git git mkdir /home/git chown git:git /home/git sudo -u git -H mkdir /home/git/.ssh sudo -u git -H touch /home/git/.ssh/authorized_keys sudo -u git -H chmod 700 /home/git/.ssh sudo -u git -H chmod 600 /home/git/.ssh/authorized_keys sudo -u git -H git config --global user.name "GitLab" sudo -u git -H git config --global user.email "gitlab@localhost"
Gitlab Shell のセットアップ
cd /home/git rbenv local 1.9.3-p484 sudo -u git -H git clone https://github.com/gitlabhq/gitlab-shell.git cd /home/git/gitlab-shell sudo -u git -H git checkout -b 1.7.0 v1.7.0 cp -p config.yml.example config.yml vi config.yml ============ gitlab_url など適時修正 ============ sudo -u git -H ./bin/install
Gitlab のセットアップ
cd /home/git sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab cd /home/git/gitlab sudo -u git -H git checkout 6-0-stable sudo -u git -H mkdir /home/git/gitlab-satellites sudo -u git -H mkdir tmp/pids/ sudo -u git -H mkdir tmp/sockets/ sudo -u git -H mkdir public/uploads cp -p config/gitlab.yml.example config/gitlab.yml cp -p config/unicorn.rb.example config/unicorn.rb cp -p config/database.yml.mysql config/database.yml vi config/gitlab.yml vi config/unicorn.rb vi config/database.yml ============ url, port, database など適宜修正 ============
GEMで各種インストール
cd /home/git/gitlab sudo -u git -H bundle install --deployment --without development test postgres aws --path vendor/bundler
テーブル作成
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production 初期ユーザー ============ login.........admin@local.host password......5iveL!fe ============
起動スクリプトのセットアップ
curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlabhq/6-0-stable/lib/support/init.d/gitlab chmod +x /etc/init.d/gitlab
起動
/etc/init.d/gitlab start
Gitlabの確認
cd /home/git/gitlab sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production --trace
以上です。
Redmine2.4.1のインストール
Redmineとは、Ruby on Railsで開発されている、Webベースのプロジェクト管理ソフトウェア。
プロジェクトのタスク管理、進捗管理、情報共有が行えて
Gitなどのバージョン管理システムとの連携もできます。
環境はこちら
OS | CentOS release 6.5 |
Ruby | 2.0.0-p353 |
Mysql | 5.1.72 |
Redmine | 2.4.1 |
MysqlにRemine用のユーザーを追加
create database db_redmine default character set utf8; grant all on db_redmine.* to redmine@localhost identified by '****'; flush privileges;
ソースを取得
cd /usr/local/src wget http://www.redmine.org/releases/redmine-2.4.1.tar.gz tar zxvf redmine-2.4.1.tar.gz -C /usr/local/
設定ファイルの変更
cd /usr/local cp -p config/database.yml.example config/database.yml vi config/database.yml ======= database: db_redmine username: redmine password: **** ======= cp -p config/configuration.yml.example config/configuration.yml vi config/configuration.yml ======= ※ MAILの設定など適時修正 ======= vim Gemfile ======= gem "passenger" ======= ※ passenger standalone で起動したかったので追加
GEMで各種インストール
rbenv local 2.0.0-p353 bundle install --without development test --path vendor/bundler
Webistranoのインストール
WebistranoはCapistranoのWebフロントエンドで
ブラウザからCapistranoを実行できます。
主にこののような使い方ができます。
以下にインストールからブラウザでアクセスするまでを記載します。
Webistranoダウンロード
// git から clone git clone git://github.com/peritor/webistrano.git // 設定ファイル cd webistrano rbenv local 1.8.7-p374 cp -p config/webistrano_config.rb.sample config/webistrano_config.rb cp -p config/database.yml.sample config/database.yml vi config/database.yml ================== database, username, password, socket を適宜修正 ================== // 特定のページでエラーになるので、deployer.rbを一部修正 vi lib/webistrano/deployer.rb ================== # 25行目 # if(@deployment.task && !@deployment.new_record?) if(!@deployment[:task].nil? && !@deployment.new_record?) ==================
Gemfileを修正
vi Gemfile ================== #gem "rake" gem "rake", "0.8.7" ==================
※最新のrakeだとrakeコマンドが動作しない。dbのmigrateでこけました・・・
gem で各種インストール
gem install bundler -v 1.0.10 bundle install --path vendor/bundler
DB のマイグレーション
// database追加 create database webistrano_development; create database webistrano_test; create database webistrano_production; // maigrate RAILS_ENV=development bundle exec rake db:migrate RAILS_ENV=test bundle exec rake db:migrate RAILS_ENV=production bundle exec rake db:migrate
webistrano 起動
ruby script/server -p 3000 -e production
iptableで3000番ポートを開放してあげて、下記URLをブラウザからアクセス
http://[hostname or ipaddr]:3000
オライリーの入門viを読んでみた
久しぶりのブログ更新。
僕は普段、PHPやPerlなどサーバサイドの言語をコーディングするときは
viを常用しています。
で、HTMLやJSなどフロントサイドの言語は、サクラエディタを使ってます。
ガラケーのサービスを運用しているときに、「i絵文字」(懐かしいなぁ)
とか使っていて、viだと何かと融通がきかなかったので。
viを使って3年くらい経つのですが、いまさらですがオライリーの入門vi
を読んでみました。
構成はこんな感じ
1章 テキストエディタ 1.1 ファイルのオープンとクローズ 1.2 編集をセーブせずに終了するには 2章 基本的な編集作業 2.1 viのコマンド 2.2 カーソルの動かし方 2.3 簡単な編集 2.4 テキストを入力するいろいろな方法 2.5 Jによる2行の連結 2.6 viの基本コマンドのまとめ 3章 素早くジャンプする方法 3.1 画面単位でのジャンプ 3.2 テキストブロック単位でのジャンプ 3.3 検索によるジャンプ 3.4 行番号によるジャンプ 3.5 viの移動コマンドのまとめ 4章 viの中級コマンド 4.1 コマンドの組み合わせ 4.2 viの起動オプション 4.3 バッファの活用 4.4 位置のマーク 4.5 もっと高度な編集作業について 4.6 viのバッファ/マーク関連コマンドのまとめ 5章 exエディタ 5.1 exコマンド 5.2 exによる編集 5.3 ファイルのセーブと終了 5.4 別のファイルの読み込み 5.5 複数ファイルの編集 6章 一括置換 6.1 置換の確認 6.2 文脈依存置換 6.3 パターンマッチングルール 6.4 パターンマッチングの実例 6.5 パターンマッチングの完全マスター 7章 viの高度な使い方 7.1 viのカスタマイズ 7.2 UNIXコマンドの実行 7.3 キー入力節約用コマンド 7.4 exスクリプトの使い方 7.5 ソースコードの編集 8章 vim - vi Improved 8.1 作者と歴史 8.2 おもなコマンドライン引数 8.3 オンラインヘルプとその他のドキュメント 8.4 初期化 8.5 マルチウィンドウ編集 8.6 GUIインターフェイス 8.7 拡張正規表現 8.8 改善された編集機能 8.9 プログラミング支援機能 8.10 ユニークな特色 8.11 対応するオペレーティングシステムとソースコード
1~5章はおさらい的な感じですらすら読めて
こういうコマンドもあったんだと、新たな発見も多々ありました。
個人的には8章のvimに関しての内容が一番面白かったです。
これを期に vimrc を綺麗に整えようと思います。
たまに使うけど忘れがちなコマンドをメモ。
画面分割
:sp 画面を上下に分割 :vsp 画面を左右に分割 Ctrl-w 画面間の移動 Ctrl-w k 上の画面に移動 Ctrl-w j 下の画面に移動 Ctrl-w l 右の画面に移動 Ctrl-w h 左の画面に移動 Ctrl-w + カーソルのある画面を一行分大きくする Ctrl-w + カーソルのある画面を一行分小さくする Ctrl-w = 画面のサイズを同じにする