Translate

BTemplates.com

Powered by Blogger.

2018年7月17日火曜日

2018-07-14,15,16 到達点メモ


Railsの話

ここの演習問題2をやっているのだが、普通に誤字が発見できるんですがそれは・・・。
多分、テストの内容があっちと違う気がする

テストコードでリンクの存在を検知できるのは本当に楽
数を数えられるのも良い。
その代わり、どういう形のものを作るかちゃんと決めていないとダメだが・・・

次回は、5.4 ユーザー登録: 最初のステップからやる


Unityの話

判定は行うけどオブジェクトはすり抜けさせたい

×× ColliderのIs Triggerにチェックを入れればよい
参考サイト:【Unity】オブジェクトの衝突判定を検知する

もしくは新しいレイヤーを作成し
その上で、衝突するレイヤーと新しいレイヤーは当たり判定を行わないようにする
メニューのEdit→Project Setting→Physicsの順で各レイヤーの当たり判定にチェックが入っているので当たり判定を行いたくないものに対してチェックを入れる

参考サイト:Unityで特定のオブジェクト同士は衝突しないようにする

複数のオブジェクトをアニメーションさせたい場合は
一つのオブジェクトに纏めて、親のオブジェクトにアニメーションさせればよい

落下位置を中心に波紋を発生させたいと思っていたのだが
どうもx、y軸は同じ数字なのに波紋の中心位置と落下位置がずれているように思えていたのですが、そもそものZ軸がずれていて且つ斜めからみたから
顕著にずれているように見えたというのが原因みたいです。

数秒後にアニメーションを発生させたい場合は
空のステートを作ってそこから動かしたいアニメーションの遷移にかかる時間
で調整すればいけました。

参考サイト:【Unity】Animatorの個人的な逆引きリファレンス

アニメーションに効果音を入れたい場合は
まずデフォルトで、オブジェクトとAudio SourceとPlay On Awakeのチェックを外しておき、鳴らしたいキーフレームで先ほどチェックを外した奴を全部チェック入れます。

具体的には下の画像のように赤線で囲んだ部分全部です


その次のキーフレームで再び全部チェックを外します。
これの繰り返しでアニメーションで効果音を制御することができます。
微妙にずれている気はするので、あまり良いものではないですが一応できます。

アニメーションイベントを使わなくても何とかなるもんだ・・・
最初はアニメーションイベントでやろうとしたのですが
どうも自作スクリプトを前提にしているようで、
VRChatだと自作スクリプトは使えないので困っていました。
アニメーションイベントについて参考にしたサイト
参考サイト:Unity : AnimationClipに合わせて処理をしたいなら

モデルの透明度をいじる方法

マテリアルの設定をいじって変更する
Rendering ModeをFadeかTransparentに変更
Albedoの横にある色の部分をクリックし、RGBAのうちの
Aをいじる事で透明度を変更することができる

参考サイト:Unityで半透明のオブジェクトを設定する
参考サイト:【Unity】モデルを透明にする (1)

今日はここまで




2018年7月13日金曜日

2018-07-12,13 到達点メモ


ここの演習の2がわからん。
普通にGREENで通ってしまう

と思ったが単に先回りしてファイルを作っていたのが原因だった。
恐らく本来はrenderで読み込むファイルを作っていない状態でのテストを
考えていたのだと思われる
その為、<%= render 'layouts/rails_adefault' %>
とかに存在しないファイル名に変更すると普通にエラーが出る
*本来のファイル名はrails_default

次回はここから
5.3.3 名前付きルート

Unityをやった。
バージョンは5.6.3p1です。
以前の記事でにVRChatで使えるのは、ここの載っているスクリプトやスタンダードアセットは動くという話を聞いていたので
じゃあ、それに基づいてやってみましょうという事でやってみた。
今回、やろうと思っていたのは徐々に拡大していき、最終的にはまた最小値に戻って
それを繰り返す動きをすることである。

結論から言うとできた。
具体的にはこんな感じ(ツイッターの動画再生リンクに飛びます)です。

手法としては、Animationで60fごとに大きさを1から38倍にするようにし、
かつ、Animatorで再生スピードを0.02にすることで実装できた。

