2014年12月26日金曜日

【unity C#】Prefab生成時に名前の後ろにつく(clone)を消す方法

UnityでPrefabをInstantiateすると自動的に名前の後ろに(Clone)がつきます。
今回こまったのが他のスクリプトからオブジェクト名を使って指定しているため(Clone)がついていると名前が違うため指定できません。

それではC#での(Clone)を消す方法を紹介します。

using UnityEngine;
using System.Collections;

public class nametest : MonoBehaviour {
public GameObject target1;
void Start()
{
GameObject newTarget1 = (GameObject)Instantiate(target1);
newTarget1.name = target1.name;
}
void Update () {

}
}


あとはInspectorでtarget1にPrefabをセットしたらOKです。
javascriptでの書き方はググればすぐ出てくるのでそちらをどうぞ。


参考サイト
 http://answers.unity3d.com/questions/28114/remove-clone-from-instantiated-gameobjects-name.html





2014年12月14日日曜日

カメ○メ波が出せるようになったぜ!

子供の頃のごっこ遊び。
カメ○メ波出しまくってた(つもり)



でもふと現実に戻ると何も出ない。
あんなに気を練り込んだのに。



これからは違う。
出せる!!!出せるぜ!




左半分は術者の動きの映像、
右半分は術者が顔に付けているスマートフォンで表示される映像。
動画前半はエネルギー弾出してる。映像よりも発射音重視の技。

圧巻は0:20からの映像である。
術者が腕を振り下ろすと同時に稲妻がほとばしる!
最後は必殺技でドラゴンを消し飛ばす!

技を出すのに必要なのは、Androidスマートフォンと
Android Wear搭載のリストバンドデバイス、
そしてmeleap製のアプリ。
あと気合い。

使用端末:Android Wear(Samsung gear live)
        Android Smart Phone(Xperia Z3)
開発環境:Android Studio, Unity

Wearの加速度センサ値を基に独自アルゴリズムを使用した。
術者の動きを事前に登録しておき、リアルタイムのモーション判定を実施している。
登録する動きは何でもおっけー。現時点では3パターンのモーションを認識する仕様。

※)顔に付けてるスマートフォンから伸びるケーブルは、
  右半分のスマートフォン画面動画を取るためで他の処理は何もしていません。

次は動き回りながら技出せるようにするよ!
ほんじゃーね!

2014年12月9日火曜日

Android Studio 0.9.9へのアップデートに伴うエラー

Android Studioをアップデートするとこのようなエラーが出たので解決方法を載せておきます。


Error:The project is using an unsupported version of the Android Gradle plug-in (0.12.2). The recommended version is 1.0.0-rc2.
<a href="fixGradleElements">Fix plugin version and re-import project</a>

Error:(16, 0) Gradle DSL method not found: 'runProguard()'
Possible causes:<ul><li>The project 'PopSomeGotSome_20141202' may be using a version of Gradle that does not contain the method.
<a href="openGradleSettings">Gradle settings</a></li><li>The build file may be missing a Gradle plugin.
<a href="apply.gradle.plugin">Apply Gradle plugin</a></li>



どうやら runProguard というものがないらしい。グーグルで調べてみると出てきました。
build.gradle 内にある runProguard を minifyEnabled に変更するとエラーが解決するとのこと。


 buildTypes {
        release {
            runProguard false ←をminifyEnabled falseに変更
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

build.gradleの場所は画像を参照してください。
wearのアプリも作っている場合は両方とも変更が必要です。
最後にSync Project with Gradle Filesをクリックするとエラーが消えました。
アップデートすると今まで動いていたものが動かなくなるというのはやめてほしいですね。