C#とWindowsと最上と土川

CentOS・MacOSぶっ殺すマン PC中毒・プログラマ 一応、高校生かもしれない。高校の部活の社畜です。KOROSARERU☆(ガチ) 現在、インスコ不要のC#開発環境を作っています。できました。次期Ver (CN:COSMOS)よろしく!@Csharp_GO

今日のウンcode(VRゲーム作り始めました)

前から、Unityを使ってちょくちょくOculusやWindowsMR向けのVRアプリを遊び程度に作っていたが、WindowsMRの一般発売も始まり、いよいよ一般消費者にPCVRが広まる時代になってきたことを感じたので、販売できるレベルの内容の濃いVRゲームを開発することにした。

まだ、名前も決まっていないが、FPSな感じのシナリオゲームになる予定。今、シナリオも結構決まってきている。

FPSとか聞いて、BattlefieldCall of Dutyとかみたいな、オッサンだらけで泥だらけになりながら戦うゲームとか思うかもしれないがぜんぜん違う。メインキャラクタの半分は女性だし、舞台は海だ。(でも主人公は男です。)

詳しい内容は煮詰まり次第、タイトルや公開予定を含めホームページで公開予定。

 

宣伝?的なものは書いたので

ウンcodeな話を始める(´・ω・`)

今回のVRゲームはとOculusとWindowsMR向けなどに出すことを計画しているので、最初からマルチプラットフォームな設計にすることにした。そこで、障害になりそうな、各プラットフォームのメーカーが出しているSDKを極力使わないこととした。

UnityにはUnityEngine.XRというのがあり、OculusならヘッドトラッキングやOculusTouchなど必要なことの殆どがこれから利用できる。問題は公式資料(内容薄い&English)ぐらいしか参考になるものがないことだが。

 

とりあえず、開発一日目。ここまで作ってみた。(ゲーム内容のヒントになるものだらけw)


自作VRゲーム試作中 OculusTouchでMk45を動かす(2)

 

とりあえず、右手OculusTouchを用いてMk45 5inchi砲を撃つのだが、結構てこづった。

OculusTouchの座標を取得しようと

InputTracking.GetLocalPosition(XRNode.RightHand)

を利用したが、動作が変で、不思議に思い

同じ座標なはずの

GameObject.Find("Main Camera").transform.position

InputTracking.GetLocalPosition(XRNode.Head)

を比べたら、全然値が違うので、もしかしたら基準点が違うのかなとか思い、HMDの位置からの相対座標でOculusTouchとMk45を連動させることにした。

transform.position = GameObject.Find("Main Camera").transform.position + InputTracking.GetLocalPosition(XRNode.RightHand)- InputTracking.GetLocalPosition(XRNode.Head);

↑こんな感じに

この程度なら、コード一切書かなくてもSDK等を利用することでできてしまうが、今回はあえて、全てコーディングすることにした。後々、色々いじれるように。

明日は左手の実装と敵とか出して当たり判定ぐらいつけようと思う。それをしながらVR内での有効なUIを模索していく。あとMk45の射撃に爆炎をつけたりしようと思う。

今日のウンcode(WindowsMRの現状についてまとめてみる)

今月 10/17に配信が始まったWindows10FallCreatersUpdateで正式に始まったWindowsMR。

そんな始まったばかりのWindowsMRについてまとめてみる。

 

1.WindowsMR自体はHoloLensから始まっている。

HoloLensから始まっているので実はWindowsMR自体は結構前からある。

だが、HoloLensもDeveloperエディションなので、まだ正式リリースとは言えない。なので、今回のAcerHMDなどが製品第一号という感じになるだろう。

2.Mixed Reality??いやVRだろ?

WindowsMRのMRはMixedReality(複合現実)の略だ。

複合現実とは簡単に言うと強いAR(笑)

イメージで言うと、ARは現実に仮想を重ねる

MRは現実に仮想を溶け込ませる。

ポケモンGOはARだろう。ポケモンGOはただカメラの映像の上にポケモンを重ねている。もしカメラが物で塞がっていてもポケモンは画面に出続ける。

もし、ポケモンがまるで地面の上にいるように見えて、木の後ろに行ったら見えなくなるのなら、それはMRだと思う。いわゆる電脳コイルや最近やったSAOの劇場版の世界のデバイスのようなもの。

で、今回発売されたWindowsMRヘッドセット(以下WinMRHMD)はMRとはいえない気がする。AcerのパンフレットではガッツリMRと書いてあるが、現実空間が見えない時点でVRというしかないように思う。デバイスの構成的にもガッツリOculusやViveのようなものなので、言い逃れは難しい。

ちょっとMRと名乗るのは詐欺感がある(笑)

3.低スペックPCでも動く

WinMRの魅力はその敷居の低さ。Intel内蔵グラフィックでも動くというだけでなく、WinMRHMD自体の価格も安い(Acerの物で6万)

少し前ならOculusやViveなどのPC VRをやるには10万のヘッドセットに高性能なゲーミングPC(最低15万くらいのもの)が必要だった。

ここまで聞くと、Microsoftやるじゃん!とか思うかもしれないが、実は違う。世間一般が思うVRソフトをやるにはWindowsMR Ultraな環境が必要になる。

WindowsMRではマシンの性能により二段階のエディションがある。

 WindowsMR Intel内蔵グラフィックで動く 画面は60FPS

 WindowsMR Ultra GTX965MやGTX960以上で動く 90FPS 

WindowsMRにおいてサポートするのはWindowsStore上のUWPアプリのみと考えたほうがいい。リッチなグラフィックを使うMR対応UWPやSteamVRは基本WindowsUltraでなければ使えない。使えたとしてもフレームレートが安定せず確実に酔って、気分が悪くなる。VRにおいては90FPSを下回ると基本酔うと考えたほうがいい。ゲーマーなどはこういうフレームレートの低下にはある程度耐性があるが、一般人にはない。自分も90FPSを少しでも下回ると結構酔ったw

4.SteamVR対応

PCVRにおいて二台陣営の一つと言えるSteamVRが利用できる。すでにAcerHMDを使っている人はドライバーを当てることで使えるらしい。(追記)SteamにてWindowsMixedRealityForSteamVRが配信開始になりましたので、今はそちらが利用できます。

あとで試してみようと思う。SteamVR対応によって、コンテンツ不足による普及の障害にはならなそう(逆に言えばUWPのコンテンツが増えなさそう)

5.結構挙動がまだ怪しい&開発者を舐めている

まだ、始まったばかりということで仕方がないのだろうが、ハンドコントローラーに関しては動作が結構怪しい。通信にBlueToothを利用しているということも有り、いろいろなデバイスがある環境では、結構荒ぶるらしいw

でもDeveloperエディション時代に比べれば結構安定している。WindowsMRが原因でブルースクリーンが呼び出されることもないw

自分はDeveloperEditionを買ってその頃からWindowsMR開発に触れているが、DeveloperEditionにはハンドコントローラーがついていなかった。きっと後から単体発売するだろうと思っていたが、そういうこともなく、気づいたらハンドコントローラー付きの製品版が発売されていた。意味がわからん。Developer版は開発者に製品版をかうユーザーが出る前に対応したソフトをつくるためにあるものなのに、なんで製品版の方が早く出るのだろうか?

渋々、ハンドコントローラー(多分単体なら二万くらい)のために製品版(六万)を買った。意味がわからない。

ガチでなんとかしてくださいよ。マイクロソフトさん。本当に(´・ω・`)

