Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

PCGを使ってペイントしたら木のモデルが生えるようにする

nilfs.hatenablog.jp 前回はPCGとBlueprintを使って自分でPCGノードを作成するところまでやりました。 これができるとC++を書かなくても色んな事ができることができるようになるのですが、今回は木のモデルをいい感じに生やす機能を実装しようと思います。 …

UE5.2 Procedural Content GenerationのノードをBlueprintで書くチュートリアル

UE5

PCGグラフのノードをBPで追加することができるよう話題が以下の動画にありました。これとソースコードをベースにやり方を調べて手順をまとめています。 Unreal Engine 5.2 Feature Showcase | GDC 2023 - YouTube 環境について 2023/05/07 時点 UE5.2 Previe…

LyraGameのコードリーディングーキャラが死ぬときー

LyraサンプルはGameplayAbilitySystemが多様されていて難解なため、自分の備忘録としてまとめていく。同じようにコードリーディングしていく人の手助けになったらいいな。 GameplayAbilitySystem(以下GAS)が何なのか?についてはスタミナを消費させてみる…

CVATをWindowsでセットアップ

アノテーションツールのCVATをWindowsで動作させたときのメモ ※20190825更新 developブランチだとパッチを当てるところが変わっていたので以下のようなことをする必要はなさそうです。今後のリリースに期待 環境 バージョンは作業時のmasterで以下のコミット…

ポケステをハックするのがブームと聞いて感化されてしまった

ポケステ部なるものがあるらしい 追記2017/09/17:他のツールも動いたので最後に追記した。 最近自作キーボードをウォッチしている後輩が、色々と有益な情報(散財の元)をくれる。 キーボードのイベントでポケステをハックしてる人たちがいたらしく、わくわ…

Cloud Drive Syncを使い始めたらエラーが止まらないのが無事に解決した

調べたことの備忘録。 Cloud Drive Syncを使い始めた あんまりDropboxを使わなくなったけど、アカウントを捨てるほどではないのでどっかに置いておきたいという動機から、QnapのCloud Drive SyncでNASに退避を行なった。 同期はとりあえず成功したので、いい…

Barocco MD600はHHKBにはならなかった

みんな大好き分割キーボードの新作?Mistelのキーボードを買ってみました。 だいたい2週間ほど、使ってみた感想をまとめます。買ったのは赤軸です。 www.mistelkeyboard.com 動機 高まる分割キーボードブームの乗りたくて、Ergodox EZとかが欲しくなりこんな…

C++で型情報を持ったままにしておく

やりたいこと 型情報なしに管理したいがないと削除時に困る。削除時だけは型情報が欲しい。 コード #include <iostream> using namespace std; class Foo { public: Foo() { cout << "Foo" << endl; } virtual ~Foo() { cout << "~Foo" << endl; } protected: void *m_</iostream>…

日本酒会201606その1

最近サボっていた定例会日本酒会を久々に開催。過去の会もそのうちまとめたいところ。 江戸川橋!初めて来た。よく探すなぁと予約してくれた人には感謝。 見たことある寿司が一つも出てこなかったぞ。酢飯屋 本日のメイン、予約してもらったお店は酢飯屋です…

CollectionViewを使おうと思ってSwiftでCocoaBindingを使ってみた

XCode Version 7.1.1 (7B1005) Swift2.1で試しました。 iOSのアプリは書いたことがあったけど、OSXのアプリは書いたことがなくて色々ハマっている。 iOSだったらUIXXってクラスを使ってGUIを構築してたけど、OSXだとNSXXってクラスを使っていくようだ。 iOS…

AppDelegateでStoryboardからNSWindowControllerを取得してウィンドウを表示するだけでハマった

XCode Version 7.1.1 (7B1005) Swift2.1で試しました。 かなりはまってしまったが、答えはここにあった。表示したいウィンドウのNSWindowControllerをメンバ変数等で拘束しておかないと正しく動作しなかった。 stackoverflow.com 最小コードにすると以下のよ…

CFArrayはArrayと等価じゃなかった

XCode Version 7.1.1 (7B1005) Swift2.1で試しました。 CGWindowListCreateDescriptionFromArrayに[Int]を渡したところコンパイルが通ったのでCFArrayとArrayが等価だと思ってていたが使い方が間違っていたようなのでメモ let windowArray = [1310] let wind…

GraphQLのサンプルに書き加えてみた

できたこと 独自のItemというデータ構造を追加してそれを作成・取得することができるようになった。 データ定義をしておくとバリテーションをしてくれることがわかった。 クライアント側で欲しいフィールドを調整したい場合は便利そうな気がした。 独自実装…

GraphQLサーバー起動まで試した

Facebookの発表したGraphQLが気になったのでインストールまでやってみました。 qiitaではまだ記事が全然上がっていない模様。 GraphQLに関する1件の投稿 - Qiita ここにすでにサーバーの実装がいたので試すのは簡単そう。 RisingStack/graphql-server · GitH…

普段どうやってエラーメッセージから問題を解決しているか?