基本的な設定方法は、UnityランサーのUnity4.3の2Dスプライト機能 …その4 アニメーションで大体いけます

それはそれとして躓いたところも書いておく

AnimatorをAdd Componentし、
上のメニューバーからWindow→Animatorをして
Animationというウィンドウを出します。
そうすると、Animationという項目を選択すると右側にCreateというボタンが表示されるので、それをクリックして名前を付けて適当な場所に保存します
なお、画面が小さすぎると肝心の項目が映らないので
適度に横幅を確保することをお勧めします



保存後に、AnimatorでControllerがnoneから変わっていること
を確認してください。

その後にAnimationウィンドウでアニメーションをつけていくのですが
例えば、拡大をしたい場合は、
Add Property→Transform→Scaleの順にクリックしてください
Transformだけクリックしても意味がありません。

今回の場合は、キーフレームだけでいけるので
赤い四角で囲んである場所をクリックするだけで大丈夫なはずです。
前述しましたが、再生スピードを調整したい場合は
別の場所でやるのでここでは気にしなくて大丈夫です



赤い線と◇のマークが重なっているときに、調整できるので
好きな値を入力して調整してください



なお、上記の作業をしていると上の再生ボタンが下記の画像のように赤くなっている場合があります。


その時は下の画像のように録画ボタンがONになっているのが原因なので
不要ならOFFにしてください



再生ボタンを押せば、実際にどれくらいの速度で動いているのかが分かるのですが
例えば、もっと早くしたい場合、もしくは遅くしたい場合はAnimatorウィンドウで設定します。

Animatorウィンドウをクリックすると、前に保存したアニメーション名が表示されている
やつがあるはずなので、それをクリックしてください
そうすると、InspectorでSpeedという項目があるので
そこの値を増やしたり、減らしたりしてください。

これで動くはず。

余談ですが、AnimatorウィンドウもしくはAnimationウィンドウを間違えて消してしまったという場合は、メニューバーのWindowを選択し、表示させたいウィンドウ名をクリックすれば表示されます。


参考サイト:【Unity】[Tips] character animationのスピード変えたかった
参考サイト:アニメーションクリップ
参考サイト:Unity4.3の2Dスプライト機能 …その4 アニメーション
参考サイト:Standard Assets / Utilityの中身を探ってみた

今日はここまで。

2018年7月11日水曜日

Cloud9でRailsTutorialをやる場合に自分がよく使うコマンド


本番環境のgemをインストールしない
bundle install --without production

サーバーを立ち上げる時
rails s -b $IP -p $PORT

herokuにプッシュする
heroku create
git push heroku master

間違ってhogehogeというコントローラーを作ったので取り消したい
rails d controller hogehoge


2018-07-06, 08,09,11 到達点メモ


久しぶりにgit add .やgit add -Aをしたら以下のようなエラーが出た
error: insufficient permission for adding an object to repository database .git/objects
error: .gitignore: failed to insert into database
error: unable to index file .gitignore
fatal: updating files failed

ここのサイトを参考にして
以下のコマンドを入力しました

$ sudo chmod -R 0777 .git/objects/

0777って何だっけと思って調べなおしたところ
このサイトによると
100番台は、オーナー、10番台は、グループ、1番台は、全員
読み込みが4、書き込みが2、実行が1

つまり、これは全部書き込み、読み込み、実行を許可するという
権限っぽい

コマンドの方も調べてみました。

chmodは薄々察していましたが、パーミッションの属性を変更するコマンドで
-R は ファイルやフォルダを再帰的に変更するオプションだそうです

参考サイト
【 chmod 】コマンド――ファイル/ディレクトリのパーミッション(許可属性)を変更する
今さら聞きづらい「ファイルパーミッション」について
Git: 複数アカウントで同リポジトリーで作業していると "error: insufficient permission for adding an object to repository database .git/objects" が発生する

RailsTutorialの第五章をやっているのだが
いつの間にかBoostrapがよく使われるようになったように見える
初版が2011年なので意外と古い様ではある
恐らく広まるのに時間がかかった感じなんだろう

mvコマンド

mv オプション ファイル元 ファイル移動先

