作成者別アーカイブ: s2kw

[Unity]ロケーション情報取得で躓いた

Unityでロケーション情報が取得できずに全然違う方面のアプローチをしてハマってしまいました。

This app has attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSLocationWhenInUseUsageDescription key with a string value explaining to the user how the app uses this data

という表示がなされたのでグーグル先生にQiita先生を紹介してもらって解決しました。

続きを読む

[Unity]UnityとC#を学ぶ問題:007

第一問

前回作成したコードのUpdate関数も見やすくまとめましょう。

ヒント

if ( xxx ) return;
で以降を読まなくて済むやりかたが良いです。by readable code

答え(のひとつ)

if()returnを多用するようにし、ブロックを使わないことで見やすくしています。

第二問

SnakeHeadのスクリプトを編集して次の仕様を追加してください。

仕様

  • Head,Body,Tailを関係なく、cube -> sphere -> cube -> sphere … と交互にでてくるように変更してください。
  • その際、色は赤、青、緑、赤、青…と3色が順に出るようにしてください。

ColorSnakeBoxAndSphere from s2kw on Vimeo.

続きを読む

[Unity]UnityとC#を学ぶ問題:004

4日続きました。

第一問

ゲーム空間中に配置した球体を無限にバウンドさせ続けるようにコンポーネントを配置してください。

仕様

  • ゲーム空間にはPlaneがあります。
  • Planeは地面として使用するため動いていはいけません。
  • 同様に、ゲーム空間にはSphereがあります。
  • 再生ボタンを押下するとPlaneは移動せず、Sphereが落下し、地面に触れるとバウンドして元の高さかそれ以上の高さまで跳ね上がります。
  • これらはコードによる生成、Unityのシーン上で作成、どちらのやりかたでもかまいません。

ヒント

  • 落下にはRigidbodyを使用します。
  • 跳ねさせるにはPhysicMaterialを使用します。

続きを読む

[Unity]UnityとC#を学ぶ問題:003

三日続きました。三日坊主になるかが明日わかります。

第一問

マウスを押下したらその場所にCreatePrimitiveによって造られたCubeを配置してください。

仕様

  • オブジェクトは画面中央に表示する。正確な座標は問わない。
  • マウスを離すとオブジェクトは非表示になる。

答え

全開同様に当たり判定が取れる板コリジョンを用意しておきます。
gist;

ポイントとしては、 Input.GetMouseButtonUp(0) でCubeのGameObjectを SetActive(false) によって表示を消し、都度生成しないようにしてます。

第二問

マウスを押下したらその場所にCreatePrimitiveによって造られたObjectを配置してください。
マウスを押下する都度、Sphere -> Capsule -> Cylinder -> Cube -> Plane -> Quad – Sphere -> … と巡回するようにしてください。

続きを読む

[Unity]UnityとC#を学ぶ問題:002

二日目の問題を出題しました。
Unity本をやったことがある人が居たので後半は難易度が高いです。

第一問

マウスで画面をクリックすると、マウスでクリックした座標をConsoleに出力するようにしてください。

ヒント

  • Inputクラスを使ってマウスのクリックを取得します。
  • Debug.Log()でコンソールへの出力ができます。

第二問

マウスでクリックしたら、クリックした位置からワールド座標系における、カメラから10m離れたところにキューブを出現させてください。

仕様

当たり判定を取って、キューブの位置を決定します。

ヒント

  • Camera.main でカメラを取得できます。
  • ScreenPointToRayで画面座標からワールド座標へ座標変換されたRayを飛ばすことが出来ます。Rayとは光線みたいなものです。
  • 当たり判定は Collider 継承コンポーネントで取ることが出来ます。
  • PlaneやCubeなどのPrimitiveでCollider付きのGameObjectを予めゲーム空間に配置して、Rayの当たり判定を取れるようにしておきましょう。

続きを読む

[Unity]UnityとC#を学ぶ問題:001

取引先の若い人たち向けにUnityとC#でドリルをすることにしました。
c#を書けないスタッフ向け、という位置づけからスタートしています。
件のスタッフがUnityを使えるようになることを目標に、私自身の説明能力を高めるために、可能な限り細かく解説していこうと思います。

というわけで今日のお題と、追加仕様や仕様変更という形で応用を問題を用意しています。

第一問

UnityのHierarchy上で以下の状態を作ってください。

- Directional Light
- Main Camera
    - ここに駆動コンポーネントをアタッチします。名前は何でもOK。

- AAA0
    - BBB
        - CCC1
        - CCC2
        - ...
        - CCC10
- AAA1
    - BBB
        - CCC1
        - CCC2
        - ...
        - CCC10
...
- AAA10
    - BBB
        - CCC1
        - CCC2
        - ...
        - CCC10

仕様

  • AAAn と名前をつけたGameObjectにBBBが子として、CCCが孫として階層構造を持ちます。
  • AAAn CCCn は 1~10 の数字を割り当てます。
  • 1つのコンポーネントで上記を行います。
  • Unityの再生ボタンを押下して初めて結果がわかるようにします。

必要な知識

  • オブジェクトを new することを理解する必要があります。
  • for文、while文のいずれかを理解する必要があります。
  • GameObject の APIからnameプロパティの使い方を理解する必要があります。
  • Transform の API を理解し、親子構造を理解する必要があります。
  • ブロックとスコープの概念を理解する必要があります。

ヒント

解説

答えのソースコードはいずれアップしますが、大凡以下の解説を読めば動く形にはなるはずです。

続きを読む

上田城ロゴ

[AR]城ラマ上田城を公開・更新しました

城ラマシリーズとは別で、単独のアプリとして上田城をリリースしています。
これまでと同様に城ラマ上田城のパッケージ絵に、本ARアプリを起動したデバイスのカメラで捉えると立体的な上田城CGが表示されます。

よく見るとわかるのですが、兵士の集団が巡回する仕組みが追加されています。

また、今回の城ラマアプリには音声も追加されていて臨場感がたっぷり詰まっています。
水面の向こう側には天守閣が映り込み、これまで以上にグラフィックがパワーアップしています。
よくみると、真田親子が碁を打ってたりもします。鎧兜、碁盤、敷物にいたるまで全てに力が入っています。

城ラマ上田城をご購入いただいたお客様には是非体験していただきたい内容が詰まっています。

[VR]VR ZONE & GAME ON に行ってきた

VR ZONE

P_20160518_095950.jpg

VR ZONE は namco さんが出展しているDiverCityTokyoPlazaにある期間限定のブースです。中にはVRコンテンツが多数展示されていて、料金の違うコンテンツを600円〜700円程度支払って体験します。

入場するには予めネット上から予約を行って1時間半単位での入場時間を得ます。
公式サイト

入場時に首から下げる入場者用カードを手渡されます。
その後、バナパスポートというRFIDチップ入のカードを購入したり、入り口にあるチャージマシンで体験機で支払うバナコインを現金でチャージする必要があるので人数によっては数分の待ち時間を要します。

続きを読む