Lab 7 in Singapore

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

【バブルミルクティ】「LiHo」

今回は「LiHo」と言うバブルミルクティのお店。
ここも私の職場の近くにありますが、とても他の店とは違う特徴を出してるお店です。
LiHo_01

まず味。とてもとてもミルクテイスト。
コーヒー牛乳に(ティか)タピオカを入れている雰囲気。
ちょっと私の口には合わなかった。
私の同僚も似たような意見だった。
LiHo_03

容器も他店とはかなり違いますね。
少し固めのプラスチック容器に蓋は取り外し式のプラスチック容器。
この容器、容器を逆にしてSugar をよく混ぜることができない。
(他店では普通は透明のフィルムが貼り付けられこぼれなくなっている。)
またストローも見たことないような巨大さ。

値段3.3ドル。まあ普通かな。
私の中ではバブルミルクティの店なら3ドル前後が普通なイメージ。

あと、メニューにあるチーズティとは。。。
チーズ嫌いな私には想像もつきません。
LiHo_02

この店、他の街でも見たことあるけど、売れているのかな?
なんかあまり はやらないような気がする。。。。

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

オブジェクト上に貼り付けた Textureへ直接描画することを試してみました。
今回は北村愛実さんの以下のブログを参考にさせて頂きました。
http://nn-hokuson.hatenablog.com/entry/2016/12/08/200133

オブジェクトをキー操作して、オブジェクトが通った座標に指定した色を描画しています。



2つのクラスを作っていますが、Test_Drawが描画に関わ
る部分で、描画するオブジェクトにアタッチしてます。Test_Moveの方は、移動するオブジェクトにアタッチして、移動処理と描画する座標をTest_Drawに送っています。
Unity_Texture_Drawing_Test_02

ここでは、描画のメインパートであるTest_Drawのみソースを張り付けておきます。
(Test_Moveは移動処理や座標変換処理だけで単純です。)


public class Test_Draw_01 : MonoBehaviour {
    private Texture2D drawTexture ;     private Color[] buffer;

// Texture size (pixel) and Object size (pixel)     private const int C_TEXTURE_Z = 500;
    private const int C_OBJECT_X = 50;
    private const int C_OBJECT_Z = 50;
    public void Paint_Line (int point_X, int point_Z) {
        // Copy current pixels of texture to buffer         Texture2D mainTexture = 
(Texture2D) GetComponent<Renderer> ().material.mainTexture;         Color[] pixels = mainTexture.GetPixels();         buffer = new Color[pixels.Length];         pixels.CopyTo (buffer, 0);
        // Change pixel color of drawing area         for(int x = point_X - (C_OBJECT_X/2); 
x < point_X + (C_OBJECT_X/2); x++){             for(int y = point_Z - (C_OBJECT_Z/2); 
y < point_Z + (C_OBJECT_Z/2); y++){                 buffer.SetValue (Color.yellow, x + C_TEXTURE_Z * y);             }         }
        // Update pixels of texture with changed pixels         drawTexture = new Texture2D (mainTexture.width, 
mainTexture.height, TextureFormat.RGBA32, false);         drawTexture.filterMode = FilterMode.Point;         drawTexture.SetPixels (buffer);         drawTexture.Apply();         GetComponent<Renderer> ().material.mainTexture = drawTexture;     } }

Test_Draw内の Textureへ書き込む部分は、以下のような流れになっています。
まず元のTextureの各ドットの色情報を取得して、bufferにコピー。
受け取った移動オブジェクトの位置を中心にオブジェクトのサイズ分の領域にあるピクセルの色情報をbuffer上で直接変更。
(この部分を変更すればどうにでも描画できる。)
そして、最後に色変更をした bufferを実際のTextureに上書き。

上記の buffer上で色情報を直接変更する部分を書き換えて、このメソッドを座標を引数としてコールすれば Texture上で好きなように描画ができるわけです。
お試しあれ。

【Program】本紹介「確かな力が身につくC# 「超」入門」

