Translate

2017年1月19日木曜日

Unity Start()のどっかで永久ループさせた時、Debug.Log出ないんだ(泣)


Start()の処理のどこかで永久ループしてるっぽくて・・


綺麗だね〜・・風車?


下のように、永久ループしちゃうと、最初の方に
入れた Debug.Logもでないので・・

"A1"表示されません・・

どうやってデバッグするんだろう・・

連続用紙にプリントして、机上デバッグかね??

2017年1月16日月曜日

Unity ポリゴンアウトラインを3角ポリゴンMeshにするやつ

年末に中断していたやつの復活です。

仕様:
多角形のアウトラインを渡すと、3角ポリゴンMeshを作る

もう、忘れかけているので、考えを書いてみる

ベタなコードを書いてみる
List使ったり配列使ったりはその時の気分なり(B型)

とりあえず、正n角形ならできた

5角形

7角形

70角形

さて、次は複雑な形を3角Mesh化にチャレンジ



2017年1月15日日曜日

Unity 浮き橋的な、乗ると沈むような不安定な床2

昨日に引き続き、浮き橋的なやつ試行錯誤していました。
結論、"昨日のコードが案外良い"

オブジェクトが乗っかった時に、沈む力と
戻る動きがぶつかるためにカタカタする現象を消そうと、
オブジェクトが乗ってたら戻る力は出さない。
とか、Lerpをちゃんと0to1にするとかしたのですが、

OnCollisionExitが入らないときがあってうまく戻らなくなったりなどいろいろあり、不安定な床というゲーム
バランス的には、昨日のコードで大体よかったの巻。

