Lab 7 in Singapore

Unityでのゲーム開発、プログラミング教育、AIに関して。たまにシンガポールのネタも。

Basic

【Unity】Windows で iOS アプリをリリース(概要)

少なくとも現在、私は Macを持っていない Windows ユーザです。
(もしかしたらそのうち購入するかもしれませんが。)

しかし、最近私は iOS版アプリ「マーライオン アドベンチャ」をリリースしました。
( マーライオン アドベンチャ (iOS) )

よく iOS版をリリースするには何かしら Macが必要だとよく言われています。
私もそう信じていたのですが、いろいろ情報をかき集めてみると できるような気がして、試してみました。
結果は既に上記したとおり、Macなしで iOS版のリリースができました。
(けっこう大変でした。。。)
今回はその方法をお伝えしようかと思います。
続きを読む

【Unity】Unity Ads 使用時のエラー対応

今回リリースしたゲームでも広告として Unity Ads を使用しました。
ほんとに Unity Ads は簡単に動画広告をつけることができます。

と、簡単簡単と頭にあり、この同じエラーにぶつかり何度も なんだと悩みました。
「error CS0433: The imported type 'UnityEngine.Advertisements.ShowResult' is defined multiple times」
Unity ADS error_01
続きを読む

【Unity】Physics.Spherecast を試してみた

