Griffpatch氏、Scratch3のトンデモナイChrome拡張機能を公開する
大急ぎで書いてるので見やすいスタイルとかは無視します。
2019/09/14の夜、Griffpatch氏がScratch3のChrome向け拡張機能を公開しました。
内容はハットブロックの検索とジャンプです。(日本語での動作も確認)
flag(旗)が押されたとき、クローンされたとき、[任意の]キーが押されたとき、[メッセージ]を受け取ったとき……など、ハットブロックであれば何でも検索できます。
上のCtrlとfキー(Win、Mac共通)で入力ボックスに飛べるショートカット機能付きですよ。
先程Griffpatchさんが、GoogleChrome拡張機能で、Scratch3.0オンラインエディタを拡張する物を作りました。
— DIST_GRIMREAPER / 濁沢 陽樹 (@DIST_GRIMREAPER) September 14, 2019
なんと、ハットブロックの検索(イベント、クローンされたときなど)とその位置へのジャンプができるようになります。
Ctrl+fか上の入力ボックスから。#Scratchhttps://t.co/k8EGQeaUJJ pic.twitter.com/1iaZg6LS93
元投稿はコチラから↓
www.youtube.com
インストールはコチラから↓
chrome.google.com
ちなみに僕の検証環境は、
macOS Mojave10.14.6
Chrome76.0.3809.132(official build)
です。
P.S. GoogleChrome更新するのを忘れていました。検証環境確認のためChromeバージョンを見たところで気が付きました :P
他の記事も書いているのですがこれは緊急ニュースだったので学校のビデオ制作も課題もそっちのけで書きました。(忙しいのに何やってんだこいつ)
追記(2019/9/23)
昨日の9/22に、Firefox向けScratch 3 developer toolsを公開したようです。仕事がお早い。
addons.mozilla.org
また、少しずつ更新しているようで、基本的な機能は変わらないものの、ちょっとした進化が進んでいるようです。
検索欄の右にあるClean Upできれいにするが実行できたりなど、地味に役立つ良い機能ですね。
今後に期待ですね。
ではまた、次の記事でお会いしましょう。
I don't laugh.に出てくるキャラ紹介と余談①「DIST_GRIMREAPER」について
気が向いたら更新していこうかな、ってシリーズ第一回。
今回は自分の代名詞でもありPixivに連載中の小説「I don't laugh.」の主人公、DIST_GRIMREAPER(以下、DISTと略)について、お話します。
※自分の活動名も同じですが、紹介するのは自分のことではなく、自作のキャラクターのことです!
本編読んでない方はこちらから↓
www.pixiv.net
DISTというキャラクターが生まれたきっかけ
自分がDISTを作ったとき、2年以上も前のことは、今でも覚えています。あれはまだ、キャラクターをマウスで描いていた時代です(あずぺでベジェ曲線にハマっていた時代……)。DISTが完成したより前は、目が出ていない死神(通称、若かりし死神)を自分の象徴的なキャラクターとして使っていました。しかし使っているうちに思ったのです。「目が出てなくて、非常に格好がつかない」と。
あるときあるチャットでごっこ遊びをしていたときのこと、当時MGSVの動画にハマっていて、BIG BOSS風にイメチェンした死神として眼帯をつけた姿を考えていました(当時の俺はなんて勝手なことを……)。そしてそのごっこ遊びをしてる中、「攻撃を受け、右目に矢が刺さった」という設定を作り、眼帯をつけた姿を「Punished Venom SU」と名付け(←またも勝手なことを)、遊びを進めていました。その後、覚醒した姿として目を描き入れたのです。そのときには、今のデザインとかなり近くなっていました。
そしてまたあるとき、若かりし死神に飽きたことから新キャラを作ることを決意し、構想をねっていきました。そして出てきた案が「左目に紫色の謎のマーク」「変形した大鎌」となり、組み合わせてできたものが現在のDISTというわけです。当時は若かりし死神の成長した姿という設定でやってました。
2年前、名前「THE・GRIMREAPER」じゃなくて固有名詞をつけたいと考えて、改名した結果、「DIST_GRIMREAPER」となったのです。DISTの由来は秘密です。
去年、アイコンを新しくするとき、フードをかぶっている姿がキャラが立ちにくいうえ髪の毛で遊べないため、フードを取った姿を描いてから、今はずっとその状態です。
若かりし死神が最初のオリキャラなわけですが、どうしてそいつができたのかはまたいつか気が向いたら書きます。
I don't laughシリーズにおけるDIST
ここからは小説での設定について話していきます。
実家から離れた県外の高校へ通っている明宮 直(この記事の執筆時点では、本編でこの名前は出ていません)は、その高校の近くで一人暮らしをしていました。
ある日、両親が事故に遭ったと聞き、実家付近の病院へ急ぐも既に両親は息絶えていました。絶望した彼は山から落ち自殺を図りました。しかし、転落し頭を強打したにもかかわらず、目が覚めてしまいます。場所も元の世界ではなく「死神界」に移っていました。人間世界での死神の減少により、次に死んだ人間を死神にするという計画に巻き込まれた彼は、死神として生き返り、DISTの名を授かり活動していくのでした。
これが小説でのDISTの設定です。当然、自分の生い立ちとは一切関係ないですよ。
紹介を終えて
振り返ってみると意外と忘れていた事もあったりして、意外と楽しかったです。正直、DISTはモデルとかも無いので語れることは殆どなかったのですが。(笑)
次回はその他の死神やカルト教団、新キャラCandy.Dについて書いたりしてみようかな、と思っています。琳香は自分が作ったキャラではないので、書く気はありません。
それではまた次の記事で。
Scratch3.0の拡張機能を作ってみる - #0 環境整備
きっかけ
Scratch、とてもいいサービスだと思いますが、カスタムしてできるのは「ブロック」の定義のみなので値を返す文字列や真偽を返すレポーターが作れないんですよね。
そこで数学系のレポーターやインプットマネージャみたいなのを作れればいいなー、と思った次第です。
開発の準備
1.必要なソフトのインストール
Scratchの日本語Wikiの拡張機能開発についての記事を参考にソフトのインストールをします。
ja.scratch-wiki.info
具体的には、Node.js
nodejs.org
それと、Git
git-scm.com
この2つをインストールします。
Node.jsはnvmやnodebrew、nodistを使う方法がありますが、とりあえず自分は公式サイトのインストーラを使いました。また、先程の日本語ScratchWikiではバージョン8を勧めていましたが、自分が使っているNode.jsは10.16.0です。
今のところ開発している分には、全く支障はないのでとりあえず手軽なインストーラで良いかと思います。
念の為、ちゃんとインストールされているか確認もしましょう。
$ node -v $ npm -v $ git --version
2.Scratch3.0を動かす準備から、実際に動かすまで
ソフトのインストールが確認できたら、Scratch3.0を構成するファイルをダウンロードさせ、npmに設定します。ディレクトリは自分のアカウントのフォルダ(/Users/xxxx)直下にしてますが自由です。
自分はMacですが、他OSの方も手順はさほど変わらないと思います。
$ git clone --depth 1 https://github.com/llk/scratch-vm.git $ git clone --depth 1 https://github.com/llk/scratch-gui.git
以降、Windows以外のOSではnpmのコマンドに「sudo」(管理者権限で実行)を最初につける必要があるので注意。
$ cd scratch-vm $ npm i $ npm link $ cd ..\scratch-gui $ npm i $ npm link scratch-vm
これで必要なファイルは揃いました。以下のコマンドを打って実行してみましょう。
$ npm start
途中、Replace Autoprefixer browsers option to Browserslist config.みたいに出るけど動作に支障はないのでとりあえず無視して待ちます。何か分かり次第対処します。
ℹ 「wdm」: Compiled successfully.
とでれば成功です。http://localhost:8601/にアクセスしてみましょう。
終わりに
実はもう既に環境構築し開発していたのですが、どうもうまく起動しなくなったので再構築も兼ねて記事にしました。
どうでもいいけど、npmで起動したScratch3.0GUIのアイコン、Scratch3.0正式リリースの前のベータ版のアイコンと同じですね。
次回は簡単な拡張機能を作り、実行させる予定です。
次回→まだ
UnityアプデしたらTextMeshProがエラー吐いた
アップグレードしたら……
Unity2017で作っていたゲームを2019にアップグレードしたら、大量のエラーをお見舞いされました。273くらいだったかな……。
その中でもとくに、多かったのが以下のエラーです。
Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification
見るとTextMeshProが原因のようですね。何故に。
エラーの解消
ScriptingRuntimeVersionの変更
このスレッドに、こう書いてあります。
QA replied with "Change Scripting Runtime Version to .NET 4.x" and closed the issue. Not sure if that's the proper solution though, since this issue did not exist in 2019.1.0b4. Something did change between b4 and b9 which now causes this issue.
……ほう。とりあえずやってみました。
Edit→ProjectSettings…
→Player→Other Settings→Scripting Runtime Versionを.NET 3.5から.NET 4.0に。
……すると、今度はエラーが変わりました。
'FaceInfo' does not contain a definition for 'lineHeight' and no accessible extension method 'lineHeight' accepting a first argument of type 'FaceInfo' could be found (are you missing a using directive or an assembly reference?)
TextMeshProをダウングレード
調べると、こちらの記事に対処法が書かれていました。
このゲームはTinyModeを使っているわけではありませんが、とりあえず1.3.0にしました。
すると、総数は減ったのですが、また新たなエラーが出てきました。
The call is ambiguous between the following methods or properties: 'TMPro.TMPro_ExtensionMethods.Multiply(UnityEngine.Color32, UnityEngine.Color32)' and 'TMPro.TMPro_ExtensionMethods.Multiply(UnityEngine.Color32, UnityEngine.Color32)'
こちらはスクショを忘れました。
データの入れ直し――解決!
Unity2018にアプデしたらTextMeshProでエラーが出た | pc-memoという記事で全く同じエラーだったので見てみました。(この記事にも更に元記事があるみたいですが、手順が細かく書かれているのでこちらのリンクを貼りました)
スクショはないのですが、
1.TextMeshProフォルダを削除
2.プロジェクトを閉じ、もう一度開く
3.Window→TextMeshPro→ImportTMPEssentialResourcesを開いてImportする
4.Edit→ProjectSettings→EditorSettingsに進み、
・Version control の Mode を Visible Meta Filesに
・Asset Serialization の Mode を Force Textに
する
5.Window→TextMeshPro→ProjectFilesGUIDRemappingToolでScanして、Saveする
……するとTextMeshPro関係のエラーが全て消えました!
でも、PostProcessingとかもちょっと吐いてたりするから、大変……
最終的にちゃんと動作するように戻せました、よかったよかった。
ではでは。
x264GUIExでの、H.264出力時のエラーの対処。
移行記事です。
今回起きたエラーはこちらです。
auo [error]: 出力音声ファイルがみつかりません。qaacでの音声のエンコードに失敗しました。
auo [error]: 音声エンコードのコマンドラインは…
auo [error]: ".exe.files\qaac.exe" -q 2 --abr 128 --ignorelength -o "D:\test\test_audio.m4a" "-"
qaac [error]: ERROR: CoreAudioToolbox.dll: 指定されたモジュールが見つかりません。
[対処法1]qaac.exeのパスを確認する
ファイル→プラグイン出力→拡張x264出力(GUI)Ex→ビデオ圧縮のx264GuiExの画面を表示して、qaac.exeの指定(画像右上赤枠部分)のところのパスを確認してください。
→自分は正常だった
[対処法2]編集しているファイルの中身をエクスポートして、新しいファイルに入れ直す
単純に、編集ファイルが原因ということもありえます。
拡張編集のタイムライン上で右クリック→ファイル→オブジェクトファイルのエクスポートでexoファイルを出力。
Aviutl(拡張編集ではない)の画面のファイル→閉じるをしてから、新しくプロジェクトファイルを作成し、拡張編集のタイムライン上で右クリック→ファイル→オブジェクトファイルのインポートでexoファイルを入れます。
→自分はだめだった
[対処法3]フリーソフトを入れてはいけない場所に入っていないか確認する
実は、Windowsには"フリーソフトを入れてはいけない場所"があるのです。
それは、"Windowsが管理している場所"なのです。なので、
・ダウンロード
・デスクトップ
・ライブラリ
・ドキュメント
・ピクチャ
・ビデオ
・ミュージック
・C:ユーザー(C:user)
・C:Windows
などのフォルダには入れてはいけないようです。
自分はAviutlも編集するファイルもビデオの中に入れていたので、"D:/Aviutl"など新しくフォルダーを作ってそれらのファイルを移しました。
→移動したけど意味なかった
[対処法4]Appleのメディア再生系のソフトウェアをインストールする
qaac.exeはどうやらApple製品の一部のものが元のようで、iTunesやQuickTimeを入れることでそのドライバーがインストールされる(?)ようです(あまり知らない)
→動いた!
以上の4点を試せば、きっと出力できるはずです。
どうぞ、お試しあれ。
UnityC#備忘録-Materialのタイリングをリアルタイムできれいにする(実行環境:5.6.3f1)
移行記事です。
Yughues Free Metal Materialsを使っていると、C#でうまく制御ができないことがわかりした。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BlockMaterial : MonoBehaviour { public Material material; Vector2 size; // Use this for initialization void Start () { material = gameObject.GetComponent<Renderer>().material; //マテリアルの取得 } // Update is called once per frame void Update () { size = new Vector2(gameObject.transform.localScale.x, gameObject.transform.localScale.z); //オブジェクトの大きさを取得 material.mainTextureScale = size; //タイリングをセット } }
上のスクリプトだと法線マップのタイリングがうまくいかないようです。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlaneMaterial : MonoBehaviour { public Material material; Vector2 size; // Use this for initialization void Start () { material = gameObject.GetComponent<Renderer>().material; //マテリアルの取得 } // Update is called once per frame void Update () { size = new Vector2(gameObject.transform.localScale.x, gameObject.transform.localScale.z); //オブジェクトの大きさを取得 material.mainTextureScale = size; //タイリングをセット material.SetTextureScale("_BumpMap", size); //タイリングをセット② } }
という風に一行記述を増やす必要があります。
まあ、Yughues Free Metal Materialsに限らず使うところはあると思いますが。
今回のスクリプトでは再生中にサイズを変更しても適用されるので活用できますね!
一応、もっとしっかりしたアセットもあります。(MasterCube等)
ただ、設定が増えてめんどくさい人やUnityC#の初心者(自分含む)は今回の方法でしてもいいと思います。