今日のウンCODE (新開発環境開発開始)

C#_GO KAKITSUBATAをリリース後、次のバージョンZinniaを開発していたのだが、今まで貯めたウンcodeのせいで追加機能開発不可能(過去に書いたコードが意味不明で手がつけられない)なので、C#_GOの新バージョンの開発は断念しちゃいました...

そこで、C#_GOをきれいに全てWPFで書き直しつつ、C#以外の言語にも対応した簡易開発環境「Koyomin」の開発を始めることに(´・ω・`)

名前の由来は自分の出しているC#応援キャラクター「暦 櫻」です。なんとなく「こよみん」としたほうが、いい感じかな(Kotlinみたいに)と思ったので。

近いうちにまたクローズドベータをしたいなぁと思っています。

ちなみに初期のC#_GOと機能は同じですが圧倒的に動作が軽い気が(´・ω・`)

やはり、処理を効率化したりWPF化したのが良かったのかな?

f:id:MogamiTsuchikawa:20170902161502j:plain

 

キャラクター名前決まりました!

C#の応援キャラクターを作成し、名前募集していましたが、ついにビビッとくるいい名前を頂いたので決定しました!

暦 櫻 (こよみ さくら)

です。C#のCは16進数で考えると10進数では12、そこから連想して"暦"

