Timelineのバインドを解除

タイムラインで WrapMode を Hold にした際に、その後 Animator でアニメーションが制御できなくなってしまう。例えばオープニングアニメーションのあとにスタートボタンだけボタンを押されたときに Animator でボタンのアニメを再生させたいとかそんな場合、ボタンを包む GameObject でコンテナを作って、Timeline ではそっちを制御するなんかの工夫が必要になってくる。

Timeline を流した後、別の Timeline を流す分には問題なくアニメーションが流れるけど、Animator での制御が効かない。

Continue…

Meshの数が増える

vertex shader を触って波のような感じで動かしていたら、頂点がずれる問題に気づいた。通常の Plane なんかでは大丈夫だけど、なぜか隙間ができる。どうも三角形を形成する頂点が隣接するものの頂点と繋がっている訳ではなく、三角形ごとに作られている感じになってる(二倍の頂点がある)。

Continue…

Vector Graphic (SVGの利用)

Package Manager より提供される Vector Graphic にて uGUI でも扱える、SVGImage を試してみました。まったく知識がなかったので、どういった処理をしているのか気になっていた。

Continue…

Shader Graph でのノイズ

Shader Graphで Perlin Noise 的なものを使って、テレビのノイズみたいなものを作りたかった。ノイズを作るのには Gradient Noise を使用。Gradient Noise の方で時間的なパラメータがあってそれを高速に進めればできるのかなと思ったらそうではないっぽい。検索してみると、Rotate ノードを使って高速に回すとそれっぽくなったよ的なものを見つけたのでそれと同じようにやってみた。

Rotate じゃなくて、Combine と Tiling And Offset でもそれっぽくできた。こっちの方が単調かもしれないけど軽い(?)

参考) StackExchange | Game Development | Old tv effect in shader graph

Timeline の wrapMode が Hold の際の Animator での操作

Timeline の WrapMode を Hold にすると最後のフレームの状態でオブジェクトが停止してくれる。それはいいのだけど、その後 Timeline で使ったオブジェクトを Animator で操作しようとしても、状態遷移はされているっぽいけど、AnimationClip に従った動きがされない。とくに最後で使ったクリップで使っているプロパティが入っていると動かなくなる。


(ここでは Rotate が最後なので、Rotate が Animator で動かせない)

ここで、再生後に WrapMode を None に戻すときちんと再生ができる。

None にできる状況ならいいですが、そうでない場合は一工夫必要そうな気がします。

Timeline で同じオブジェクトを動かす分には問題なく動く。

ただ、2つのタイムラインで、Rotate/Scale ともにロックされてしまうので、Animator からは再生がされなくなってしまう。

Unity2018.3からOpenJDKに

Unity2018.3 からJDKではなくて、OpenJDK が Android Build Support に含まれので、今後はJDKを別途インストールしなくていいっぽい。JDKが2019年1月以降に有償化されるのでその関係なんでしょか?

BOIDS (人工生命)


鳥や魚の群衆の動きをシミュレートするロジックとしてよく利用されるBOIDSを作ってみた。
だいぶ前に作ったんだけど、忙しくてなにもできていなかったのでもう1度作ってみた。

Continue…

iPhone5s, iPad mini等で UI が描画されない

iPhone5, iPad mini2/3, iPad Air にて UI が表示されないことがあったのでメモ。
条件としては極めてレアだと思うので発生頻度は少なそう。
まず上記の端末は SoC が A7 と呼ばれているチップなので、この機種で発生しそう。
わかっている条件としては

  • UIが表示されない端末のチップがA7
  • SpriteRenderer があり、それを映すカメラがある
  • Canvas の Render Mode の設定が Screen Space – Camera
  • SpreiteRenderer, UI を移すカメラの Clear Flags は共に Depth Only
  • UIの要素が、UIを写すカメラの一番端 Clipping Planes の一番端にある

この条件で発生しました。
解決方法は2つ
UIのカメラの Clear Flags を Don’t Clear にする。
もう1つはUIの要素をカメラの Clipping Planes の端ではなく、少しカメラ側に寄せる。