前にUnityの基礎本として取り上げた「はじめてでも安心! Unity5の教科書」の作者である 北村愛実さんが書かれた C#専門の入門書 「確かな力が身につくC#「超」入門」を読んでみました。
(「はじめてでも安心! Unity5の教科書」の紹介はこちら。
URL: http://lab7.blog.jp/archives/2291620.html

本書は C#の文法基礎、オブジェクト指向に関しての基本、Visual Studioを用いた C# Windowsアプリの基本的作成法が詳しく書かれています。
読者の対象は他の言語も含めプログラムを初めてやる人ですね。
(北村愛実さんの本は前作もそうですが、かわいい絵がいっぱいで、超初心者には もってこいですね。
このかわいいイラスト全てご本人が描かれているそうです。初心者本にはイラストは超重要ですよね。)

確かな力が身につくC#「超」入門
北村 愛実
SBクリエイティブ
2017-07-26



続きを読む

【Cinema】「Chicken Rice War」

かなり昔に観たシンガポール映画を紹介します。「Chicken Rice War」。
名前から言ってコメディ感がすごく出ていますが、ロマンティックコメディに入ります。
ロミオとジュリエットのシンガポール バージョンと言う映画になります。
(Trailer: https://www.youtube.com/watch?v=eS0c0JIs7L4)

シンガポール名物のチキンライスは日本の方々もご存知だと思いま
す。
主人公の男女2人のそれぞれの親は、あるホーカーの一角で隣り合うチキンライスショップを経営し敵対関係にあります。
そして、主人公達は同じ学校に通って、演劇をやっています。

May Yee Lum 演じる女の子は学校では人気のあるきれいな女の子。
Pierre Png 演じる主人公は当然彼女のことが大好きです。
親が敵同士である二人、ロミオとジュリエットのように許されない愛、と言うか主人公の男の子の一方的な片思い。
さて、彼らの恋の行方は。。。と言うようなシンガポールらしいコメディ映画です。

主演の2人、Pierre PngとMay Yee Lumは他の映画にも出ているようですが私は観たことがないです。
今回が初めてです。
特に、May Yee Lumのお高くとまったいやな感じの美人役はとても合っていた気がします。
きっと私は声がかけられません。。。。。

チキンライス店の映画でもあるので、チキンライスを下ごしらえしているシーンなんかはすごくうまそう。
やさしく艶めかしくチキン達(既に蒸し終わっているチキン)をもんでスープにつけて仕上げていきます。
こんな風に作られてるんだとか、あまり見る機会のないものを知ることができるのもローカル映画の良いところですよね。

<で、ここからネタバレも含みます。>
(この映画を日本で観る機会はないでしょうから良いでしょう。)

二人がやっている演劇はもちろんロミオとジュリエット。そして、もちろんその彼女がジュリエット役。
最初は彼女のかっこいいほんとうの彼氏がロミオ役をやっていましたが、主人公はロミオ役をやりたくて立候補。
彼女にはかっこ良くないやつにロミオが務まるわけがないくらいなことを言われますが、主人公は必死で練習。
そしてとうとう、ロミオ役をゲットします。
彼の必死さ真剣さと、キスシーンの公開練習中にほんとの彼氏が主人公を殴ってしまうような事件もあり、彼女の気持ちはとうとう主人公の方に。

すると最後に問題になるのが、本番の際には敵対関係の両親達が来てしまう。
やはり本番の最中に敵対関係の両親たちは大喧嘩。。。

そこで、主人公は戦いを止めて訴えます。誰もそんなばかげた戦争に関心はないんだ。俺たちはこの一夜のために半年練習してきた。俺たちみんなが今夜はスターであって、争っているあなたたちではない。このばかげた戦いがメンバみんなの重要なものを壊してしまった。あなた達はいつも通り喧嘩ができてハッピーだろうが、俺たちは夢が壊されてとても怒っていると。
これで、考え直した両親達の戦争も終結し、主人公たちも恋人通しになり めでたしめでたし。

予想通りのシンガポール風ロマンティックコメディと言う感じですね。
単純に面白かったです。

【Program】本紹介「Unityではじめる おもしろプログラミング入門」

今回は、子供向けプログラミング本の「Unityではじめる おもしろプログラミング入門」に関して。
私にとっては、プログラミング教育のジャンルとして読んでおります。

本書の対象は初めてプログラミングをトライする中学生以上向けとなっております。
実際に子供が自分一人で本書を読んで全体を理解するには中学生以上が良いかと思います。
しかし、書いてある内容はかなり初歩的なC#プログラミング、Unityの操作法なので、誰かのサポートがあれば小学生中学年から参考にできる本かと思います。
Unityを用いたプログラミング教育の補助資料としても良いでしょうね。



続きを読む

【Blender】ラティス使用時の注意点

Blenderを使っていて何度かやってしまった失敗に関して、自分の備忘目的だけでなく、もしかしたら はまってしまった人を助けれたらと思い記載します。
私は数回やってしまいましたが、ネットにこれに関して焦点をあてている記述があまりみつからないので常識なのでしょう。

Blenderのラティスの使用に関して。
結論はラティスオブジェクトを追加してターゲットとの大きさの調整をする際にはオブジェクトモードで行いましょう。

エディットモードで大きさを合わせたりすると、ターゲットのオブジェクト側でラティスの紐付けを行う際にオブジェクトが崩れてしまいます。
(以下のような感じに、ターゲットオブジェクトに変形が影響します。)
【紐付け前】
Blender_Lattice_01

【誤った紐付け後】
Blender_Lattice_02
(何を作っている最中だ!と言うような例ですが)

何回かやってしまい、かつどうすれば良いか忘れてしまって同じ調査をやってしまったので。
この記事が未来の自分だけでなく、誰かの助けになれれば幸いです。

【バブルミルクティ】「i-tea」

またまたシンガポールのバブルミルクティ紹介。
私が最近とてもはまっているお店が「i-tea」。チェーン店でシンガポールに(たぶん)6店くらいあるお店です。
(超メジャー KOI Cafe に比べると小規模ですね。)
i_cafe_01

会社の近くに1店あり、とても安い。この安さが魅力。
バブルミルクティ Mサイズ2.3ドルです。KOI Cafeの3.4ドルに比べると毎日飲める価格ですね。
KOI Cafeに比べると味はノーマルと言う感じかな。まあ美味しいくらいです。。。
i_cafe_02

価格以外で、このお店何が良いかと言うと、スタンプカード。
このスタンプカード、12杯買うと無料になり、4杯目と9杯目に無料でLサイズにアップサイズできます。
同僚と行くとすぐにスタンプがたまってしまうんですよね。

あと、以下のようなデザートも安くてうまい。
i_cafe_03

たまに食べながら仕事をしています。
こちらも甘い物好きの方にはお薦めです。

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