ちょっと直したのは、当初のTransformと違ったら動く
としたくらい。
      void Update () {
        if(transform.position != orgPos || transform.rotation != orgQua) {
            transform.position = Vector3.Lerp(transform.position,orgPos,Time.deltaTime*3);
            transform.rotation = Quaternion.Lerp(transform.rotation,orgQua,Time.deltaTime*3);
        }

 何れにしてもインスピレーション起きないので、次。

2017年1月14日土曜日

Unity 浮き飛び石?浮き橋?的な、乗ると沈む床を作る

乗ると沈むけど、どければ戻るという
浮力を持った板とか氷とか見たいな動きを
作ってみようと思ったのでした。
こういうの何と言うのか、浮き橋?飛び石?浮き石?


とりあえずはできたが・・


以下、浮き橋のコード(要Rigidbody)
public class board : MonoBehaviour {
    private Quaternion orgQua;
    private Vector3 orgPos;
    void Start () {
        orgQuatransform.rotation;
        orgPos = transform.position;
    }
    void Update () {
         transform.position = Vector3.Lerp(transform.position,orgPos,Time.deltaTime*5);
        transform.rotation = Quaternion.Lerp(transform.rotation,orgQua,Time.deltaTime*5);

    }
}

そう、単にラープで位置と回転を戻しているだけです
通り過ぎるボールだと悪くはないけど、キャラだといまひとつなんだよな


何かガクガクする
コードが手抜きすぎて悪いんだろう




2017年1月13日金曜日

Unity 雪(snow) Gyro CameraでちょっとVRぽくした

昨日作った雪に
以前作った(コードあり)、ジャイロ読んでカメラ動かす
VR的な目線スクリプトをカメラに仕掛けてみただけ
スマホじゃなくWebで再現できる仕組みあるかなぁ・・


iPhoneに入れて動かして収録した、アニメGIF

なんで空が黒くなるのかわからんけど・・

雪はこれでいいか。
なんとなく満足してしまう自分が悪い気もするが、
何にもならん。
これはここまで。




2017年1月12日木曜日

Unity 雪(snow)

Winter has cam!

外は雪が降りつづいている
しんしんと音も無く

パーティクルだけです

ゲームオブスローンズ、シーズン7まだかなぁ..

 星じゃないよ雪だよ

 
 アニメGIF重くなっちまった
 
プロパティーの主要部分は以下
 あとは、collisionもつけてPlaneに落としました
マテリアルはデフォです
 

あっ、VR的に見えるようにしてみようかな !


2017年1月7日土曜日

Unity Editorで時間が経つと、Inspectorにしていたのに、Serviceタグが表示されてしまう問題

Unity 5.5にしてから、ちょっと目を離すと
UnityEditorでServicesタグが表示されてしまうが、
やっと自分だけじゃなく、UnityのBugっぽい事とわかった

(出たがりなサービスタグ君)

事象としては、以下。
・Editorで何らかのオブジェクトを選択して
 Inspectorを表示しておく
・ただ、数分待ってると、Inspectorが表示してあった
 部分にServicesタグが前面に出てくる。

邪魔くさい! って事です

5.5βの時からあった問題なんですね・・ 

※とりあえずの対策は、Servicesタグを消してしまうです

[現象確認Version : Unity 5.5.0f3]

Unity Gyro手なずけれていないの巻

ジャイロの値が機材であんまりにも違ってて、
それが何んでなのかよくわかっていない
以下、同じプログラムを入れて、同じ方角を向けて置いた。
X軸はだいたい同じだけど、Y軸とZ軸は個性ありますねー

左から、Nexus7('13)、XperiaZ、iPhone7


下の板はジャイロの動きを視覚化したものです、
スマホを動かした方に動いています。




2017年1月6日金曜日

Unity スマホのGyroでテレイン世界を見回してみた

前回のコードをテレインで作った世界の中心に置いたカメラに設定して、世界を見回してみた。


以下アニメGIF
スマホを持ってぐるりと回しただけです
コテコテUnityな世界だけど、ワクワクする!


需要は無いと思うけど、ゲーム作ってみたくなったの巻

Unity スマホのGyroを使ってカメラ目線を回してみた

以前作ったダルマ落としのカメラ目線をジャイロ使って
360度方向から見えるようにしてみた


スマホを手で持って、方向変えながら見ています




 
以下カメラ軸コード(カメラが月で軸が地球の関係のオブジェクト)
 
決して良いコードじゃないですが、参考までに。
画面タッチすると、そこを基準にして視点リセットします。

 
public class cam : MonoBehaviour {
    private Quaternion gyroini;
    private Quaternion gyro;
    // Use this for initialization
    void Start () {
        if(SystemInfo.supportsGyroscope) {
            Input.gyro.enabled = true;
        }
    }
    void Awake() {
        gyroini = Input.gyro.attitude;
        gyro = gyroini;
        gyroini = Quaternion.Euler(90, 0, 0) * (new Quaternion(-gyro.x,-gyro.ygyro.zgyro.w));
    }

    // Update is called once per frame
    void Update () {
        gyro = Input.gyro.attitude;
        gyro = Quaternion.Euler(90, 0, 0) * (new Quaternion(-gyro.x,-gyro.ygyro.zgyro.w));
        this.transform.localRotation = Quaternion.Inverse(gyroini) * gyro;   

        if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) {
            gyro = Input.gyro.attitude;
            gyroini = Quaternion.Euler(90, 0, 0) * (new Quaternion(-gyro.x,-gyro.ygyro.zgyro.w));
        }
    }
}





※StartやAwakeだとまだ、ジャイロ動いてない感です



2017年1月5日木曜日

Unity Input.gyro.userAccelerationでの加速度を視覚化してみた

重力加速度を差っ引いて、自分が動かした加速度だけを
取得できる、Input.gyro.userAcceletionというのを知った
ので、ちょっと試してみた。

以下は、加速度の値100回分をLineRendererで表示したもので、ぐるぐると円状にスマホを回してみました。



以下コード

public class pen : MonoBehaviour {
    private List<Vector3> data = new List<Vector3>();
    private float lpf = 0.3f;
    private Vector3 pos;
    void Start () {
        if(SystemInfo.supportsGyroscope) {
            Input.gyro.enabled = true;
        }
    }

    void Update () {
        pos = Input.gyro.userAcceleration * lpf + pos * (1-lpf);
        data.Add(pos);
        if(data.Count > 100){
            data.RemoveAt(0);
        }
        this.GetComponent<LineRenderer>().numPositions = data.Count;
        for(int i=0;i<data.Count;i++) {
            this.GetComponent<LineRenderer>().SetPosition(i,data[i]);
        }
    }
}





うまく使えば、室内自立測位的な事できるかなぁ






2017年1月4日水曜日

Unity Gyroセンサー値を見るツール

加速度センサーに加えて
ジャイロのセンサー値も見るツールにしてみたが、
視覚化をどうしたら良いのかが課題です

(数値の左は加速度、右がジャイロです)

Unityでのジャイロ値の読み出しは
gyro = Input.gyro.attitude で読んでいます
数値表示は以下で。
gyro.eulerAngles.x
gyro.eulerAngles.y
gyro.eulerAngles.z

ジャイロはどこかを基準にして使わないとならんでしょうね




2017年1月2日月曜日

Nexus7 (2013) 加速度センサー、壊れてた・・

Nexus7 (2013)の加速度センサーが機能していなかった・・
Nexus7(2013)とNexus7(2012)を同じプログラムで比較したところ、加速度センサーがまったく動いていないことが判明した。気づかなかった・・いつからだろう??

追記
こちらのブログの処方にて回復しました!感謝です!!
 




Unity 加速度センサーの値を見てみたら、機材差結構あるねぇ〜

加速度センサーの数値を見るアプリを作ってみた

数値は Input.accelerationで取得したデータを
桁を区切って出しているだけです。

しかし!
左から、iPhone7、AQUOS Phone 203sh、XperiaZ
を机に置いた状態で見たら・・
多少傾きがあるから、ズレはあるだろうけど、XperiaZの
下向きのセンサー値はいつも1を超えています・・
これでいいのだろうか?
とにかく、加速度センサー値って数パーセントの範囲で機材によって違うもんなんですねー

-以上-