VRMで正規乱数を得るには

VRMスクリプトで正規乱数を使いたい、というときにどうすればよいかというお話です。

正規乱数」とは「正規分布に従う乱数」のことです。正規分布とは何のこっちゃいという話から始めると長くなって終わらなくなりますが、「平均のまわりはたくさん、平均から外れるほど少なくなる」ようなものです。テストの点数とか、近所の奥さんの体重とか、そういうものに見られる分布だと云われています。(下図は正規分布のイメージ(確率密度関数))

DisNormal02.svg
By User:HiTe - Own work, Public Domain, Link

VRMスクリプトで乱数を得る方法というとrand命令と、その他毛の生えた様なのがいくつか。これらはすべて「一様乱数」というものであります。

rand命令は0.0から1.0の間で適当な数を取ってきます。平均は当然0.5です。が、平均の近くがたくさん出てくるわけではなく、0.0から1.0までおよそ均等に出てくる、と。これが一様乱数です。

VRMスクリプトで一様乱数から正規乱数を得る方法をご紹介します。

» 続きを読む

| | コメント (0) | トラックバック (0)

久々の動画です

5月の大型連休ですね。皆さんいかがお過ごしでしょうか。

私は、久々にVRMを触りました。

本稿執筆時点ですでに5月になってしまい、関東平野ではとっくに桜の季節は終わってしまいましたが、今頃のところも多いことでしょう。

» 続きを読む

| | コメント (0) | トラックバック (0)

新幹線ランダム走行システム開発中

開発中、といいながら、ほとんど思い通りに動くところまで来た。

Randomlayout

わかりにくいかもしれないが、ヤードと通過線のある駅がある。ヤードはレイアウトの裏に見えないように隠しておいて、そのヤードから次々と、適当なタイミングで新幹線が出てきて、駅に停まったり、通過したり、通過列車を退避したりするようになっている。

地方都市ふうのレイアウトで、メインは在来線だけれども飾りとして新幹線を走らせるようなケースを想定している。

» 続きを読む

| | コメント (0) | トラックバック (0)

VRM Cloudも2年半くらいになるらしい

Vrmcld161025

「近郊プラン」がLVL(がなんのパラメータなのかの詳細は未だに不明だが)最高の栄誉に未だに預かっておりますので、記念に。

自分で言ったらアレですが、レイアウトの構成としてはまずまずながらも、スマートフォン・タブレットでのプレイを第一に考え、見た目の割にはかなり軽量に作ってあります。

可能な操作が限られている中で、子供にも分かりやすい範囲でどんな面白いギミックが作れるか、はまだまだ検討の余地あり。

| | コメント (0) | トラックバック (0)

VRMレイアウトサイズは実際問題どこまでOKなのかの考察

(注:この記事はTwitterでつぶやいたことをリライトしたものです)

ビューわかしお氏が「VRMで日本を再現できるか検証してみた!」という記事をUPされています。とても興味深いです。

たしかに、日本列島並み(あるいは、地球並み)の広大なレイアウトを作りたいというのは一つのVRM愛好家の夢といえますね。(実際には、そんなデカいレイアウトを作る手間がイヤですけどw)

ところで、コンピューター上の「数」の扱いは

  • 数は10進法ではなく2進法で取り扱われる
  • 整数と小数(実数)は厳密に区別される
  • 整数は「整数型」、小数は「浮動小数点数型」という型の中で表記され、てきとうな有限の値しか取ることが出来ない

という事情があるので、「桁が増えて処理が出来なくなった」という予想は正しいですが、レイアウター上に置いてあるもの(部品や細かいポリゴンも含め)の座標を整数で取り扱うのはムリなので、「整数で10桁くらいの計算ができた」からといって、「幅が1010ミリくらいまでのレイアウトは作れる」わけではないのです。
(惜しいところでしたが、数理的アプローチで検証しようという視点は、感情論・理想論のみの議論よりもはるかに価値があります。)

では、現実問題として、VRMレイアウトの幅の上限はなんぼのもんなのでしょうか。いま現状の5万ミリという数字の周辺を考察してみます。

(人によってはつまらない話題が始まるので、画像の出て来るあたりまで読み飛ばすべし。)

» 続きを読む

| | コメント (2) | トラックバック (0)

自作車両ツール ToolTrain110の仕様について

2016年10月3日にアップデートされた自作車両ツール (ToolTrain 110)について、なにやらよくわからない説明書きがかいてありますが、このアップデートに際してViewわかしお氏よりエラーの報告がありましたので私の環境でも追試してみました。

パッとみた感じですが、反射の計算に失敗して全体的に暗く見えているように見受けられます。I.MAGIC Blogでの「エッジが先鋭的になります」などの説明から察するに、頂点法線の計算方法に変更があったものと推測され、法線がぜんぶひっくり返っているのではないか、あたりの察しをつけることができます。

Tooltrain110

私の環境でもたしかにおかしくなりました(画像右)が、解決策は見つけることができました。

» 続きを読む

| | コメント (4) | トラックバック (0)

最近の話(Sep. 2016)

ブログの更新は滞っておりますが、今のところ元気にやっております。

住環境が変わりまして、自宅に固定回線がないのでVRM Onlineにログインできないという体たらくをしております。Twitterくらいなら、スマホやタブレットでできるのですが、通信容量的にVRM OnlineまではムリだろうということでVRMはちっとも触っていません。

Vrm107

自作車両の107系は、ときどき、思い立った時に少しずつ進めています。最近、前面上部の行き先表示器を取り付けました。超スローペースです。

» 続きを読む

| | コメント (0) | トラックバック (0)

面取りの話

鉄道車両の形は、ざっくり言えば直方体ですが、各辺や頂点に注目すると、隅が丸めてあります。面を取っているのではなく隅を取っているんじゃなかろうかと個人的には思っていますが、このことを面取り(Beveling)といいます。

Beveling0

この面取りをどのように構成するか困っていた時に、ネット上に整理された文献が乏しかったので、ここにまとめておこうと思います。

一般的に、平面であるポリゴンで丸っこいものを作るには、細かくたくさんのポリゴンに分割するしかないと思うかもしれません。しかし、VRMのようなリアルタイムレンダリングを前提とする場合は計算量を軽減するためできるだけポリゴン数を少なく抑える必要があります。

Beveling0b

ここで、ポリゴンの法線をうまく使う方法を考えます。

» 続きを読む

| | コメント (0) | トラックバック (0)

自作車両 進行中

何度か手を付けては挫折している自作車両を、何かに招かれたかのように再び挑戦しています。

製作途中ですが、ためしにUVテクスチャーを貼ってVRMビュワーに置いてみました。

Scr00003

Scr00000

前回(2015年8月)の様子から見たら、かなりの進歩だと思いませんか?思いませんか、そうですか。

制作環境は、mayaを使用しています。やっとmayaの使い方にも慣れてきました。PhotoshopやIllustratorと同様、多彩なことができるソフトというものは、ツールの数が多く一つ一つの役割やできることを把握するのが大変です。VRMレイアウターもそうかもしれませんね。

| | コメント (0) | トラックバック (0)

VRM界隈Twitterまとめ[2015.12]

ぼーっとしていると忘れてしまうTwitterまとめ。2015年12月分です。

年が明けI.MAGICの中の人もゲーム業界に復帰してきたようですのでみなさんも元気出しましょ~。

VRM Tokyo buildingさんもブログか何かをはじめてみてはいかが。勝手に期待しています。

| | コメント (1) | トラックバック (0)

«京成AE100型もどきのトラコン遊び