ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

貨物ヤードシミュレータの構想

前々から作ってみたかった、貨物ヤードのシミュレータをUnityでやってみることにする。てきとーに作り始めてもいいんだけど、やはり「どんなものを作りたいか」を明確にしないと、やりづらいので構想を明文化する。

概要

L4カーを有するハンプヤードにおける、貨物列車の分解・仕分け・組成のシミュレーション

詳細仕様

・ハンプ数:1

・ハンプ高さ:4m

・仕分線の本数:4

・仕分線の長さ:貨物8+機関車1+L4カー作業分

・線路:狭軌、レール間隙間あり、30kgレール

・リターダ数:2群、空気圧式

・能動的に動作するもの:機関車、L4カー、分岐器、リターダ

・受動的に動作するもの:貨物

・物理値・Unity内単位の換算:

  ・1長さ = 1m

  ・1重さ = 1kg

・L4カーの制御:L4カー及び線路上のセンサ情報ベース、連続制御方式または区間逐次制御方式

・ハンプから下る貨物の編成数:1~4

・音:レールの継ぎ目音、ディーゼル機関車音、貨車の衝突音

・貨車モデル数:複数

・貨車車重:貨物起因のばらつき有り

・貨車の走行抵抗:一定(車重による影響なし)

 

こんなところだろうか。

VisualStudio2019でUnityのコードが補完されなかったりする件

UnityからVisual Studio 2019を呼び出したらUnity固有の機能が使えなかった問題と、その対処法メモ。

目次

 経緯

Unityのお勉強をするため、VisualStudio2019でC#のコードを作ろうとしたらいきなり挫折した。Microsoftのマニュアルに書いてあるとおり、Ctrl+Shift+MでMonoBehavior ウィザードを使用して空の MonoBehavior メソッド定義を作成しようとしたんだけど、キーを押しても何も起きず。設定が間違っているのかと思いキーコンフィグを確認したけど、合ってるように見える。

f:id:donadonasan:20190727120946p:plain

MonoBehaviourウィザードのキーコンフィグ

その後も色々見てみたけど、Ctrl+Shift+Mは有効にならず。設定から、エディタ上で右クリックしたメニューに居るかもと思い探したけど見つからず。どうも、Unity関連のファイルを開いているとは認識されていないようだ。

そこで、ふとUnity側がデフォでインストールしようとしているVisual Studioが2017であることを思い出し、2017を入れさせてみた。

f:id:donadonasan:20190727125058p:plain

MonoBehaviourウィザード

うまくいったよ!じゃあ2019の問題なのか・・・と思いつつ、念の為2019で再確認した。

 

f:id:donadonasan:20190727125211p:plain

MonoBehaviourウィザード

動いたよ!動きやがりましたよ!うーん。なんだこれ。

じゃあ、この状態でVisual Studio 2017をアンインストールしてみたら、Visual Studio 2019はどうなるんだろう?

やってみた結果。

無事、MonoBehaviourウィザードが起動!IntelliSenseも動いているっぽい。無事、Visual Studio 2019とUnityの連携に成功。よかった。

まとめ

新規Unityユーザーで、Visual Studio2019を使う人はUnity HubからVisual Studio 2017も入れましょう。そうすればVisual Studio 2019でもUnity関連の機能が使えます。使えることを確認できたら、Visual Studio 2017はアンインストールしてオッケーです。

CSSD-M2B01TPG2VN について

先日購入したCSSD-M2B01TPG2VNなんですが、実は若干キワモノでして。購入前から各地で「コントローラーチップに接触していない」という書き込みが散見され、またAmazonには接触していないことを示す写真も出ていました。でも、その状態で検証して問題なかったんならオッケー!ということで買っちゃったんだけど。

f:id:donadonasan:20190726234157p:plain

CSSD-M2B01TPG2VN 側面写真

おー、見事に空間が。

公式サイトいわく

PG2VNのヒートシンクとサーマルパッドは、Phison E12コントローラに接しておりません。
Phison E12コントローラの内部には温度センサーがあり、コントローラにサーマルパッドを直接貼り付けると、センサーの精度に影響を与えてしまうためです。
PC内部のエアフローを整えて頂くことで、ヒートシンクがNANDフラッシュを中心に高温化の抑制を促し安定動作いたします。 

 一番温度が高くなるのはコントローラだと思うんだけど、いいのかな。それに、

f:id:donadonasan:20190726234913p:plain

CSSD-M2B01TPG2VN 側面拡大

フラッシュメモリの半田バンプの高さと、コントローラ - ヒートシンク間の隙間の大きさがほぼ同じなのも気になる。これ、もしかして半田バンプの高さを考慮せずに設計しちゃったんじゃないか?んで、改善する時間がなかったのでこのまま検証を通してしまったのでは・・・。

・・・通してるよね、検証・・・CSSD-M2B01TPG2VN・・・。

