UnityでFloat使うなら、座標系だけにしとけ

たまにはUnityの話でもするかということで、Unity上で数値=Floatの危険な考え方についての記事を書く。

 

大体1本2本くらいソフト作った開発者や、コンピューター系の学校出てる人は知ってるかもだけど、Floatという型は案外使い勝手が悪い。

何故かというと、浮動小数点というモノの性質のせいだ。

 

Unityで座標を細かく設定したり、角度を調整したりするとよくある事だが、0.000001くらいの細かな誤差で座標がずれてくることがある。

通常であれば、全く気にすることのない程度の誤差だが、MMORPGなどを作っているとこれが大問題になる。

勘の良い人はもう気付いたかもしれないが、MMO内でのプレイヤーの資産等も、この誤差により必ずしも正確ではない数字になる事がある。

 

特に課金ポイント、昨日まで250ポイントくらい持ってたはずなのに、今日なぜか249ポイントになっていたという現象が起きるわけである。

そうなってくると、せっかく楽しんでもらってお金まで頂いたというのに、警察沙汰になりかねない。

 

だから、重要なところでは、キッチリ整数を使いましょう。

マイナス値を扱わないのであれば、19ケタまで自由に使えるulong型がオススメです。(9が19個)

もっと大きな数字を使いたい場合も、System.Numerics.BigIntegerというクラスを使えばいけるようです。

困った事になる前に、適切な型の変数を利用しましょう。

 

ちなみに、Floatは比較の際に0比較しないほうが良いことも言っておきます。

IF( 1f – 1f == 0 )

一見正しい式に見えますが、FloatやDoubleの場合、必ずしも0イコールになるとは限りません。

IF( 1f – 1f < Float.Epsilon )

このように書きましょう。(Epsilonは任意の誤差値で置き換えても良い。)

映画の音量差って酷い

映画をレンタルして来て見てるんだけど、予告編の部分と本編の部分の音量差ひどいよね。

なぜ誰もこの点について異常だと思わないんだろう。

 

音量大から小へ流れるから、耳を傷める可能性は低いから良いんだろうか。

 

音量が大きい方がインパクトは残せるけど、もう慣習としてやってるだけになってる気がする。

しかも他の作品の予告より音量上げるぞっていう悪循環が発生してる気がする。

 

DVDなら手元で変えればいいけど、映画館とかだったら本編の音量小さすぎて面白くなくなりそう。

まあ、映画館では見ないタイプの人間だから良いけどね。

coinhiveなど仮想通貨がもたらす、ゲームの収益化に新たな風

coinhiveというWEB上で動作させるスクリプトがあるらしい。

仮想通貨のマイニングをJavascriptで行うことが出来るという代物で、サイト観覧者のマシンパワーを借りて収益を上げることが出来るそうだ。

この件について、警察組織や司法は、このソフトウェアをウィルス扱いして、サイト運営者を逮捕したりしてるらしい。

 

んでここからが本題だけど、このスクリプトを使えば、サイトの運営者は外観を損なうWEB広告を使わなくても、収益を上げることが出来るという事になる。

つまり、現状のWEB広告だらけのインターネットの世界に新たな可能性を開くことが出来るわけだ。

たとえばWEBに限らず、Android端末でゲームに利用するとしよう。

そのゲームは、仮想通貨マイニングの権限を要求してきて、インストール時に同意を求められる作りにする。

ゲーム起動中は、マシンパワーのおよそ10%をマイニングに活用する。

ゲームをプレイする人口が100万人なら、およそ10万台のAndroid端末でマイニングをしているのと同じ効果を得られる。

これにより、プレイヤーはアイテム課金や月額課金から解放される。

もちろん、各種課金制度を併用するのもアリだろう。

この手法は、収益性を盛り込むことに悩むゲームデザイナーの強い味方となるはずだ。

 

*ちなみに、このサイトにはcoinhiveは埋め込まれていませんし、埋め込む気もありません。

セクハラ罪

最近よくテレビで見かける麻生さんの発言についてよく思うこと。

 

「セクハラ罪という罪はない」って言ってるけど、それなら「嫌がらせ罪」とか「無視罪」とかもないからやっても良いって事になるとか本気で思ってるのかな。

 

それに、立法の専門家がそんな事を言ってるって事自体が恥ずかしいって事に気付いてないのかな。

「私は法律を知りません」とか「私たちの作った法は抜け穴だらけです」って言ってるようなものなのに。

ギックリ腰

最近腰が痛いな―と思ってたら、ついにやっちまったギックリ腰。

ギックリ腰って急になるものかと思ってたけど、じわじわ来て、何かの拍子に決まる事もあるらしいですね。

おかげさまで、3日間静養しなきゃいけなくなってしまいました。

幸いにも、すぐに知り合いが良い医者を紹介してくれたおかげで、気を付けてればほとんど痛みもなく生活できています。

 

みなさんも、ギックリ腰来たらまずは慌てず横になって、小一時間ほど安静にして、ゆっくり動けるようになったら医者に行きましょう。

炎症が起きてる場合もあり、その時は無理に動かしたりお風呂に入ると酷くなるそうですよ。

1 2 3 24