}}メモ今回のモチベは「破線書きたいな、どう書くんだろ。」ググったところp5jsのレポジトリでこんなissueを発見。「p5js、というかprocessing自体には専用のメソッドはないがネイティブのsetLineDash()を使えばできるよ!」できた、わーい。そこから次は「vertexを使って背景を作りたいな。」けれどいまいち使いこなせず、断念。ここ1週間くらいTwitterのProcessing界隈ではeraseのブームが来ているが、それもなにか使おうと思ったもののネタが思いつかず、断念。結局bezier関数でお茶を濁すことにしたのだけれど、これが結構ハマった。今回は配色に頭を使いたくなかったのでココで拝借。いうことで非常に満足のいく作品が作れた。本当はアニメーションとかさせることでもっとかっこよくできることは目に見えてるんだけど、あくまでこの取組では静止画を作っていきたいのでやりませんでした。興味ある人はコピってやってみてください。15:12【週刊p5js】work03Tweet広告を非表示にするもっと読むコメントを書く2020-02-15【Unity】スマホの画面タッチで回転させたいしピンチイン・ピンチアウトさせたいUnity●学んだことメモ「対象のオブジェクトをフリックで回転、それからピンチイン・ピンチアウトできるスクリプト書いて~」って言われて着手。その時書いてたのがこれ。(長くなるのでコード自体は載せない。)マウスドラッグで対象物を360度回転させるスクリプト書いたのでおいておく。1回転は実装できてもピンチイン・ピンチアウトはできない(マウスポインターは2つない)これは書き始めてすぐに思った。まいどまいど、ビルドして実機で確認するのは面倒だったのでなんとかならないかと思ってググったところ、GodTouchを発見。Unityエディタ上でタッチの動作を確認できるAssetです。iOS/Android/エディタで同じ挙動になります。(上記リンクサイトより)これでやろうかなーと思ったが、Assetを入れるほどのことでもないような気がしたのと、なんとか自分の力だけでやりたかったので、もう少し調査することに。UnityRemoteを知る。フリックとかの検証するのにUnityRemote便利やん。要はビルドすることなく接続された端末で動作確認できる。(ただし、デバイス上で動いているのではなくUnityエディタで擬似的に動かしている=パフォーマンスは落ちる)これなら心置きなくマウスの実装をスクリーンタッチの実装に移植できる。ちなみにUnityRemoteの導入は特に詰まることはないと思うけど、ココのサイトが親切丁寧。2マウスを使った実装を実機を使った実装に移植すると変な感じスクリーンタッチの実装に移植して、実機で動きを見てて2に衝突。UnityRemoteのせいかもしれない。何よりスクリーンから指を離した後の慣性による回転ー>停止がうまく動作しない。ログを吐かせて見た感じ、スクリーンタッチによる操作の場合、指を動かしているフェーズ(Touch.Moved)は最後の数フレーム分動いてないバッファのような物を持ってしまうっぽい?すごい速さで指動かしてみたりしたけど駄目だった。慣性による緩やかな回転ー>停止は諦めて、回転の実装はこれで終わり。次はピンチイン・ピンチアウトの実装だけど、参考に載せたサイトなどを見ながら実装。結局やっていることは前フレームと今フレームの差分をあてがってあげるだけなので回転と一緒。可読性のためにt2.touchのTouchPhaseで分岐しているので、このコードだと正しくは2本指のうち最初にタッチした方の指だけを動かした場合はピンチイン・ピンチアウトは動作しない。(が、そんなことでユーザは躓くことはないだろうと言う算段でこの実装。)ちなみに、TouchPhaseは他にもある。システムがタッチの追跡をキャンセルしました以上、ここまでで調べる時間含めて2時間くらい。c;}メモグラデーションの配色いい感じのものを決めるにあたっていくつか海外のデザインサイトを見たのだが、どれもColorCode形式でまとめられていたのでRGBに変換するメソッドを書いた。(これが型が合わなくて2日ほど放置していたのはここだけの話。)見る人が見ればわかるけど@takawo先生のTDSW資料を多大に参考にしている。僕が裏でTouchDesignerのWS講師をやっていたときのやつですね。フォントを好きなやつ使いたいなというのがそもそものモチベだった。requestうんちゃら...みたいなエラーが出て困ったがローカルサーバを立ててそこで動かしたら問題なくローカルのファイルにアクセスできた。Fontに入っているさわらび明朝フォントを使っています。rel="stylesheet">の追加をお忘れなく。blog.creative-plus.netナカジさんの記事出てきた。違いまだわかってない。Extensionを表示させる方法です。/iOSで共通なんでしょうか?まあどちらにせよ意味は通じると思いますが。ConnectorをベースにTHE・車輪の再開発をしていきます。(プラグインをそのまま使う方法は他のサイトをご覧ください。)シェア機能の本体となるスクリプトは以下のようになります。パット見で分かる通りAndroidはUnityの機能のみで実装ができますが、iOSに関してはネイティブプラグインとして別途実装する必要があります。Connectorからその部分の実装を削って、少し読みやすく整理しています。ちなみに、スクショ付き機能が入るとAppleだと認証周りをいろいろ調整しないといけないのでちょっと話がややこしくなります。最初にも書いたようにAndroidに関してはUnityからネイティブのメソッドを直接コールすることが可能です。https://docs.unity3d.com/jp/460/Manual/PluginsForAndroid.htmlそしてiOSプラグインの実装です。Asset下に適当なフォルダを作って(Pluginsとか)以下をSocialShare.mmという名前で保存します。C#のほうでそのメソッドを呼ぶと、プラグイン側のObj-Cの関数が呼ばれる。Obj-Cのことがちんぷんかんぷんだったので、少しつまづきました。(具体的にはarrayWithObjectsの最後にnilが必要だということがわかっておらず、ビルド後に無言クラッシュを食らってしまいしばし立ち往生しました。)ここまで理解できたら、あとはシェアボタンなどから最初のスクリプトのメソッドを呼び出すようにすれば実装は完了です。}さらにこれを応用させることで「Lv.100ステージクリア!!」や「5000PT獲得!!」などのゲームない情報を気軽にユーザがシェアできるようになります。今回はすでに広く使われているUnityプラグインを手元で再実装することで理解を深めるよい機会になりました。21:00【Unity】アプリからSNSへのシェア機能をつくる.Tweet広告を非表示にするもっと読むコメントを書く2020-01-26【Unity】スクリプトからフラクタルな造形。Unity※動きます。Child").AddComponent<Fractal>();再帰させたいだけなのでただのGameObjectを作成してこのコンポーネント自体をアタッチしている。t);Color.Lerpを使うと、例えばColor.Lerp(a,b,t)でt(0~1)に対してa~bで線形補間ができる。今回でいうと深度が深くなるにつれて色がはっきりとつくようになっている。childScale));ややわかりにくいが1というのは今見ているスケールに対応し、それにchildScale分を加えている。することによって子オブジェクトが親億ジェクトにくっついているように見える。22:21【Unity】スクリプトからフラクタルな造形。Tweet広告を非表示にするもっと読むコメントを書く2020-01-25【Unity】スクリプトからプロシージャルにTerrainもどき。Unityこちらの続きです。Meshを無数に生成しそこにPerlinNoiseをかけることで地形っぽい形状を作り出します。いうか、なるほどー、となった。2;それからその下のこの部分。試しに外して動かすとわかるけど、要はその行の最後の頂点と、次の行の最初の頂点はこのアルゴリズムでは同一視されるので、ずらしてあげないとライティングでバグる。19:47【Unity】スクリプトからプロシージャルにTerrainもどき。Tweet広告を非表示にするもっと読むコメントを書く2020-01-24【Unity】スクリプトからMeshを描画する。Unity特に面白みはないけどスクリプトから動的にMeshを描画することができたので今日は満足。いうかVEXでおんなじようなこと書いたなぁ。00:27【Unity】スクリプトからMeshを描画する。shaderさきに使ったスクリプト貼っとく。みたいなメソッドでアクセスができるっぽいのだが、この第一引数はstringでも良いらしい。引数にしたほうが圧倒的に速いとか。}タイトルと直接関係ないけど、Remapのような便利関数はてっきり標準のメソッドとしてあるのかと思ったらない。いうことでググった結果、上のような関数があったので拾ってきた。ところで、こういった拡張メソッドにはC#的な書き方があるらしく、最初それをわかっていなかったのでちょっと躓いた。このあたりはまた再度勉強する。そうそう、Inspectorは普通にこんな感じ。}ColorはShaderlab側が用意した型の1つでCGPROGRAM内ではfixed4に対応している。最初、試しにrgbとalphaで別のプロパティとして書こうと思ったのだが、Vectorという型がありはするものの、中身はこちらもfixed4にしか対応していなかった。}Tag構文についてはあんまり書かない(理解してない)が、Queueタグが描画順を管理する役目で、1000~4000くらいの値で使われる。(もっと大小のある数値が使えるのかは未知。透明を使い分ければ良さそう。ちなみにOpaqueはおぱきゅーって読む(読まない)。OneMinusSrcAlpha重なった色の合成法について決める構文。これもググったら種類が多い。みたいな公式が出てきた。いう宣言になっているようだ。基本となる合成方法らしい。面白い、この辺の比較はまた今度やってみる。(やってみたいことがどんどん増えるなぁ。)一番最初のGIF、録ったとき透過のこと忘れてたので、最後に。22:55【Unity】スクリプトからマテリアルの色(Properties)を変更するTweet広告を非表示にするもっと読むコメントを書く2020-01-19際限ない再現性。昨夜の飲み会は、お別れ会と言うには彼女自身はあっけからんとしていて、お疲れさま会というには彼自身はのんきだった。僕は途中から、(そう年末から借りっぱなしだった社食の鍵を返すだけの目的で)顔を出したのだがすっかり終電まで飲んでしまった。焦げて鉄板の隅に追いやられたホルモンと萎びたオイキムチをつつきながらみんなの話を聞いていると、一人また一人と涙を流し始め、なんだか可笑しかった。可笑しいね、なんて言いながらみんなで何度も乾杯した。みんながみんなを褒めて、褒め散らかして勝手に泣いて勝手に笑った。