VRM3追加キットのお取り扱い終了します

18日をもちましてダイレクトショップでのVRM3追加キットのお取り扱いを終了させていただきます。未購入の追加キットをご購入される場合は、18日中にお申し込みいただけますようお願い申し上げます。

※プレミアムトレイン、はじめるシリーズ、ビッグローブのダウンロード販売は、お取り扱いを継続します。

アップデータを更新しました

前回のアップデータにて、レイアウターのアイコンボックス、クローズボックスの位置がずれたプログラムが含まれていました。修正したものをアップしましたので、アップデータの適用をお願います。
VRM5は、アップデータのページより再度ダウンロード、インストールしてください。

浮動小数点形式の注意点

スクリプトで実数を扱う場合は、浮動小数点形式特有の誤差に注意してください。

実数は、DirectXの座標表現と互換性のある単精度の浮動小数点数で処理されます。浮動小数点数は、2進数で表現されています。普段目にする10進数から変換した場合、2進数で表現しきれない数値が存在します。このとき、丸め誤差が発生して、もとの10進数の値とはことなった数値になります。
浮動小数点数は、指数で表現されるため、有効な桁の範囲のみ数値としての意味があります。指数が大きく異なる数値を加算すると、一方の数が有効な桁の範囲外になり意味をなさなくなります。
浮動小数点数は、こうした誤差が発生するという前提でコードを作成してください。計算順序を入れ換える、条件判断を工夫するなどの対策があります。

Vector型は、3つの実数が1組になっています。Vector型の演算は、DirectXによって処理されるため、誤差を含む数値が返ってくる場合があります。たとえば、(1.0, 0.0, 0.0)のベクトルをVectorNormalizeで計算すると、(0.999999, 0.0, 0.0)になります。

アップデータを更新しました

鉄道模型シミュレーター5/オンラインのアップデータを公開しました。バージョン5.0.6.55になります。鉄道模型シミュレーター5については、アップデータの配布ページよりダウンロード、インストールしてください。

▼ワイヤーフレームにマウストラッカーを追加しました
トラッカーの中心にある印をマウスで前後左右にドラッグすると空間を移動します。
中心から離れるほど速くなります。

前後にドラッグ=前進後進
左右にドラッグ=左右回転
ドラッグしているときにマウスホイール回転=上下移動

▼起動直後からメニューを表示するように変更(ワイヤーフレーム)
▼DrawVarで実数を正しく表示できないバグを修正
▼ウィンドウモードで非アクティブのとき、クローズ、アイコンボックスが操作できなくなる問題の修正

レイアウトコンテストVRM4作品をVRM5化

VRM4で製作されたレイアウトコンテストの入賞作品「ローカルプラン」と「都市の日常」について、作者様のご協力をいただきVRM5/VRM ONLINEバージョンを公開しました。レイアウトコンテスト2007、レイアウトコンテスト2008のページよりダウンロードできます。
VRM5/VRM ONLINEをご利用の場合は、新しいファイルをダウンロードしてください。
(※VRM5未発売の部品については、発売までお待ちください。)

アップデータを更新しました

鉄道模型シミュレーター5/オンラインのアップデータを公開しました。バージョン5.0.6.54になります。鉄道模型シミュレーター5については、アップデータの配布ページよりダウンロード、インストールしてください。

▼部品パレット、レイヤーパレットを高速化
▼ポップアップメニューに180度回転を追加
▼配置済み部品をドラッグしたときの自動スクロールを修正
▼ifneq、cmpneq命令を追加しました。
▼if系、cmp系命令で異なる型の比較を実装しました。
実数と整数を比較できます。左オペランドの型にあわせて右オペランドを内部で自動的に型変換します。
※型変換は、小数点以下に注意してください。
※実数を比較に使用する場合は、浮動小数点形式の誤差に注意してください。
▼ifeq,ifneq,cmpeq,cmpneqにオブジェクト変数の比較を実装しました。
▼SetTrainCameraNA命令を追加。
カメラのアクティブ制御を行わない切り替え命令です。SetTrainCamera命令の代わりに使用します。アクティブな編成は、この命令は実行しないでください。不適切な動作になります。
▼DrawVarのfloat型表示を単精度に変更
従来は、printf系変換の仕様にあわせて倍精度で表示しています。倍精度変換による誤差を回避するため、単精度で表示します。
※実数は、Direct3Dの座標表現と同じ単精度の浮動小数点形式です。
※浮動小数点形式特有の丸め誤差などに注意してください。(詳細はgoogleで)
▼ビュワーとワイヤーフレームのACTIVATEの動作を変更

寒さが身にしみる季節になってきました。「雪」についてのお問い合わせをいただくことが増えてきましたのでこの場で今後の予定を。

雪は、一般的にパーティクルと呼ばれる手法で表現します。VRMの雪は、雪の粒ひとつにつき1つのパーティクルで表現しています。パーティクルは、個数が増えると計算回数が増え、処理速度が遅くなります。
VRMの雪は、VRM初期から基本的な構造は同じです。パーティクルを高速化するため、単純な構造となっていますが、10年前とは比較にならないほど高速化されている現在のPCでは、あまり意味がありません。
現在、PCの能力に見合った天候パーティクルのジェネレーターを開発しています。雪、雨などを様々なパラメータで制御できるシステムです。
比較的早期にご提供できる予定です。

雪は、時間がたつと積もります。建物などに積もった雪の表現は、ポリゴンでつくる、GPUで計算するといった方法が考えられます。
ポリゴンで製作する場合は、雪の積もった建物を個別に用意する必要があります。
GPUで計算する場合は、積雪そのものをシミュレートするため、膨大なGPUパワーと複雑なシェーダーが必要になります。(雪の厚みまで表現するとDirectX10以降か?)
いずれも、いろいろと問題があるため、長期的な課題として実装方法などを検討しています。