ひつじTips

技術系いろいろつまみ食います。

[UE4]キーボードイベントの短押し/長押し切り分け処理

Unity勢に負けずにUE4勢もがんばりましょう!

ということで,UE4の小ネタです.

UE4はブループリントでキーイベントなど簡単に取れるのですが,短押しだけでなく長押しも取りたいよね,というお話です.

以下の方法もありますが,本記事で紹介するのは長押し時のイベントを取るようなバージョンです.

miyahuji111.hatenablog.com

やりかた

「SetTimerByEvent」ノードを使います.

以下のようなマクロ(「KeyEventSwitcher」)を作ると,キーイベントの長押し/短押しを切り分けて処理できます.

f:id:mu-777:20181127234705p:plain

仕組みは凄くシンプルで,

  • PressしてからLongPressDuration過ぎる前にReleaseしたら,ShortPressedEventをセットしてすぐ発火させる
  • PressしてからセットしたLongPressedEventが発火したら,ShortPressedEventはセットしない

という感じです.

使うときはたとえば以下のように使います.

f:id:mu-777:20181127231527p:plain

このときEnterを押して,

  • 2秒以内にEnterを離せば(Releaseすれば)ShortPressedEventが呼ばれます.
    • そのあと,KeyEventSwitcherの後ろのExecピンのShortPressReleasedからの処理が走ります
  • 2秒間Enterを押し続けていれば,LongPressedEventが呼ばれます
    • そのあと,Enterを離したタイミングでKeyEventSwitcherの後ろのExecピンのLongPressReleasedからの処理が走ります

という処理になります

かくにん

実際このKeyEventSwitcherマクロを使うとどうなるか確認します.

レベルブループリントに,以下のようなノードを組みます.

f:id:mu-777:20181127233113p:plain

ここで「PrintMessage+Time」とは,引数のStringに時間をつけてPrintしてくれるだけのマクロです.

f:id:mu-777:20181127231806p:plain

これを実行してみます.

すると,以下のようにプリントされます.

f:id:mu-777:20181127233512p:plain

ちゃんと,

  • Pressして2秒以内にReleasedしたら「ShortPressed」が
  • Pressして2秒経ってもReleaseされなければ「LongPressed」が

呼ばれていると思います!

さいごに

まぁ正直ぼくもUnityの方が好きですけど...

ブループリントのマクロはパズル的面白さがあって,これはこれで好きです笑

東京大学制作展2018(iiiEx)行ってきた

最終日の終了2時間前に滑り込みギリギリで,東京大学制作展2018「"Dest-logy" REBUILD」に行ってきました!

 f:id:mu-777:20181125165940p:plain

www.iiiexhibition.com

クオリティの高さもさることながら,きちんと体験を通じてのメッセージを規定しているものが多くて,まさにアートという感じのものが多い印象でした.

僕もアートなことしたいなぁと刺激をもらった展示でした!

下にいくつかピックアップして感想を書いておきます.
(全体的に暗かったから写真がツラい...)

  •  自律する影
  • 二重人殻
  • モーツァルトのゆりかご
  • 生の装い
  • 全体を通じて
続きを読む

オレオレgitをまとめる

なんかいっつもググってるので,いい加減まとめる.

自分用なので,特に詳細な解説はなしで

  • コミットするとき関連
    • 部分的にAdd
    • Addした内容の確認
  • コミット間違えたとき関連
    • commitの取り消し
    • addの取り消し
    • addし忘れてcommitしちゃったとき
    • 直前のコミットのメッセージ修正
    • なんかいろいろバグった...ローカルは死んでもいいから,リモートの状態を強制的にローカルに持って来たいとき
  • リモートとのやりとり
    • リモートの別ブランチを取ってくるとき
    • マージコミットなしでpull
  • tag関連
    • 今のブランチのtagを確認
    • 指定のtagにcheckout
  • git submodule関連
    • まず最初に持ってくるとき
  • コミットメッセージ関連
続きを読む

[Fusion360]複数のコンポーネントの組み合わせで1つのコンポーネントを作るための(オレオレ)ベストプラクティス

Fusion360使ってますか???

