Unityでポーズをとらせるために自分で作れるようにしたい。
Blenderのアニメーション作成機能を使ってポーズを作成してみる。
今回は以前に作ったボーンを使う。
Unityでポーズをとらせるために自分で作れるようにしたい。
Blenderのアニメーション作成機能を使ってポーズを作成してみる。
今回は以前に作ったボーンを使う。
前回メッシュのみの obj ファイルにボーンを追加した。
コマンドを忘れそうなので必要なものを覚書。
Unityのほうで3Dをいじりたくなったけど、アセットやMMDなんかは種類が少ないのでボーンのない形式や形状だけのものを動かせるようにしたい。
調べながら Blender で試したことの覚書。
State の多い Animator を自由に動かすために編集するのが面倒。
そこでポーズ用の Animation を用意して、プログラムで設定したい。
アニメは初めてなのでユニティちゃんを例にいろいろと試してみる。
タイトルの通りWebGLのビルドが失敗する。
Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --compile-cpp --libil2cpp-static --platform="WebGL" --architecture="EmscriptenJavaScript" ....
エラーメッセージだけでは原因の特定ができずググった限り、多くの原因と解決法が見つかった。
対処方法と結果の覚書。
Unityでのスクリーンショットは非常に簡単に実装できます。
1 2 3 4 5 6 7 8 |
void SavePic(){ StartCoroutine (SavePicIE()); } IEnumerator SavePicIE(){ yield return new WaitForEndOfFrame(); int w = Screen.width; int h = Screen.height; Texture2D tex = new Texture2D (w, h, TextureFormat.RGB24, false); tex.ReadPixels (new Rect(0,0,w,h), 0, 0); } |
部分的なスクリーンショットをとる場合にはRectangleを変更する必要があります。
スマホは解像度の違いがありケースバイケースで条件を変える必要があります。
外部カメラの映像を以下のようにしてImageに貼り付けることができる。
1 2 3 4 |
public Image img; ... img.material.mainTexture = webcamTexture; ... |
ただこれだと、カメラ切り替えなどを行うと映像が停止してしまう。
物理カメラを扱うためのクラスWebCamTextureにこんな変数がある。
WebCamTexture.videoRotationAngle
右回りの角度 (度) を返します。多角形を回転させるためにその値を使用し、カメラのコンテンツを正しい向きで表示できます。
説明を見てもよくわからないので実際に使ってみる。