2019-01-01から1年間の記事一覧

なが月・43日目

43日目 帰宅後から開始。なんとかメニュー出し入れを古いものを含めすべてのステージで実装し終えたように思うので、明日検証してアップデートを再提出したい。 明日からはスケジュールの枠内で、Oculus Go向けのパズルを将来の拡張を踏まえた設計をしつつ小…

なが月・42日目

42日目 帰宅後から開始。PresenterがModelの情報をObserveしてViewに対してSubscribeで反映させ、時間が来たら条件判定というところまで完成した。あとはOculus標準のボタンアサインを参考にしてメニュー出し入れを実装し、他のステージにも反映するだけだ。…

なが月・41日目

41日目 帰宅後から開始。引き続きModelとPresenterの実装を進めた。しかしこの先のアップデートの展望が見えないので悩ましい。新しいことを学習していないと記録すべきことがなくて困ってしまう。早く完成させたいものである。

なが月・40日目

40日目 午前 所要のため外出。大変暑く、また台風により銀杏が散乱しており悪臭に悩まされた。 午後 UniRxを利用してPresenterがViewの値変更イベントやModelの状態変更を受けて各所を制御するようコードを書いた。uGUIで選択されたボタンを取得する、という…

なが月・39日目

39日目 午前 Scroll RectとContent Size Fitterを触って理解を深めた。 構成として 親にScroll Rect (Contentは子を指定、Viewportは自身) + Rect Mask 2D 子にLayout Group (Force Expandはオフ、Control Sizeもオフ)+ Content Size Fitter(拡張・縮小した…

なが月・38日目

38日目 午前 ABC134A-Dを解いた。Dについて言えば、Pythonのステップ指定リストスライス[i::i+1]はこの問題のためにあるといっても過言ではなかった。そのあまりの簡潔さゆえに、あえてストレスを感じながらC++で書き直したいとは思わない(処理制限時間には…

なが月・37日目

37日目 午前 並列プログラミング入門を再開した。まず#pragma ompの効果が理解できた。すなわち、#pragma omp ...という指示文は次行に来る単位コード(;で終わる文、または{}ブロック)が実行されている間有効であるということだ。そのため //誤り、"critic…

なが月・36日目

36日目 帰宅後から開始。GazeIconとuGUIの仕組みについて実験を行っていた。その結果分かったのは GazeIconはSpriteでもよい SpriteならSorting LayerとOrder in Layerの両方が設定できるので、同じ深度に位置する3Dワールドより常に手前に表示されるUIのさ…

なが月・35日目

35日目 帰宅後から開始。さらなるuGUIの調査とOculus Integration v1.40(Oculus/VR/Scenes/UI シーン)の検証を経て、以下のことが分かった。 OVR RaycasterはCanvasに取り付ける。Pointerは画面内に仮想カーソルを出す場合に用いると考えられる。無くてもエ…

なが月・34日目

34日目 帰宅後から開始。 UnityのEventSystemをVRで使用するについて調査を行った。 Oculus IntegrationのOVR Raycaster(Graphic Raycasterの代替としてCanvasに追加し、2Dレイキャストを判定する)、OVR Input Module(Standard Input Moduleの代替としてEven…

なが月・33日目

33日目 午前 昨日のABC139E実装においてAの各要素をリストではなくdequeに置き換え、popleft()することでより直感的な答案となった(deque変換コストで多少遅くなった)。 C++でも実装しようとしたが、std::deque型のオブジェクトを単純に代入すると自動的に…

なが月・32日目

32日目 午前 Simulink講習会に参加してきた。位置yを時間tで微分したy'は速度になり、y''は加速度になる。これはSimulinkブロック線図上では ―y''→[積分器]―y'→[積分器]―y→ と表現される。そして自由落下の場合加速度はg = -9.81で与えられ、初期位置を100と…

なが月・31日目

ながつき・がんばり月間に名前を変えて再登場したなが月、今日は31日目である。 午前 明日Simulink・ドローン制御講習会に参加するので、Simulink Onrampチュートリアルを始めた。Simulinkではノードベースの回路を作成しシミュレーションを行うことができる…

なが月・30日目

30日目 いよいよ最終日である。 幾多の苦難を乗り越えついにHalt!: VR Road Traffic Madness v0.2.0をリリースできた( https://0bsoletelab.itch.io/halt-vr-traffic-officer-simulator , Viveport審査中 )。まずいアーキテクチャで設計すると拡張が大変だと…

なが月・29日目

29日目 いよいよなつやすみがんばり月間も終わりを迎える。今日は車線変更の方式をいろいろ模索しつつ、通れる経路を厳しく制限することで正常な交通を実現している現在の方式から、柔軟にどの段階からでも車線変更ができるようにするためにはどのようにすべ…

なが月・28日目

28日目 帰宅後から開始。 360度を超えて回転するときの逆回転問題を解決してくれるMathf.LerpAngleを発見し、UIがいかなるfps・timeScaleでもスムーズに追従するようになった。また懸案事項であったタイムアップ時の結果処理や車間距離検知もテストしたとこ…

なが月・27日目

27日目 帰宅後から開始。スポーン地点を全て設定し、UIボタンインタラクトを実装した。あとは閉塞区間を導入しテストを行うだけだが、閉塞の実装が一番困難である。 VR制作は新しいことを学べるわけではないので書くことが途端に減ってしまう。来月と言わず…

なが月・26日目

26日目 8月中にアップデートをリリースするために一日Unityと向き合っていた。 3種類の目標を設定し、終了時に各目標が満たされていれば星が点灯するようにした。またメニューウィンドウを首の回転に遅れて追従するようにした。OVRCameraRigを古いものから新…

なが月・25日目

25日目 午前 並列プログラミング入門、今日はreductionを実際に書いて確かめた。 #include <bits/stdc++.h> #include <omp.h> int main() { std::vector<int> a = {1, 2, 3, 4, 5, 6, 7, 8}; std::vector<int> b = {1, 2, 3, 4, 5, 6, 7, 8}; int dotProduct = 0; // 1 + 4 + 9 + 16 + 25 + 3</int></int></omp.h></bits/stdc++.h>…

なが月・24日目

24日目 午前 今日はまず先週できなかった並列プログラミングに再挑戦した。最も初歩的なコードとして //出典: http://onoono-life.blogspot.com/2014/04/ccopenmp.html #include <stdio.h> int main() { #pragma omp parallel { printf("parallel\n"); } return 0; } </stdio.h>…

なが月・23日目

23日目 VR制作を今月中に一区切りつけるため、今日は一日中Unityと向き合っていた。 車のスポーン地点ごとに同じものを取り付ける上、Instantiateの方向をインスペクタ上で入力しなければならず、また2種類しかスポーンさせられなかったひどい過去のコードを…

なが月・22日目

22日目 帰宅後から開始。 今日はhttps://helpx.adobe.com/after-effects/how-to/keyframe-animation.htmlでキーフレーム補間方式などを学んだ。線形補間だとキーフレームは菱形、easy easeだと砂時計型になる。アニメーションパスはハンドルを操作することで…

なが月・21日目

21日目 帰宅後から開始。 AfterEffectsで背景アニメーションを作る(https://helpx.adobe.com/after-effects/how-to/create-animated-background.html)チュートリアルは動画ファイルがないからか練習素材が2MBで小ささに驚いてしまった。チェッカー模様を一列…

なが月・20日目

20日目 帰宅後開始。 まずはAEでクロマキー合成の方法を理解した。緑一色ならよいというわけでもなく、光の当たり具合によって色は変わってくるため、KeyLight(1.2)においてはゲインを上げてより広い色域を透過対象にさせるよう調整しなければならない。また…

なが月・19日目

19日目 午前 今日は予約図書を借りに行くなどいくつか所用があったので午前はそれに費やされた。 午後 借りてきた「並列プログラミング入門」(片桐孝洋著)を読み進める。 複数のCPUでアクセスできるメモリ単位の計算機資源をノードという、という説明でど…

なが月・18日目

18日目 午前 ABC133A-Dを解いた。C問題は「剰余の積は積の剰余だから、LとRの商が異なるならば剰余が0のものがLR間にあるので答えは0(注:これは正しい)、LとRが同じ商ならL%2019 < R%2019だから(注:ここまでは正しい)積の剰余の最小はL%2019 * (L+1)%2…

なが月・17日目

17日目 午前 早く起きたのでポートフォリオの更新をしていた。テキストが多くなると読みづらいのでBootstrapカードに置き換えた。 ABC132のC問題において、もちろん問題なく正解(35ms)はできたものの、C++答案の中で2倍の速度(15ms)のものがあったので調べた…

なが月・16日目

16日目 午前 ABC131A-DをC++で解いた。C問題ではC++17ではないのでstd::gcd, std::lcmが使えないとあって、さっそく関数テンプレートでmyGCD, myLCMを書いた(gcc拡張で__gcdがあるようだが、それを使うのはコンテスト中ならともかく過去問ではしたくなかっ…

なが月・15日目

15日目 帰宅後から開始。今日はC++の参考にしているサイトがDNSエラーでまったくアクセスできず、Googleでホスト名を検索してページのキャッシュを読むという苦行を行った。ただインライン関数の概念だけであった(はず、画像が表示できないので確信は持てな…

なが月・14日目

帰宅後から開始。そろそろ忘れられているがタイトルの読み方はなつやすみがんばり月間なので「ながげつ」である。 C++ではデフォルト実引数を指定することも可能になった。関数プロトタイプ宣言をする場合は宣言部分でデフォルトを指定しておき、実装部分に…