フリーのパラメトリックCADとしては他と一線を画した機能の充実っぷりとUIの洗練っぷりではないかと思います.
(そもそもフリーのパラメトリックCADが他にあんまりないですがね...FreeCADも結構好きなのですが)

f:id:mu-777:20180716222115p:plain:w600

www.autodesk.co.jp

まぁさすがに有料CADに比べれば「これできないのか~」と思うこともありますし,クラウドベースなので結構重かったりオフライン環境での挙動に不安があったりしますが,そこまで致命的な問題はないですし,フリーなんで文句はないですね.

で,同じ会社の方と机の下でやってるプロジェクトで,Fusion360を使って下のようなパーツを作ってました.

f:id:mu-777:20180716180420p:plainf:id:mu-777:20180716191240p:plain
CAD図と実際3Dプリンタで刷ったもの

見りゃわかると思いますが,4つの穴の空いた面が3面ありますね.もちろん全部の穴の寸法は同じです.

これ3面に対して3回CADで線引くなんてやるのは,めちゃくちゃめんどくさいし,寸法変更時のパラメトリックCADの恩恵を全く受けられないのでFusion360使う意味がなくなっちゃいますね.

こういうケースにおいて,パラメトリックCADの恩恵を受けつつ,いろいろラクにするための(オレオレ)ベストプラクティスを編み出したので,そのやりかたをメモがてら書いておきます.

続きを読む

LPCXpressoでプロジェクトを作る・パスを通す

いろいろあって,今ARMのCortex-M系CPUの載ったNXPセミコンダクターズ社のLPCシリーズマイコンで動かすコードをちょっと書いてて,LPCXpressoという開発環境IDE+マイコンボード)で作業してます.

このLPCXpresso IDEでライブラリプロジェクトを追加する方法と,パスを通す方法を忘備録としてメモっておきます.
すでにIDEは導入済みで,実行プロジェクトはあるものとします.

公式ページによると,今は「MCUXpresso IDE」の方がreccomendedだそうなので,古いかもですがね...

  • ライブラリプロジェクトを追加する方法
  • パスを通す方法(ライブラリプロジェクト)
  • パスを通す方法(実行プロジェクト)
続きを読む

東大山中研「動きをうごかす展」行ってきた

東大山中研究室プロトタイプ展「動きをうごかす展」に行ってきました.

f:id:mu-777:20180616174712p:plain

www.design-lab.iis.u-tokyo.ac.jp

すごくおもしろかったです.なんというか気持ちいい.
この言語化の難しい「気持ちよさ」こそが山中研のキモですね.

忘れないうちに特におもしろかったものの感想を.

てかはてなブログって動画は載せられないんやね.正直動画で見ないと意味ない(さらに言うとナマで見て操作しないとあんまり意味ない)ので,感想を書くメディアとしてはいまいちだけど,他に選択肢ないので...

  • Parametric Tube
  • Breathing Skeleton
  • READY TO CRAWL
  • SEER
  • 全体を通じて
    • 完成度が高すぎて重箱の隅をつつきたくなる問題
    • 評価とかできない問題
続きを読む

AntVRのMix体験会レポ(& 日本のAR/VRコミュニティについて)

先週(2018/5/26)にあった,AntVRのMix体験会に行ってきました. Mixは96°という超広視野角が売りの,界隈の人をざわつかせてる注目のARグラスです.

www.kickstarter.com

今ちょうど開催中のAWEにもブースを出しているので,詳しい情報がまたすぐ出る(出てる)かもです.が,この体験会を通じてMixに関することだけでなく,日本のAR/VRコミュニティにもちょっと感じるところがあったので,自分の忘備録としても書いておこうかなぁと思います.

Mixに関してのサマリとしては,

  • SWについて
  • コンテンツについて
    • ILLUSIONだった.どちらからのアプローチか聞きそびれたが,わかってるチョイス
  • HWについて
    • 処理系は外出し(=PCは別)とはいえ,外見はびっくりするぐらい軽い&小さい
    • 画角 is 正義.水平方向に関しては「あ,仮想物が切れた」ということはなく,人間の「気になるライン」は超えている印象
    • とはいえ,視界が暗く現実世界が見えにくいので,体験としてはARというよりVRに近い印象
    • 光学系がすごいらしい

という感じでした.

続きを読む