次は5.1.3 パーシャル (partial)から

2018年7月6日金曜日

2018-07-04、05 到達点メモ


VRChatでワールドを上げようとしたのだが
一度Public化すると変更が難しいと聞いたので
コピーを作ることにした。
その際に、表示されているアドレスから開くことができなかったので
OpenSense → コピーしたいプロジェクトを選択(今開いているプロジェクトをコピーすると一部ファイルがコピーできないので、別のプロジェクトを開きなおして同じ作業をすること)
 → コピーする → 紛らわしいのでフォルダ名とSense名を変更する
 → コピーしたプロジェクトを開く → VRCWorldを選択 → InspectorのVRC Pipeline Manager(Script)のDetachをクリックする

あとは何時ものようにアップロードすればいけます


次はここから
4.4.2 クラス継承

しかし、一番最後が14章という事を考えると大分先が長いな


再びUnityに戻る
暫くやっていないと単純にマテリアルの作り方とか忘れる。
Projectの項目でMaterialを作れるので、InspectorでShaderをUnlit/ColorでMain Colorで変更することができる

テスト確認だったら一先ずこれでよい

参考サイト
UnityでMaterialを追加して色を変更する方法【初心者向け】

光らせたい場合は、Materialの設定の中にEmissionという項目があるので
それにチェックを入れて、カラーを決めればよい

参考サイト
【Unity】Unity 5 で「光モノ系」を表現するあれこれ

光が漏れるような表現をしたい場合は
Boloomというやつを使うのだがその際に
PostProcessingをアセットストアから落としてくる必要がある
なお、昔はStandardAsesetsのEffectsのImageEffectsにあったが
現在では使えなくなっている。

インポートを終えた後は、Projectの項目でフォルダを選択して右クリックして
Create→Post-Processing Profileをクリック
ファイルが生成されたのを確認したら、今度はHierarchyのMain Cameraをクリックし
Add ComponentでPost Processing Behaviourを追加する
Profileという項目に先程作成した、New Post-Processing Profileを割り当てる
その後にNew Post-Processing Profileをクリックして、Inspectorで
Bloomという項目があるのでチェックを入れるとぼんやりと光るようになる

参考サイト
【Unity2017.1】Bloomエフェクトをかける方法

ざっと調べた限りでは、オブジェクトの一部分を光らせるという方法は
光らせたい部分を透過させるテクスチャーをかぶせるぐらいしか見つからなかった。
点滅でもググったが、やりたいことはなんかこれじゃない感

参考サイト
【Unity】目やパーツの一部を光らせる
[Unity] オブジェクトを点滅させるスクリプト




スクリプトを使ってある波紋が広がるようにオブジェクトを表示非表示に
させようとしていました。
四苦八苦した結果、無事Unity上で動いたので
VRChatでテストアップロードしたところ動かない
何でだろうと思ったら以下のツイートが
https://twitter.com/butadiene121/status/982563568867467265

VRChatってスクリプト動かないのかよ!!!
*カスタムスクリプトが動かないだけで、ここの載っているスクリプトやスタンダードアセットは動くそうです。ブタジエンさん本当にアドバイスありがとうございます。


間違いなく今日一番の驚きorz
資料をちゃんと読み込まないとなぁ。

今日はここまで。

2018年7月4日水曜日

2018-07-02、03 到達点メモ


まさかCloud9を使っているせいでそもそものUbuntuのバージョンが
かなり古いとは思わなかった。
*まだ使っていないからわからないがAWS Cloud9はこれが起こらないと思われる


まず14から16にアップグレードする必要がある
もしかすると容量を軽くする方法があるのかもしれないが
ひとまず、自分の場合は2GBだと足りなかったので
5GBに変更した
で、色々やったんですが16にアップグレードにする段階の途中で
依存関係の処理に失敗したので14でyumをインストールする方法を調べる

参考サイト
Ubuntu 16.04LTSへアップグレードする
「apt-get」はもう古い?新しい「apt」コマンドを使ったUbuntuのパッケージ管理
Cloud9 再起動する方法
Ubuntuのバージョン確認
apt-getによる依存関係の解決方法
Udev error while upgrading

