Unity Timeline
PlayableDirectorを拡張するという山を登っております。
そしてUnityへ
ここ数年PHPで開発をしていた私ですが、色々あってUnityを使うことになりました。
Unityの機能にTimelineというものがあるのですが、
そちらを使って色々作っていくにあたりクリップの拡張などをお勉強しております。
まだ勉強中により記事にできるほどの知識もありませんが、
カスタムクリップがTimeline再生後にインスペクタの値がそのまま保存される問題と戦っております。
そちらの綺麗な解決策などが出来ましたら是非書き下ろしたいところです。
- 今は無理やり下記の中で変数を初期化しているという
public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
起動時、終了時しか走らないので問題がないといえばないですが、何かおかしい気がしています・・・。
個人的にお勉強になった動画
【Unite Tokyo 2018】スクリプトによるTimelineがっつり拡張入門 https://www.youtube.com/watch?v=6SPpjSKy9LI&feature=youtu.be
【Unite Tokyo 2018】Timeline機能拡張:カットシーンにとどまらない新たな使い方 https://www.youtube.com/watch?v=FqjM9oujyNE
安原祐二さん動画まとめ https://qiita.com/yuichi_katsuoka/items/86404da0f2ed9cacf854
↑めちゃくちゃわかりやすい
Docker ComposeでLaravel環境構築を目指す
触ったことはあるけども、理解が浅いので一度整理しつつ用意をしていこうという個人企画です。 1歩ずつ進んでいきたいと思っておりますが、勉強不足部分がちらほら出てきてしまうかと思いますが、何卒生暖かい目でお願い致します。
- VirtualBox Ubuntu(ubuntu-ja-18.04.1) Docker Compose Nginx MySQL Lravel
■Docker準備
curl https://get.docker.com | sh sudo usermod -aG docker $USER sudo systemctl start docker sudo systemctl enable docker sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
■設定ファイル用意
- confファイル置き場の作成
$ mkdir -p workspace/docker/web $ cd workspace/docker/web
- confファイル作成
$ vim workspace/docker/web/default.conf server { listen 80; root /var/www/html; index index.html; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; }
- docker-compose.ymlの用意
$ vim workspace/docker-compose.yml version: '3' services: web: image: nginx:1.15.6 ports: - "8000:80" volumes: - ./docker/web/default.conf:/etc/nginx/conf.d/default.conf - .:/var/www/html
- index.html用意
表示するものを置いてませんでした。
$ vim workspace/index.html <h1>Hello</h1> <p>Docker OBENKYOU!</p>
■ 起動してみよう
$ cd workspace/ $ docker-compose up -d Creating network "workspace_default" with the default driver Pulling web (nginx:1.15.6)... 1.15.6: Pulling from library/nginx a5a6f2f73cd8: Pull complete 67da5fbcb7a0: Pull complete e82455fa5628: Pull complete Digest: sha256:31b8e90a349d1fce7621f5a5a08e4fc519b634f7d3feb09d53fac9b12aa4d991 Status: Downloaded newer image for nginx:1.15.6 Creating workspace_web_1 ... Creating workspace_web_1 ... done
http://localhost:8000 にアクセス
とりあえずdockerでnginxの起動から接続まで確認 次はphpを入れてみる
- PHPはサービスにappを追加します
$ vim docker-compose.yml version: '3' services: web: image: nginx:1.15.6 ports: - "8000:80" depends_on: # 追加 - app # 追加 volumes: - ./docker/web/default.conf:/etc/nginx/conf.d/default.conf - .:/var/www/html # ここから下も追加 app: image: php:7.2.12-fpm volumes: - .:/var/www/html
depends_onは依存関係を作る際に使うみたいです
linksというのも似たような動作みたいですが、エイリアス名(サービス名)でコンテナアクセスができるようになるらしいです
今回はdepends_onのまま進めます
- Nginxの設定
■PHPを使えるようにする
$ vim docker/web/default.conf server { listen 80; root /var/www/html; index index.php index.html; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
- htmlの更新
<h1>Hello</h1> <p>Docker OBENKYOU!</p> <?php phpinfo();?>
docker-composeを再度up -dで起動
色々追加されていき無事完了したらブラウザから確認
無事phpinfoの内容が表示されたら完了です
次はMySQLを別なdockerで起動します
■ MySQL
MySQLもdockerのサービスに設定を書きましょう
通常のMySQL設定をそのまま書けばいいようなので、MySQLの設定をしたことがあればすぐにできるはず。きっと。
$ vim workspace/docker-compose.yml mysql: image: mysql:5.7 environment: MYSQL_DATABASE: sample MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_ROOT_PASSWORD: password ports: - "3306:3306" volumes: - mysql-data:/var/lib/mysql volumes: mysql-data:
ついでにphp設定と同様にdespend_onにmysqlを追加します
depends_on: - app - mysql # 追加
- 再度、dockerを立ち上げて確認
$ docker-compose up -d Creating volume "workspace_mysql-data" with default driver Pulling mysql (mysql:5.7)... 5.7: Pulling from library/mysql f7e2b70d04ae: Pull complete df7f6307ff0a: Pull complete e29ed02b1013: Pull complete 9cb929db392c: Pull complete 42cc77b24286: Pull complete a6d57750cc73: Pull complete 79510826e343: Pull complete 07e462ad61e2: Pull complete fa594cb5b94d: Pull complete 1b44278270ad: Pull complete 3edb3c323f55: Pull complete Digest: sha256:de482b2b0fdbe5bb142462c07c5650a74e0daa31e501bc52448a2be10f384e6d Status: Downloaded newer image for mysql:5.7 Starting workspace_app_1 ... Starting workspace_app_1 Creating workspace_mysql_1 ... Creating workspace_mysql_1 ... done Recreating workspace_web_1 ... Recreating workspace_web_1 ... done
$ docker-compose ps Name Command State Ports -------------------------------------------------------------------------------- workspace_app_1 docker-php-entrypoint Up 9000/tcp php-fpm workspace_mysql_1 docker-entrypoint.sh Up 0.0.0.0:3306->3306/tcp, mysqld 33060/tcp workspace_web_1 nginx -g daemon off; Up 0.0.0.0:8000->80/tcp
MySQLも無事入りました
- Dockerファイル作成
これからcomposerの準備に入ります
$ vim docker/Dockerfile FROM php:7.2.12-fpm # install composer RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer RUN apt-get update \ && apt-get install -y \ git \ zip \ unzip \ vim \ bash RUN apt-get update \ && apt-get install -y libpq-dev \ && docker-php-ext-install pdo_mysql pdo_pgsql WORKDIR /var/www/html
- Dockerfileを読み込むように設定
$ vim docker-compose.yml services: app: build: ./docker # 追加
- build
$ docker-compose build
Dockerファイルによりcomposerも使えるようになっていますので、imageに入ってから操作を行いましょう
$ docker-compose exec app bash # composer create-project --prefer-dist laravel/laravel LaravelTest Do not run Composer as root/super user! See https://getcomposer.org/root for details
■Laravelが用意出来ました!!
そして気が付きました。エディタとか用意してないなぁ・・・と
次はエディタ用意します。というか先に用意しておけよ俺!!
この記事も作業が落ち着いたら作り直さないとわかりにくいですね
■番外編 エディタ決定
Visual Studio Codeを入れました
EXTENSIONS
- Laravelにパスを変更する
$ vim docker/web/default.conf root /var/www/html/LaravelTest/public; # /var/www/html;から変更
- docker再起動後にアクセス
UnexpectedValueException The stream or file "/var/www/html/LaravelTest/storage/logs/laravel-2019-03-23.log" could not be opened: failed to open stream: Permission denied
rootでLravelを作ってしまってた・・・
パーミッションエラーが出てしまいました
$ sudo chown -R docker:docker LaravelTest $ docker-compose restart
あれ、まだ動かない・・・
logsのディレクトリを変えないとダメか
$ cd ~/workspace/LaravelTest/storage $ sudo chmod -R 777 . $ docker-compose restart
やっと動いた! クリアだクリア!
あ、MySQLまだつないでなかった・・・。 もう少し、繋いだら本当のクリアが待っている!
- .envを編集
DB_HOST=mysql # 127.0.0.1から変更
- restart
$ docker-compose restart $ docker-compose exec app bash # cd LaravelTest/ # php artisan migrate Illuminate\Database\QueryException : <= 改行してます SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'172.18.0.2' (using password: YES) (SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations)
エラーだ・・・。 調べたところ、mysqlの設定がミスしてるんじゃないかということ。 そうまさに、間違ってた。
- 再度.envを編集
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=sample # <= ここも DB_USERNAME=user # <= ここだって DB_PASSWORD=password
再度dockerをリスタートして、commandを撃ちますと
# php artisan migrate Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table
繋がった!
これでappからmysqlへの接続が完了しました
第一弾としてはここまで、次は開発のシュミレーションをしつつ、デバッグ環境を作ってみようかと思います