はらけんログ

unity触ったりバイクに乗ったり

Mikulus使ってみた

 

一部のTwitter垢で流行っているMikulusっていうのが気になったので、せっかくOculusもあるし、使ってみることにした。

久しぶりに触るOculus。

f:id:HarakeN:20161118231108j:plain

 

 

Mikulusはまだテスト段階らしいので、公式にリリースされていませんでした。

使用してみたい方はMikulusの公式TwitterにDM凸してみよう。

 

登録が完了すると、使用できるようです。

 

 

 

 

で、使ってみたよ。

 

 

 

 

f:id:HarakeN:20161118231432p:plain

 

 

 

 

もうね。すんごい。

 

ミクさんマジ天使。

 

 

 

 

デスクトップを全体的に見ることができるが、画質は荒かった。ただ、ズームで見れるため、さほど問題ない。

欲を言えばこのズーム画面をもう少し大きい範囲にしてほしいかなぁ。

 

他にもスクショを撮れたり、画面の切り替えができたり、VR空間にいながらいろいろなアクションができて楽しい。

 

 

ストーカーの部屋みたいで、次第に罪悪感がわいてくるが、、、

f:id:HarakeN:20161118232332p:plain

 

 

 

 

またこれつけたら戻ってこれないかも。。。

 

PSVRのサマーレッスンもこんな感じなのかなぁ・・・

 

もう少し、キャラクターとのアクション(フラグ)が起こせれば面白い。

 

 

 

以上、本日のヲタクでした。

 

 

 

 

【Unity】TweenAnimationについて -その1 Tweenとは-

 

昨日、久々に東方紅魔郷をプレイしました。

やっぱりBGMが神かがってますね。

 

 

それはさておき

昨日は、ブログ書いてないので、unityでなんかつくるときに重要なTweenについて書こうと思う。

 

Tweenってなんぞね?っていう人には「とりあえずググれカス」と言いたいところだけど、ググってもツイッターのクライアントしかでてこないので、簡単に説明します。

 

 

Tweenって?

簡単に説明すると今回(僕の)場合、Tweenとはツイッターのクライアント」アニメーションさせるプログラム」の事をさします。

 

AssetStoreでTweenと検索すればわかるが、

iTween、Gokit、HOTween、LeanTween、、、

などなど、様々なTweenのAssetがStoreにゴロゴロ転がってる。(しかも無料)

こいつらめっちゃ便利なんです。

 

 

使い方

例えば、「だんだんオブジェクトを早くする」「だんだん大きくさせる」と、いったような「だんだん~する」みたいな実装をする際に用いる。

 

例、「だんだん透過させる」

※ポリゴンショックに注意

f:id:HarakeN:20161118195352g:plain

 

 

「だんだん~させる」には、素でコードを書くと、えらくめんどくさい。

 

それがこのTweenAssetを使えば2、3行で実装できてしまう。

 

 

使い方はAssetによって変わるので注意が必要。

ちなみに僕が使ったことあるAssetはGokitとLeanTween。

 

今回はLeanTweenを使って実装した。

 

 

今回はこの辺で

そのうち細かく噛み砕いて書いてく。

 

 

 

AdamくんがPPAPを踊ってくれました。

 

先日、AdamのAssetが公開されたので、ダウンロードしてみました。

 

で、Adam君に例のアニメーションをつけてみました。

素材はくまじゃなくてぐるくん (@gurukun237) | Twitterさんのtoggeterから

togetter.com

 


Adam君がPPAP踊ってた

 

(これライセンス大丈夫かなぁ?)

【Unity】StreamingAssetsに格納したファイルから文字列とかを取得する

 

はい。

拙者、もう少しわかりやすく内容を書きたいなと思っているでござる。

 

っていうのも今回つまずいたところは公式リファレンスの書き方が間違っていて、動作しなかったから。

 

ちゃんと動かせるソースを教えろよな(超上から目線)

 

ってか他のブログとかでも var とか使ってる奴のコードわかりにくいでしょ?

そんなかんじのわかりにくいコードを書かないように頑張りたい。

 

んで、今日はstreamingAssetsに入れたメモ帳などから文字列を取得する方法です。

リファレンスだと

public class ExampleClass : MonoBehaviour {
    public string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");
    public string result = "";
    IEnumerator Example() {
        if (filePath.Contains("://")) {
            WWW www = new WWW(filePath);
            yield return www;
            result = www.text;
        } else
            result = System.IO.File.ReadAllText(filePath);
    }
}

 ってなってる。(コピペです)

 

で、実行すると

get_streamingAssetsPath is not allowed to be called during serialization, call it from Awake or Start instead.・・・

みたいなエラーが返ってきて動かない。(動くには動くけど取得は出来ない)

 

で、これのいけないところは

public string filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");

 ってところ。

 

 これを

public string filePath ;

void Start()

{

filePath = System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");

}

 ってな感じにしてやると動く。

 

つまり、「宣言ついでに定義するな。StartとかAwakeでやれ。」っていうエラーなんです。(Google先生にエラー翻訳してもらえば一発)

 

 

それでも動かねぇっていう人はファイルネームを確認してください。(赤文字の部分)

System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile");

 

これ、実は拡張子も入れないとダメっぽい

 

だから、取得するファイルがテキストファイルだった場合、本当は

System.IO.Path.Combine(Application.streamingAssetsPath, "MyFile.txt");

 

 っていれなきゃならん。

 

こんなんで時間食わせないでよUnityさん。

最近お仕事が捗らなかった理由

 

最近、仕事が本当に進まない。

 

っていうのも、コーディングするときって本当にいろいろやり方がある上で、いかに可読性が良くして、かつ処理を軽く実装するかを考えると思うんだけど、パラメータを変える部分が多いと「本当にこんなんでいいのか?」って思ってしまうんよ。

 

で、今回はLINEのようなチャットのUIを実装する段階でつまずいた。

パラメータを渡す部分はuGUIのImageとpositionXとテキストの内容とそれらのサイズ。さらにベースとなるprefabからインスタンス化してアニメーションさせる。ってもの。

 

何を言ってるかわからないと思うがry

で、どうしたもんかなぁってブログで愚痴ろうと思ったんだけど、(すでに愚痴ってる)書いてる途中で

「パラメータの違うpurefabもう1つ作ればいいじゃん」

っていう超天才的な発想が脳裏をよぎった。

 

もうね、マジで俺の糖分と時間返せやってなった。

 

なんかスクリプト以外に頼るのは負けた気がするんだけど、こんなことも思いつかないウンコに綺麗なスクリプトが書けるかって言われたら首を垂れるしかないので、今まで書いたゴミみたいなコードは全消しして作り直す。

 

つらい。

 

 

いいか?生成したいオブジェクトのパラメータが多いならもう1つprefubを作れよ。

 

 

以上。