前に Physics.Raycastを試して、その結果をこのブログで書きました。
( カメラからの Raycast を試してみた:http://blog.lab7.biz/archives/2379340.html
( Physics.Raycast を試してみた:http://blog.lab7.biz/archives/2256403.html

その後も、けっこう Physicsクラスの Cast系の実装をしますが、すぐ実装法を忘れてしまって自分のブログを参考にすることがよくあります。
と言うことで、他の Cast系メソッドに関しても記述しておこうかと思います。
かつ、他の人の役にもたてれば何よりです。
(Raycastよりは使用頻度は少ないと思いますが。)
続きを読む

【Blender】Blenderでお父さんマーライオンを作ってみた

以前、Blenderでシンガポールのマーライオンパークにいる子供のマーライオンの3Dモデルを作成して本ブログで紹介しました。
http://blog.lab7.biz/archives/3399182.html

その際にも宣言してありましたが、今回セントーサ島(ユニバーサルスタジオ等多くの観光スポットやホテルがあるリゾートアイランド)にいる、お父さんマーライオンの3Dモデルを作りましたので紹介いたします。
その作成した3Dモデルが以下となります。
Merlion_Big_Title_01
続きを読む

【Blender】ミラー機能で変な場所に表示される件

自分でよく調べなおさなければならないネタは、自分の備忘目的だけでなく、必要としている人もいるだろうと思い積極的にブログに載せていきます。

オブジェクトをコピー、移動、回転、またコピーとか行っていると、コピー先でミラー機能がうまく機能しないことがあります。
以下のように。
Blender_Center_01

これは、オブジェクトの原点(Origin)が各種操作時にずれてしまったことによります。
(オレンジ色の点がオブジェクトの原点。)
これを中心にミラーや回転が行われると変な動きが起こったよううに見えてしまうわけです。

続きを読む

【Unity】Texture への描画を試してみた Part 2

前回軽くTextureへ直接描画をする方法を紹介しました。
http://lab7.blog.jp/archives/2924409.html

今作っているゲームはこの方法を基盤にするものです。
せっかくなので、初心者でも使いやすく、もう少しこの描画ロジックを説明しようかと思います。


まず、Texture への描画ロジックは以下です。
より分かりやすいように、日本語でのコメントいっぱい入れてみました。
移動する GameObjectが、Fieldの Texture上での自分のUV座標を引数に Paint_Lineメソッドを呼び出す形です。

public class Test_Draw : MonoBehaviour {
 // テクスチャは正方形、移動オブジェクトは立方体の前提
 private const int C_TEXTURE_SIZE = 500;//テクスチャの一辺のPixel数
 private const int C_OBJECT_SIZE = 25; //立方体一辺のPixel数
 private Color[] buffer; //色情報操作用のバッファ配列
 private Color OBJECT_COLOR = Color.yellow; //塗る色の指定
 // 塗るテクスチャ座標はオブジェクトの中心座標なので一辺の半分を事前計算
 private int object_Halfsize = (int)( C_OBJECT_SIZE / 2);

 //説明①
 public void Paint_Line (Vector2 point) {
  // UV座標をテクスチャのPixelでの座標に変換
  // この変数をループでの変数に使うので int に型変換
  int point_X = (int) (point.x * C_TEXTURE_SIZE);
  int point_Y = (int) (point.y * C_TEXTURE_SIZE);

  // 現在のTextureの色情報をバッファ配列にコピー
  Texture2D mainTexture
= (Texture2D) GetComponent<Renderer> ().material.mainTexture;
  Color[] pixels = mainTexture.GetPixels(); //説明②
  buffer = new Color[pixels.Length];
  pixels.CopyTo (buffer, 0); //説明③

  //オブジェクトのある X,Y座標(UnityのX,Z座標)部分のPixel座標をループ。
  for(int x = point_X - object_Halfsize;
x < point_X + object_Halfsize; x++){
   for(int y = point_Y - object_Halfsize;
y < point_Y + object_Halfsize; y++){
    // バッファ上でオブジェクトのある Pexel座標の色情報を変換
    buffer.SetValue (OBJECT_COLOR, x + C_TEXTURE_SIZE * y);
   }
  }

  // 色変換をした色情報バッファをテクスチャに反映
  Texture2D drawTexture = new Texture2D (mainTexture.width,
mainTexture.height, TextureFormat.RGBA32, false);
  drawTexture.filterMode = FilterMode.Point;
  drawTexture.SetPixels (buffer); //説明④
  drawTexture.Apply(); //説明⑤
  GetComponent<Renderer> ().material.mainTexture = drawTexture;
 }
}

説明①:
Paint_Lineメソッドの引数 Vector2 pointはテクスチャのUV座標を渡す。
UV座標とは原点 (0,0)がテクスチャの左下で、右上が (1,1)となります。
よって、0~1の範囲と言うことになります。

説明②:
Color[] Texture2D.GetPixels:テクスチャからピクセルの色情報を取得します。

説明③:
CopyTo:配列のコピー。配列のコピーでは=を使うと参照コピーになってしまう。
http://lab7.blog.jp/archives/2651297.html

説明④:
Texture2D.SetPixels(Color[] colors):色情報バッファをテクスチャに反映。
テクスチャにピクセルカラー配列 colors(上記プログラム内ではbuffer)を指定します。

説明⑤:
Texture2D.Apply:SetPixels関数による変更を実際に適用する。

【Blender】Blenderでマーライオンを作ってみた

子供のマーライオンの3Dモデルを作ってみました。
自分のゲームで使おうかと思っています。
Merlion_Kid_17

と言っても子供のマーライオンはあまり有名ではないですかね。

日本在住の方でもシンガポールのマーライオンの像はご存知かと思います。
実はシンガポールにはいくつもマーライオンの像があります。

一番有名なのがマリーナベイサンズ近くの Merlion Park にあるマーライオン。
そして、そこには2体のマーライオンの像があります。お母さんと子供です。
お母さんのほうが最も有名なマーライオン像ですね。
で、その後ろに子供マーライオン像があります。
Merlion_Kid_07
(後ろに見えるのがお母さんマーライオン)

あと、ワイヤーフレームも。
Merlion_Kid_09
やっぱり3Dモデルはワイヤーフレームがテンションあがりますね。

次はセントーサにあるお父さんマーライオンを作ってみようかと思ってます。
そちらもゲーム用に。

Game App from Lab7
GooglePlay_Top_2 (Android, iOS) GooglePlay_Top_2 (Android, iOS) GooglePlay_Top_2 (Windows)
Sponsored Link
Contact [お問い合わせ]
Blog Visitors [訪問者数]
  • 累計:

Sponsored Link