そもそも 慣れれば簡単にぐぐれるだろ!って思いがちなんだけど、普段どうしているかちゃんと振り返っておかないと、人に伝えられないので振り返ってみます。 エラーに遭遇する エラーは突然やってくる。ちょっと今流行りのモジュールを動かそうと思ってwiki…

QNapにgitbucketをインストール

NAS

ググるとちょこちょこ試している人がいるようなので割と簡単にインストールできるみたい。実際に試してみた。 AppCenterからJRE_ARM ver8.6.0、Tomcat ver7.0.50、git ver1.8.4.2-1をインストール Tomcatのページを開いて、gitbucketのwarファイルをデプロイ…

pogoplugにdebianインストールできました

手元に結局使わず転がっていたPogoplug Mobileを有効利用すべくDebianをインストールしました。2014/11/22時点では簡単にインストールができました http://blog.qnology.com/2014/07/hacking-pogoplug-v4-series-4-and-mobile.html の手順の通りに上から順に…

hubotのインストールからアダプタ、スクリプトの自作まで

※2014/11/15 スクリプトの書き方加筆 オレオレシステムに投稿するためのボット作成にhubotを使ってみました。公式ページの最新ぽいやり方でインストールを進めてみてハマったところをメモ。 インストール github/hubot hubot/README.md at master · github/h…

絵を普段描かないから気づかなかったけど、絵描きも結構体系化されている知識があるんじゃないかと

前に熱中教室というイベントに行ってきて思ったんですが*1 車のデザイン画などは、右上がりになっている構図が多い印象があるのはデザイナーがみんな右利きなんじゃないかと。。。 熱中教室の山中先生の授業でデッサンするときに骨を意識して描きましょうと…

AndroidStudio0.4がご機嫌斜めです

Android Studioを更新するたびにトラブルになってるような気がする。しばらくバージョンを上げていなくて、0.3系から0.4.2にアップデートしたところビルドが失敗するようになってしまった。 1つ目 公式にあるように、build.gradleに書いてあるgradleプラグ…

iOS側でカメラを使って撮った動画をAndroidで再生したいのですが

作ってるアプリで欲しかった機能についてかなりハマりながらもやっとどうにかなったのでメモ。 iOSで撮った動画をAndroidでもどうこうしたいってのがニーズが少ないんだろう…全然ぐぐっても出てこなかった。 環境 iOS:iPhone4 Android:Galaxy S2(Android 4…

parse.comでプッシュ通知を実装してみた

どっかにちゃんと書いてあったけど割とハマった。書き出し時にキーチェーンアクセスの分類->自分の証明書のところを選択しておかないと、書き出せないようだ。 Parse.comのサイトからはプッシュ通知ができるけど、アプリ側から発行できない Parse.comのSetti…

parse.comでプッシュ通知を実装してみた

AndroidからiOSに向かってプッシュ通知が出したかったので、parse.comを使ってみました。 ほとんどチュートリアル通りでサクサク実装できてparse.comすごく便利。ロックインされる問題はあるものの、スタートアップとか個人でやる場合は、どんどん使っていい…

WiiリモコンをAndroidで動かしたい(楽チン編)

目標 Wiiリモコンを使って自作アプリを動かしたい。あと出来るだけ手抜きで動作検証したい。 Wiiリモコンをキーボードとして認識させるアプリをインストールする キーボードとして動作しているか確認する ※動作確認したのは、Xperia ray(Android2.3.4)です。…

StoryboardでUIImagePickerControllerを扱いたい

答えはこちら http://stackoverflow.com/questions/13713242/prepareforsegue-with-uiimagepickercontroller storyboardでUIViewControllerを配置 配置したUIViewControllerのCustom Classの欄にUIImagePickerControllerと入力する prepareForSegueで遷移す…

UICollectionViewのリロードは表示されてるセルしか実際には実行されない

iOS

iphone4 iOS6 で、UICollectionViewを使ってデータを表示しているときにセルを再利用するので、セルの中身を非同期で読み込んだりしていると意図しないセルの中身を書き換えたりしまうことがある。 セルを保持しないようにしないといけないので、リロードで…

Promiseの実装練習

翻訳: ”命令型のコールバック、関数型のプロミス: Node が逸した最大の機会” by James Coglan これのコードを読んでいてイマイチ理解が出来なかったので、実行出来る形にコードを補完して写経してみた。元記事のコードに出てくるPromiseクラスの完全版はたぶ…

Promiseの実装練習2

Objective-c版を実装し始めた。 C言語だと可変長引数の扱いどうしようとかトラブってなかなか進んでいない。一旦thenとresolve関数だけ実装してみた。https://github.com/nilfs/promise-objcメンバメソッドを呼ぶためにオブジェクトと関数ポインタ(セレクタ…

CAS(Compare And Swap)をしたいんだけど

Lock-freeにしたいところがあってobjective-cでどうやって書くか調べてみました。#import とimport文を書いて NSMutableArray * arrayA = [[NSMutableArray array] autorelease]; NSMutableArray * arrayB = [[NSMutableArray array] autorelease]; [arrayA …