#は音楽では嬰記号 → 嬰 → 「木」をつければ"櫻"

が名前の由来です。

 

今後は暦 櫻との対話形式のC#入門記事や動画等を作っていくので、是非ご注目下さい。
f:id:MogamiTsuchikawa:20170905002714j:image

今日のウンCODE (キャラ名前をそろそろ決めなくては)

土曜日より募集を開始したキャラクターの名前募集。

ある程度集まってきて、良さそうなのが見つかり始めた。今週の火曜日には決定をしたいと思う。

現状では、投票をするほど悩む候補がない状態なので、無投票で採用を考えてる

 

ちなみに、このキャラクターは犬系統です

f:id:MogamiTsuchikawa:20170902161502j:plain

【募集!】C#のキャラクター名前募集!

C#布教のためのキャラクタを作りました!(絵は@V_Melville さんに依頼しました!)

ですが、まだ名前は決まっていません!そこで、名前募集します!!

1週間ほど行う予定です!

最初の5日間ほどで候補を頂き、その中から4つを選び投票して貰う予定です。

(ビビっとくる名前があったらそのまま決定してしまうかもしれませんがご了承ください)

採用された方にはAmazonギフト券1500円分を

投票があり、投票数2位の方には500円分を差し上げます。

是非、良い名前を考えてください!!

よろしくお願いします!!!!

f:id:MogamiTsuchikawa:20170902161502j:plain

【プロフィール】

誕生日:2002年1月5日

職業:学生

趣味:PCいじり・プログラミング・アウトドア

性格:社交的・好奇心旺盛

 

☆☆【応募方法】☆☆

 

Twitterにて

@Mogamitsuchikaw もしくは @MogamiCsharp に「キャラクタ名前募集」の文字と応募する名前(名字も有りのもの)を入れて送ってください。

 

もしくは、当ブログのコメントにてお伝え下さい。(TwitterのIDも一緒に記入ください・賞品が送れません。)

 

採用もしくは投票2位であった場合、上記どちらかのアカウントをフォローいただいている場合、DMにて採用のご報告及び賞品のコードを送らせていただきます。

フォロー頂いていない場合、一度メッセージを送らせていただきますが、一週間以上、反応がないもしくはフォローいただけない場合、DMを送れない状態なので、賞品受取を辞退したと判断させていただきます。

 

今日のウンCODE (C#_GOとかのキャラクターができるよ)

C#_GOもやっと公開テストにでき、これからも更にC#を布教しに行くにあたって、やはりマスコットキャラクタ等が必要であろうと思い!現在制作をしてもらっている。C#のキャラクタとしては、すでに日本では「C#たん」がいるが、それに負けない個性的なキャラクタとしてC#布教に役立ってもらう予定。

今後はHPにてオリジナルキャラクタとの会話形式のC#入門記事や動画等をリリースしていきたいと思う。

まだ、名前は決まっていないので、キャラクターデザインが決まり次第、名前を募集したいと思っている。