コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

オーブを生み出そう

オーブとは

僕が応援したりしなかったりしている方がUnityを使ってオーブを生み出すやつやっているので僕もそれにインスパイアされてオーブを生み出すことをやることにしました。さて、まずはオーブとは何かについて語らねばならないと思います。オーブとは……。

玉響現象(たまゆらげんしょう)とは、主に写真などに映り込む、小さな水滴の様な光球である。肉眼では見えず写真でのみ確認される。科学的にはフラッシュ光の空気中の微粒子による後方散乱が写り込んだものと解釈されるが、心霊的観点から解釈がなされることもある。

このようなもので写真などにうっすら映るモヤのようなものです。心霊的な場所によくあらわれるとか言われていたりいなかったりしています。というわけでして、それを僕も便乗して作っていこうと思います。

まずは背景になる写真をとってきます。ホラー特集とかやっていたせいなのか、いい感じの素材結構ありますね。
ぱくたそ-フリー素材・無料写真ダウンロード




Unityを起動して2Dで編集(?)していきます。ちゃちゃっと実装したいのでいい感じに使えそうなエフェクトのHaloを使ってみることにします。とりあえず3Dの球体オブジェクトを作成して、そこにHaloを紐づけます。
Halo(ハロー) - Unity マニュアル


Unityのエフェクト系列は2Dで描画すると背景スプライト裏に回り込んでしまうらしいです。なので、それを避けるために背景をキューブか何かに貼りつけて、疑似的に立体構造をつくりエフェクトを無理やり表にだすようにします。んで、Haloをいじります。調べた限りだとHaloを細かくスクリプト制御できるわけでもないようです。まあ、その辺は実験的要素として諦めます。解決策があるかどうかは、アセット漁りながら考えることにしましょう(他力本願)。現状2Dだと使いづらい……。

f:id:andron:20180529225958p:plainf:id:andron:20180529225957p:plain
そうやってなんやかんやいじることでこのような感じの霊障があらわれます。おわかりいただけただろうか。画像真ん中付近に存在する謎の光球を……。


とりあえず、表示さえできればこちらのものなのでRigidBodyつかいーの、適当に挙動を制御するスクリプトを書いてこんなものを作ります。

using UnityEngine;

public class glowmove : MonoBehaviour {
    public float speed = 3;
    public float lifting = -0.4f;
	
 void Update () {
        float x = 1;
        float y = Mathf.Sin(Time.frameCount * 0.7f);
        x += speed; // 速さ
        y += lifting; // 上下の移動
        // 左から右への移動
        Vector2 direction = new Vector3(-x, y).normalized;
        GetComponent<Rigidbody2D>().velocity = direction * speed;
    }
}

f:id:andron:20180529232216g:plain
おわかりいただけただろうか。写真を飛び交う不思議な光体を……。
この世界には未だ科学で解明できない不思議なことが存在するのである……。



あとがき

このスクリプトつくる際に、実際のオーブの挙動ってどんなもんなのだろうとか心霊動画漁っていたんですけどそういう動画まじまじと見ていたらなんか怖くなってしまったので、サイン波のせて適当に作ってしまいました。そういうのに詳しい方いらしたら情報ください。実際に実装にうつすかは知りませんが、興味があります。