まあ、半田バンプを利用して故意に隙間作っている可能性はあるんだけどね。こんな設計、他では聞かないんだよなあ。それに、わざとこうするならウリ文句に加えてると思うんだよね・・・「高精度な温度計測を実現!」みたいなかんじで。

PCアップグレード - 後編 (新旧環境の比較)

PC更新のまとめ。

目次

部品比較

部品名 仕様 旧PC 新PC
CPU サプライヤ Intel AMD
  型式 Core i7-4770K Ryzen 3700X
  コア / スレッド数 4 / 8 8 / 16
  ベースクロック速度 3.5 GHz 3.6 GHz
  ブーストクロック速度 3.9 GHz 4.4 GHz
メモリ サプライヤ Silicon Power Corsair
  型式 DCLT8GN128S CMK16GX4M2D3600C18
  速度仕様 DDR3 16000 (PC3-12800) DDR4 3600 (PC4-28800)
  容量・枚数 8G × 2枚 8G × 2枚
マザーボード サプライヤ Gigabyte
  型式 Z87X-UD3H-CF X570 Aorus Elite
  チップセット Intel Z87 AMD X570
  M.2 スロット数 /PCIe Ch数 0 / NA 2 / 4 Ch per slot
  PCI express 合計Ch数 21 ch 22 ch
  PCI スロット数 1 slot 0 slot
GPU サプライヤ Galaxy
  型式 PGTX1070-EXOC/8GD5 FS
  ベースクロック速度 1594 MHz
  ブーストクロック速度 1784 MHz
  メモリ量 8 GB
  メモリクロック 8008 MHz
メインSSD サプライヤ CFD
  型式 CSSD-S6B960CG3VX CSSD-M2B01TPG2VN
  接続 SATA/600 M.2 NVM Express 1.3
  容量 960 GB 1024 GB
OS サプライヤ Microsoft
  型式 Windows 10 Prof. 1903

結果比較

ベンチマーク バージョン 項目 旧PC 新PC
CrystalMark 2004R7 合計 386331 751192
    ALU 105588 277063
    FPU 81905 175751
    MEM 70081 112084
    HDD 45741 99888
    GDI 16387 18370
    D2D 26452 27798
    OGL 40177 40238
CrystalDiskMark 6.0.2 x64 Seq Q32T1 Read 485.7 3459.2
    Seq Q32T1 Write 503.6 3049.2
    4KiB Q8T8 Read 300.4 1657.6
    4KiB Q8T8 Write 357.5 1658.5
    4KiB Q32T1 Read 274.8 581
    4KiB Q32T1 Write 135.3 403.9
    4KiB Q1T1 Read 30.5 52.26
    4KiB Q1T1 Write 75.81 195.6
CINEBENCH R20 cb 1745 4758
FF14   最高品質 12007 16709
FF15   高品質 6825 6661
PSO2     49428 61796
3DMark 5.18.705.0 合計 5690 6540
    グラフィック 6186 6189
    CPU 3913 9642

 まとめ

CPU, RAM, SSDが早くなったことで各種スコアが倍増した。FF15でスコアが減った原因は不明。SSDの高速化は様々なシーンで快適さを向上している。CPUの速度改善は負荷の大きな計算時に体感できているが、残念ながらそのようなシーンが少ないためあまり貢献できていない気がする。一方、冷却ファンの音量は大きくなってしまった。X470チップセット搭載品でもよかったかもしれない。

お絵かき

たまにはFusion 360でお絵かきして気分転換。・・と思ったら、モーションスタディでプログラムが落ちたり、手で動かせるのにモーションスタディだと動かせなかったりでちょっとストレス。でも、無事動いたのですっきり。

f:id:donadonasan:20190720235022p:plain

ブフリ式駆動

レンダリングする際には一度に100フレームしか出せないので、複数のモーションスタディを作って個別にアニメーションを作り、最後に結合する必要がある。また、レンダリング時のカメラアングルは覚えることができないっぽい?ので一発勝負でもある。事前にカメラの状態をオフラインレンダリングでしっかり確認すること。

それにしても、Fusion 360って、なんでアニメーションするモーションスタディレンダリングクラウド限定なんだろう。ローカルでできるようにすれば、Autodesk側も負荷が減ってハッピー、ユーザーも順番待ちがなくなってハッピーだと思うんだが。いや、たしかにクラウドのほうがレンダリング速度早そうだけどさあ。

PCアップグレード - 中編 (新環境のベンチマーク)

部品の変更とWindowsインストール、ライセンス認証まで終わったので早速ベンチマークした。

【目次】

 

続きを読む

PCアップグレード - 前編 (現行環境のベンチマーク)

ようやくAMDが本気をだしたので、Ryzen 3700Xに乗り換えることにした。乗り換え前後での性能比較をするため、ベンチマークをすることに。実施するのは以下のもの。

常駐ソフトは極力なし、ただしアンチウイルスソフトは動作。

【目次】

 

続きを読む