ゲームのメイン舞台?メインでもないか
代表的な街のひとつ、天狗横丁
ちょっと容量、負荷的なシェイプアップを行いつつ
雰囲気自体もガラッと変えてみた。
歌舞伎町とかススキノみたいな夜の繁華街のイメージでしたが
ちょっと夕暮れダウンタウンみたくしてみました。
(C)OR/織. ※左下キャラクターイラスト
これには深い事情がございまして
街の3Dデータのシェイプアップを続けるうちに壁にぶつかってしまいました。
なんせ夜の街、街灯が光りやがるせいで物体に光が当たってカゲが発生しちゃう
んでもって夜の繁華街、あちこち街灯だらけ、と
この光源の負荷がハンパない感じ
文字だけで表現するとすんごいわかりにくいですが
カンバンについてるネオンが光る
→ 1.カンバンそのもののカゲ計算
→ 2.カンバンのついてるビルとか、カベの凹凸のカゲ計算
→ 3.カンバン付近の電柱とか柱とかのカゲ計算
→ 光源1個につき上記1.2.3.が1回発生
無数の光源がある場合、無数にこの計算が・・・!!
とか、そういうのがもう大変な感じに。
いちいちカゲ計算をせずに予めカゲを焼き付けちゃったり、という手もありますが
ただ光ったまま点滅も何もしないネオン、ってのが逆に味気ない
街の3Dモデルデータ自体を調整して頂点を減らしたり・・・
とか、なんかそれらしくごまかす、とか逃げ道というのはあるのかもしれませんが
「夜の街」の表現にこだわるか
方向性を変える事で負荷の原因となる光源を減らすか、の選択で
方向性を変える事にしちゃいました。 というわけでの夕暮れ風味
夕暮れはいいですよ。
・まだネオンビカビカさせる時間じゃない
・夕暮れなので、光源は太陽1点のみ!!
・なんかオレンジっぽくて綺麗
そしてまさかの副産物も。
●お買い物ができるショップ スターゲイザー法律事務所
(C)OR/織.
すんごいロクでも無い事言ってますね
自称弁護士が経営しているスターゲイザー法律事務所
(自称弁護士は スターゲイザー大竹 という偽名で活動しています)
こちら、買い物時に店内に入れるのですが
当初の予定では夜のオフィス、フツーの蛍光灯とかで照らされた仕事場だったんですが
(C)OR/織. ※左下のキャラクターイラスト
街が夕暮れに包まれたということで、こちらも夜のオフィスから
夕暮れのオフィスに方向転換
メニューのボタンが邪魔でわかりにくいですが
室内灯をつけずに、全てが真っ赤な夕陽に照らされてる感じ
ここでは恋愛要素ゼロですが
放課後居残りドキドキ男女的なシチュエーションですね
上手に表現できているかはさておき
なかなかカッコイイ方向の演出に切り替える事ができたんじゃないかなぁ、と。
たぶん。
そして、前回調子こいて仏いじりなる禁忌を犯してみましたが
今のところ目立った天罰は受けていません。
こういうのは死後に下されるのかな?
天罰どころか、ゲーム内の致命的なバグの解消に成功
という御利益が発生して小躍りしそうなくらい嬉しい状態です。
なんかわけわからん内容なので、あんまり書いてもアレかもですが
・ゲーム内の物体を画面に表示する為にはゲーム内に カメラ を配置して使用する
・カメラの種類はザックリ2種 平面カメラ 立体カメラ
→平面カメラ どんな物体も二次元的表現、手前とか奥の概念が無いので
手前/奥に傾けたりできない。
サイコロで言うと、プログラムからどれだけ命令しても
ずっと同じ目が出たままの表示のみ
→立体カメラ 3Dの物体も2Dの物体も、手前/奥 に傾けて表示できる
サイコロをクルクル回して表示できる!
で、問題のバグですが
無文字のボタンの絵 + 文字 の組み合わせ時に
ボタンタップに対する反応演出でボタンを少し潰す様な命令をしたい場合
Transform.DOScale(new Vector3(0.5f, 0.5f, 0.5f), 1f);
なんか、プログラム中にこんな命令文を書くんですが
ザックリ解説すると DOScale という、物体を拡大縮小するヤツで
X方向、Y方向、Z方向は 0.5 的なパワーで縮小
それを 1 の時間をかけて実行してね。 的な意味の一文です。
で、これを 立体カメラ に映っている
「無文字のボタンの絵 + 文字」に実行すると
[戻る] ← こんなボタンが
[□□] ← こんな感じに、文字が潰れて表示されてしまう
ボタンをぷにっ、と少し縦方向に潰したいだけなのに
文字そのものが潰れてしまい台無しになる感じ
同じ条件の物体を 平面カメラ に映している場合においては
この事象は発生していなかった。
仕方が無いのでボタンは平面カメラメインにするかなあ・・・としぶしぶ諦めていましたが
ダンシング仏像を作成した少し後に、フッとプログラムを見直してると
先程解説した箇所が
Transform.DOScale(new Vector3(0.5f, 0.5f), 1f);
こんな感じになっていました。
ほんと、文字で見ると些細な差ですが
ダメな例 → Transform.DOScale(new Vector3(0.5f, 0.5f), 1f);
良さげ例 →Transform.DOScale(new Vector3(0.5f, 0.5f, 0.5f), 1f);
そう、 0.5f の表記が一個足りていなかったのです。
完全なるアホッぽい筆記ミス。
3つ目の 0.5 のとこは、特にこだわらないので
適当な値でよろしくねー 的な命令になってたのかな?
これを発見してそそくさと直してテストしてみたところ、ボタンの文字は潰れなくなりましたとさ。
なんかわけのわからない話でしたが
まぁ、これは御仏の御加護ではないかと思う事にしました。
そしてまたしても神々しい存在に対しての邪推
もしかして今回の一連の出来事は
「ほら、御利益とかを与えられる存在なんですよ!私は!」
「だから!ふざけてちょっかい出したらガチで天罰を下しますよ!!」
というメッセージだったのか・・・なんて。
でも・・・前にも書いたっけな?コレ
神の存在はもとより「天罰」って、すんごい人間にとって都合が良いですねって思う
まぁそれが、舐めたマネしやがったらボコるぞオラァ! 的な意味合いの
メンツを保つ系の天罰ならば別ですが
過ちを犯したら体でわからせるぞコラァ!! という、軌道集計の為のお叱り なわけですから
そんなにそんなに人間にとって都合の良い存在はいないと思っています。
人間の道徳の範囲内で言うと(?)
子供の場合、一般的な育ち方をすると
親の善悪の判断基準に従って、ふざけたマネをしたら叱られる
良い行いをしたら褒められる、的な感じに真っ当な方向に育成されていくわけですが
いわば、これのふざけたマネをしたら叱られる が天罰
まぁ、天罰で殺される事もあるのかもしれませんが
真っ当な方向に修正してくださるわけです。
きっと実際のところ人間そのもの全体的な感じだと、ふざけたり間違ったりしても
どこの誰も叱ってくれず、修正してくれず
単に変な方向に突っ走って自滅していくだけ。 じゃないかなぁと。
人間同士のあーでもないこーでもない、は存在しても
神 → 人間 のご指導は無いんじゃないかなーって。
どうしても神の教え、天罰、とかそういうのは
何者かの私利私欲の現れ、と思ってします。
牧場から家畜が逃げだしたら、飼い主的に都合悪いし利益も落ちるから
周りの柵に電流を流しておいて、触れたら痺れてわからせる(←天罰)
さぁさぁ、当牧場に利益をもたらしなさい!!家畜達よ!!
なんじゃないかなぁ。
あんまり表立って神を批判してると
アプリ申請時の審査でまずい事になりますね。トホホ。
海外の大きく関わる分野で神批判とかすると
最悪、爆薬を体に巻き付けた使徒が家に突っ込んできたりしますしね。
さぁ、頑張って続きを作ろうっと。