なんか相変わらず以下のようなエラーが出ているのだが
sudo apt yum installをやった後にyumとやったらオプションの説明が出たので
通ったようである。

Errors were encountered while processing:
 udev
 systemd-services
 libpam-systemd:amd64
 initramfs-tools
 plymouth
E: Sub-process /usr/bin/dpkg returned an error code (1)

今度はtmuxのインストールができなかったので以下のサイトを参考に
以下のように行った

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xzvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure && make
sudo make install

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
 ./configure && make

今思うと、普通にtmuxのgithubのREADMEに書いてあることを
そのままやればよかったかもしれない

参考サイト
How do you update the YUM package manager repositories?
tmux/tmux

一応、上手く行ったのかな??
長くやるつもりなかったのにこんなになってしまった

次にやるところ
4.2.4 メソッドの定義

VRChatのワールド作成を行った。
透明な床を作りたい場合は、透過したテクスチャーを用意し
Shaderの設定をUnlit>Transparentに設定した。
この際に透過色以外の色があり
且つ、そのテクスチャーを拡大して表示している場合
以下のように半端に透過する部分ができる


参考サイト
< Unity >透過処理した画像について

また、今回別にはまった部分として
透過が上手く効かないということがあった。
具体的にいうとJTrimなのだが
JTrimで透過色を指定して保存したが
Unityで読み込んだ際は、指定の仕方が悪いのか分からないが上手く行かなかった。
仕方がないので手軽に透明pngというフリーソフトを見つけたので
これを使って解決した。
注意事項として色指定で透過させたい場合は、
メニューの編集をクリックすると項目がいくつか出るので
そこで色指定で透過をクリックすればよい

今回この写真展示のワールドを作った際に判明したこととして
Googleフォトで保存した画像は、何枚も同じ画像を表示するような
テクスチャーとして使うならともかく巨大な画像を
一枚表示という形で使いたい場合は粗が出てくるので
今後は巨大画像表示用の素材をGoogleフォト以外で
きちんと確保しないといけない

あと、見下ろす巨大な一枚写真と見上げる巨大な一枚写真を使う場合は
アバターからある程度位置を離して全体図を見れる形が
良いように感じた。
ただ、見下ろす写真は地面が完全に透明だと不安定に感じるので
何らかしら地面を感じられるような透明度が高いテクスチャーにした方がよい

今日はここまで



2018年7月1日日曜日

2018-06-30、07-01 到達点メモ


VRChatの自作のワールドでBGMを流したい場合は
Unity、BGMで検索するべき。
方法は空のオブジェクトにサウンドファイルをドロップすればできる
自分の場合は、ループにチェックが入ってなかったので
チェックを入れるとよい


よく原因が分からんが、herokuにデータを食ったはずなのに
更新されていないように見える

原因分かったかもしれない
git push heroku master

この【master】の部分じゃないかなぁ
これが、static_pages(参考サイトだとstatic-pagesでやっている)
ならまた違うかもしれないが
本番環境にテストしていない物を上げるのはどうなのだろうか?

RailsTutorialの 3.3.2 Red でワザとテストが失敗するようなコードを書いて
失敗した状態を確認するテストがあるのだが
RailsTutorialの書いてある通りに学ぶと以下のようなエラーが出る

/usr/local/rvm/gems/ruby-2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_should_get_help' for class `Minitest::Result' (NameError)

上記のはもう少し先に進んだ時の結果なので多少違うかもしれないが
テストが途中で終わり幾つ失敗したのかわからない状態で終わる事には変わらない。

以下のサイトを参考にGemfileでminitestのバージョンを以下のように指定したところ
正常に動くことが確認できた。
以下の意味は、5.11未満5.10.1以上という意味になる

gem 'minitest', '~> 5.10.1'

余談だが、自分の場合は、
rails test 結果が出ない
で検索したらこのサイトにたどり着いた。

エラーの文言が折角分かっているのだからそれで調べる癖をつけないとまずい

参考サイト:Ruby on Rails チュートリアル3章のテストのバグとその対応メモ
参考サイト:Railsドキュメント gemfile

次は3.4.4 ルーティングの設定をやる

今日はここまで