Spine 3.7バージョンリリース

January 4th, 2019

詳細情報については、エディター変更履歴および ランタイム変更履歴をご覧ください。全てのランタイムがアップデートされ、3.7バージョンに対応します。以下は主な新機能とその他の変更です。

オーディオサポート

3.7バージョンのリリースにオーディオサポートが追加されました!このため、Spineエディターから直接グラフィックスとオーディオ両方をプレビューし、同期と反復を実施できるようになりました。

階層ビューに「オーディオ」と呼ばれる新ノードが導入されました:

オーディオツリーノード

このノードは「イメージ」ノードに似ています:特定のパスに存在する全てのオーディオファイルは、設定モード内の「オーディオ」ノードの下に表示されます。現在、SpineはWAV、MP3、OGGオーディオ形式に対応します。

オーディオファイルをプロジェクトに追加した後、オーディオファイルを「イベント」ノードにドロップするか、オーディオファイルを選択して「新規イベント」ボタンをクリックすることで、イベントを作成することができます。これによりオーディオファイルに関連する新規イベントが作成され、アニメーション内でキーを作成できるようになります。

オーディオイベント

ご覧の通り、イベントは3つの属性を持っています:

  • 「オーディオパス」はイベントに関連するオーディオファイルの場所を特定します。これが設定されるとアニメーション中、このイベントのキーが実行され、オーディオファイルが再生されます。
  • 「ボリューム」は再生音量を設定します。
  • 「バランス」はステレオの左右のチャンネルの音量を設定し、モノの場合、パンニングを設定します。

オーディオイベントのキーを作成する際、設定値とは異なるボリュームとバランス値のキーを作成できます:

オーディオキー

このスクリーンショットでは、Spineboyの徒歩アニメーション用に足音のオーディオイベントのキーが2回作成されました。ドープシートでは、オーディオイベントの持続時間は紫色の水平ラインにより示されます。ドープシートの上には、新規の「オーディオ」ビューが表示されます。これがドープシートと同期して全ての有効なオーディオイベントの波形を表示し、マスターボリュームや出力に使用されるオーディオ機器をコントロールできるようになります。オーディオビュー・タイムラインまたはドープシート・タイムラインをスクラブすることでオーディオをスクラブできます。

オーディオに対応するために、エクスポートシステムがアップデートされました。Spineからアニメーションを動画にエクスポートする際、オーディオが含まれます。

オーディオ再生はエディターのみの機能です。ランタイムには3つのイベント属性を利用できますが、Spine ランタイムはオーディオの読み込みや再生は管理しません。ランタイム時にオーディオをSpineアニメ―ションと同期するには、以前と同じ管理方法を使用します:各イベントに再生するオーディオをトリガーするために「AnimationState」または「TrackEntry」をイベントハンドラーと登録します。

ビューポート・ピクセルグリッド・スケーリング (3.7.14)

ユーザーの中には、 Axiom Vergeトム・ハップのように、Spineをピクセルアートに使用される方もいらっしゃいます。このため、Spineにおけるピクセルアート・ワークフローを支援するために、ビューポート・ピクセルグリッド・スケーリングが用意されました。これが有効にされると、Spineはピクセルアートを1:1の割合でレンダリングし、その結果イメージをビューポート(表示領域)の大きさに拡大または縮小しながらピクセル画質を保つことができます:

Spine 3.7 ピクセルア-ト

この機能により、レトロスタイルのピクセルスケーリングや回転により生じたエイリアシングやアーチファクトをSpineエディターからプレビューすることができます。

この機能はSpine設定で有効にすることができます。詳しい情報については、このトピックに関するフォーラムスレッドをお読みください。

ストレッチ、圧縮、ユニフォーム・インバース・キネマティクス

ストレッチIK

Spineは1本または2本のボーンが他のターゲットボーンを指す1ボーンおよび2ボーンインバース・キネマティクス・コンストレイントをサポートしますが、以前、これらのコンストレイントは剛性でした:つまりIKチェーンのボーンは自動的に伸縮しませんでした。

Spine 3.7にはIKコンストレイントに設定が追加されました。 Spine 3.7 IK設定

1本または2本ボーンのIKコンストレイントに「ストレッチ」オプションが追加されました。これが有効にされると、ターゲットボーンにふれるためにIKチェーンの全てのボーンを必要に応じて伸ばすことができます。しかしターゲットボーンへの距離が元のボーン長さより短い場合、ボーンは圧縮されません。

1ボーンIKコンストレイントの場合、「圧縮」設定はターゲットボーンへの距離が制約されたボーンの長さより短い場合、制約されたボーンの圧縮を生じます。

しかし、「圧縮」と「ストレッチ」はキーを作成できます。

ストレッチと圧縮の両方において、制約されたボーンのアタッチメントと子はボーンのx軸上でスケーリングできます。1ボーンIKコンストレイントの場合、「ユニフォーム」設定を有効にして両軸でスケーリングが可能です。

改善されたエクスポート

Spine 3.7 エクスポート

Spine 3.7 はエクスポートダイアログを大幅に改善し、多くのエクスポート機能を追加しました。

GIFエクスポーターはGIF形式の256色数制限の中で、アニメーションのカラーを可能な限り維持する洗練された量子化アルゴリズムを使用します。アニメーション中のちらつきを予防するために、各フレームのみならず、一時的にフレーム全体でカラーが注意深く選択されます。エクスポート設定に多数のコントロールが搭載され、アニメーションに最適なパラメーターを発見し、最高品質のGIFを作成できるようになりました。

またエクスポート形式も増えました。APNGはGIFに類似するアニメ画像形式ですが、フルカラーと透明度をサポートします。この形式は携帯を含む全てのブラウザ(MicrosoftインターネットエクスプローラーとMicrosoftエッジを除く)によりサポートされ、GIFの代替形式として優れています。

AdobeフォトショップのPSD形式のエクスポートに対するサポートが追加されました。アニメ―ションの各フレームが別のレイヤーにエクスポートされます。これは様々な視点から追加のアタッチメントを描画する、VFXやコマ撮りアニメーションにポストエフェクトを適用する、単独ファイルとして他のソフトウェアにアニメーションを持ち込む場合役立ちます。

上のスクリーンショットの右上に「プレビュー」ボタンがあることに気づかれた方もいらっしゃるかと思います。これがクリックされるとどうなるか見てみましょう!

エクスポートプレビュー

プレビューは、エクスポートされた時と全く同じ外観のイメージをレンダリングします。圧縮または他のエクスポート設定により生じたアーチファクトも含まれます。

「範囲」をクリックすることで、エクスポートするフレームのサブセットを選択できます:

エクスポート範囲

最も頻繁にリクエストされる機能の1つに「切り抜き」(Crop)設定があります:

切り抜きエクスポート

シーンをエクスポートする際、ビューポートのサイズと位置を指定できます!

動画エクスポートはオーディオエクスポートもサポートします。

スキンの組み合わせ

スキンビュー

頻繁にリクエストされる機能の1つに、Spineエディター内で複数スキンを同時に表示することがあります。以前はランタイムにのみ、これが可能でした。

新しく追加された「スキン」ビューでは、利用可能な全てのスキンリストがそれぞれのピンとともに一番上に表示されます。一番下には、現在ピン済みのスキンのリストが表示されます。ピン済みのスキンは一番下のスキンから全て同時に表示されます。一番下のピン済みスキンのリストは、ドラッグして適用順を変更することができます。

スキンビューでスキンを1つ選択すると、これが有効なスキンになります。有効なスキンのアタッチメントのみがビューポートで選択・編集可能になります。有効なスキンは常に可視化され、ピンされていない場合、最後に適用されます。

スキンビューは上のスクリーンショットに表示される通り、様々なギアや身体部分のスキンを組み合わせるキャラクター作りに便利です。キャラクターの着せ替えごっこパーティーに最高です。私たちも新しい衣服の組み合わせをさんざん試して時間を浪費したことがあります!  

タイプして検索 (Type to search)

タイプして検索

「ツリー」ビューの階層上に検索用のテキストボックスが用意されました。「Enter」を押すとテキストボックスに焦点が当てられ、値を入力し、「Enter」(または「F3」)を押すと新しい検索結果が得られます。「Shift+Enter」または「Shift+F3」を使用することで以前の結果を選択し、「Escape」を押すとテキストボックスがクリアされます。

ツリーフィルター・ポップアップで「テキスト検索フィルター」チェックボックスにチェックをつけることもできます。チェックされると、検索テキストに一致する要素だけがツリーに表示されます。

スキン複製とプレースホルダー作成

スキン複製

自動名前変更、リンク済みメッシュの使用、メッシュ変形キー複製オプションなど、スキン複製に便利な機能が多数追加されました。

スキンプレースホルダー

既存のアタッチメントから新しいスキンプレースホルダーを作成する際、同様の便利な機能を使用できます。また既存の全てのスキンにアタッチメントを複製できます!

頂点コピー/貼り付け

頂点コピーと貼り付け

頂点を選択し、コピーと貼り付けを実施できるようになりました。小さな変更ですが、とても便利です!メッシュ、パス、境界ボックスに使用できます。同じ数の頂点が選択されている限り、頂点を他のアタッチメントに貼り付けることも可能です。

CLI改善

コマンドライン・インターフェース

コマンドライン・エクスポートに機能が追加されました!

「-m」または 「--clean」引数はSpineプロジェクトから不要なアニメーションキーを取り除きます。Spine JSON またはバイナリ形式にエクスポートする時も使用できます。ランタイムファイルを極力小さく保つ、または複数のSpineプロジェクトを一括クリーンアップするために、アセットパイプラインの一部としてこれを追加できます。

新しい「--import」引数は、JSON、バイナリ、またはプロジェクトのスケルトンを他のプロジェクトにインポートするために使用できます。既存のスケルトンを単独のSpineプロジェクトファイルに組み合わせる時にたいへん便利です。「--scale」フラッグと組み合わせると、コマンドラインからプロジェクト全体をスケーリングできます。

これらの新しいフラッグ例については、コマンドライン・エクスポート資料をお読みください。

ランタイム改善

また私たちは、Spineのランタイム部分を改善するために最善を尽くしました。エンジン/フレームワークに関する追加および変更の完全な概要については、Spine ランタイム変更履歴および3.7 ブランチ用のコミット履歴をお読みください。

ほとんどの追加と変更は全てのランタイムに共通です。大幅な変更は僅かしかありません。また変更に伴う修正もさほど困難ではありません:

  • 各フレームでループされるゼロデュレーションのアニメーション(zero duration animations)の完了イベントは「AnimationState」 と「TrackEntry」のリスナーに送られます。  「スケルトン」の「flipX」と「flipY」属性が「scaleX」と「scaleY」に取り替えられました。幾つかのボーンがスケールを継承しなくても、スケルトン全体をスケーリングできるため、トランスフォームの適用がシンプルかつパワフルになりました。  「MixPose」が「MixBlend」に改名されました。Timeline APIに直接作業を行う、または自分でAnimationStateを変更しない限り、この変更が既存のコードを影響することはないでしょう。

以下は全てのランタイムに追加された最も注目すべき機能です:

 通常、アニメーションを別のトラックで再生中、低いトラックのポーズは高いトラックのポーズにより無効にされます。付加的トラックでは、ポーズが低いトラックの結果に付加されます。この結果、25%が怒り、25%が悲しみ、50%が喜びなど複数の顔の表情がブレンドされるような効果が生まれます。トラックに付加するには、「TrackEntry#setMixBlend(MixBlend.add)」をコールします。ブレンドのパーセントを特定するには、「TrackEntry#alpha」を設定します。これについてのディスカッションはフォーラムスレッドをお読みください。  「TrackEntry」は「holdPrevious」と呼ばれる新しいフィールドを含みます。これは多数のトラックを使用する際、アニメーションの一部が「ディッピング」することから生じる「AnimationState」の限界に対策するために使用されます。この問題に関するディスカッションとソリューションについては、フォーラムスレッドをお読みください。

  • 上記で述べたストレッチと圧縮IKコンストレイントへのサポート。
  • オーディオイベント用のサポート。オーディオ再生を実行するには、「Event」と「EventData」上の「audioPath」、「volume」、および「balance」フィールドをクエリします。

3.6のリリース以降、バグ修正や改善のために200件以上のランタイム問題が解決されました。これは皆さまのご支援がなければ不可能でした。問題をご報告いただいた皆様に厚くお礼を申しあげるとともに今後もよろしくお願いいたします!

Spine-cpp

spine-cpp

Spine ランタイムに付け加えられた最大の機能をまだ説明していません:それはspine-cppです!これはC++ ランタイムリファレンスの開始に大いに貢献したステファン・ゴゥエン氏により何気なく依頼された[プル・リクエスト]から始まりました。私たちはこの問題に1か月以上取り組み、ようやくユーザーが使用できる最初のバージョンを完成させることができました。

しかしながら、当社のUnreal Engine、cocos2d-x、cocos2d-objc、およびSFML Spine ランタイムはすべて当社のリファレンスを実装したC89準拠バージョンのspine-c上に構築されています。これらのランタイムをspine-cpp に変換し、spine-cベースの製品を取り除くことはユーザー利便性の観点から好ましくありません。

このため、当社の勇敢なベータテスターは2通りの開発ブランチを実施しました:「3.7-beta」の唯一の追加点は、Unreal Engine、およびcocos2d-x ランタイムをspine-cppに切り替えたSFMLランタイム、および「3.7-beta-cpp」のC++バージョンです。これによりSpine 3.7のベータ段階で多くのユーザーがspine-cppの独特なC++ APIを試すことができ、プロダクション前に問題を報告していただいたため大変助かりました。

3.7バージョンのリリースには、spine-cpp ベースブランチをデフォルトにすることが決定されました。spine-cに基づく多数のコードベースをお持ちのUnreal Engineまたはcocos2d-xのユーザーの皆様は、「3.7-c」をご利用いただけます。

当社は今後「3.7」デフォルトブランチ内でspine-cppとspine-cの両方に取り組みます。「3.7」ブランチ内でspine-cppおよび spine-cランタイムに行われた変更は、「3.7-c」ブランチにも行われます。しかしながら、「3.7」ブランチ内で行われたspine-ue4およびspine-cocos2dx ランタイムへの変更は「3.7-c」には行われません。 Spine 3.8 バージョンにはspine-cが維持されますが、spine-cベースのUnreal Engineおよびcocos2d-xが維持されることはありません。

Spineワークショップ

Spineワークショップ

今年初め、当社は初のSpineワークショップを開始しました!ワークショップは会場またはウェブ上でEsoteric Softwareのインストラクターにより指導されます。

過去数か月、私たちは生徒さんと非常に楽しい時を過ごしました!Spineワークショップに興味を持たれる方は、ワークショップページを開き、ワークショップをリクエストしてください。

Spine教育機関

Spine教育機関

私たちが実施できるワークショップは数が限られています。Spineの使用方法を世界に伝える継続努力として、私たちは世界中の教育機関にSpineを教える学校、大学、およびコンサルタントのディレクトリを作成しています。

貴校の名前をSpine教育機関リストに追加しませんか?Spineワークショップおよび/またはトレーニングを提供される場合、教育機関ページを開き、貴校のコースおよびワークショップ情報をご提出ください。

Spine例

新しい例ページには、Spineに含まれる各プロジェクト例が説明されます。多種多様なリギングテクニックについて学び、Spine例を最大活用するために便利なリソースです。

Twitch

SpineのTwitch

当社のエリカ・イニジタリは今年、Esoteric Software Twitchチャンネルを開始しました。エリカは、このチャンネルでSpineで作成した自分の作品を毎週ストリーミングしています。彼女のストリーミングはSpineの素敵なワークフローテクニックを満載しています。ぜひご覧ください!ライブで彼女に質問したり、Spineで作成できる複雑なリギングを見ることができます。

オンデマンドビデオを好まれる方は、Esoteric Software YouTubeチャンネルにアップロードされたストリーミングを全てご覧いただけます。YouTube動画の記述にはそれぞれの動画のトピックとリンクが含まれており、関心のある動画を直接閲覧できます。

エリカはまた#skeletemberというツイッターハッシュタグを作り、9月中、毎日リギングに関するヒントをツイートしました。エリカをフォローしてください!

将来

3.7バージョンリリース終了後、私たちは現在、カーブエディターおよびXとYトランスレーションの個別キーイングなどの機能に取り組んでいます。ランタイム側では、パフォーマンスの改善継続、バグ修正、GodotやConstructなどの新しいゲームエンジンに対するサポートなどを手掛けています。また秘密のプロジェクトも進行中ですが、これに関してはもうすぐ発表される見通しです!

最後に問題を報告し、ベータをテストし、新しい機能を提案していただいたユーザーの皆様に改めて感謝申し上げます。皆様のご支援がなければ、このリリースは実現しなかったでしょう。

ハッピーアニメ―ティング! Spineチーム一同

Spineフォーラムでこの投稿について話し合いましょう。

Spine Web Player released

December 21st, 2018

2018 is coming to a close, with Christmas and New Year's Eve looming. We at Esoteric Sofware would like to celebrate the occasion with a small gift! We are happy to announce the release of the Spine Web Player.

The Spine Web Player lets you easily show your Spine animations on your website or blog. It's a great way to show off your portfolio, share animation ideas with coworkers and friends, or simply make your site fancy.

The player comes equipped with familiar controls like pause, resume, and a scrubbable timeline, as well as Spine-specific controls that let viewers of your content switch between animations and skins, or show the meshes and bones in your skeleton.

Putting the player on your web page is easy. The above player was created with this HTML/JavaScript snippet:

<!-- Include the JavaScript and CSS files -->
<script src="https://esotericsoftware.com/files/spine-player/3.7/spine-player.js"></script>
<link rel="stylesheet" href="https://esotericsoftware.com/files/spine-player/3.7/spine-player.css">

<!-- Create a container element -->
<div id="player"></div>

<!-- Create the player with your settings and container ID -->
<script>
new spine.SpinePlayer("player", {
jsonUrl: "https://esotericsoftware.com/files/examples/raptor/export/raptor-pro.json",
atlasUrl: "https://esotericsoftware.com/files/examples/raptor/export/raptor-pma.atlas",
animation: "walk",
backgroundColor: "#666666",
});
</script>

You can actually just put this above snippet into an .html file and open it locally with your browser! For an in-depth explanation, check out our extensive Spine Web Player guide.

Note the old, less powerful Spine widget has been removed in favor of the new Spine Web Player.

Next up

This year has been crazy busy for us! You've provided us with invaluable feedback, a lot of which has already been integrated in our 3.7-beta editor and runtime releases. The 3.7 release is scheduled for the 7th of January 2019, so there is something to look forward to when you return from your well deserved holidays.

Until then, we wish you a Merry Christmas and a Happy New Year!
The Spine Team

Discuss this post on the Spine forum.

Welcome Harri!

December 3rd, 2018

Welcome to the team, Harri! Tell us a little bit about yourself and your background

I grew up with computer games in the early 90s. King's Quest VI, Street Fighter II, Doom, Lemmings, Monkey Island, Wing Commander, Ultima Underworld, Burntime, and so many more games cemented my eternal love for pixel art games.

Back in these days I was only allowed to play computer games for half an hour a day (with a later extension to an amazing 60 minutes!). This limitation made playing games even more interesting. When my daily 30 minutes were over, I wasn't sad. Instead, I felt like I felt the day before Christmas - excited that I get to play for another 30 minutes the next day!

This love for games later brought me to Counter Strike. You could create your own maps and import models created in 3D modeling software. At the time I was using Milkshape 3D. A year later I discovered Quake 3's modding capabilities, which started a never ending passion -- creating games on my own.

As a Warhammer 40,000 fan, I wanted to turn the amazing tabletop game Necromunda into a computer game. Learning C programming was required for modding, which soon led me to creating my own terrain engine. Back in these days, we would buy every book about OpenGL and download tutorials from flipcode.com and other tutorial sites onto floppy disks. We only had internet access at school, making this whole endeavour a little more involved than it is today.

All the math I learned at school suddenly became useful -- I had to program all the collision detection and response from scratch. As computers weren't as fast as today's, I had to learn about performance optimization. With programmable shader pipelines arriving on the market, I eventually learned how to program shaders (to make grass move with the wind).

Two years later, I started my university career. I was working on another terrain engine with a few friends. Naturally, the engine had turned into a completely overambitious RPG project. I was looking for ambitious programmers to join the team and got to know Mario - finally a friend with whom I could talk about graphics and game programming!

While at university, I started working part time at Joanneum Research as a C++ programmer. My initial focus was on graphics programming via OpenGL. Later I was mostly working on DirectShow and computer vision applications. I started a computer games company called Pixelcloud Games together with my friend Florian, another graphics programming enthusiast. We started by writing our own engine for a simple 2D game, which wasn't too crazy at the time.

Soon after, Unity (version 3.3 IIRC) had just become affordable. We gathered a few thousand euros and bought our first Unity licenses. Unity didn't support automatically generating colliders for 2D sprites, so I started implementing my own solution. I polished the interface and made the package "2D Collider Gen" available on the Unity Asset Store, which I still support and maintain.

Besides other Unity projects, I also created a brain-computer-interface based training simulation game for disabled people for Graz University of Technology, worked at a VR-startup for a crazy entrepreneur, and, until recently, was an engine and shader programmer at Bongfish GmbH, working on a yet to be announced game.

What brought you to Spine?

Mario approached me and asked if I would like to work on Spine. Being a practitioner of Chinese Martial Arts and hugely interested in the fundamental basics of movement and animation, and with the prospect of working on the industry standard for 2D animation for games, this was an easy question to happily answer with a resounding "Yes"!

What's your role on the Spine team?

Coming from a Unity background, I'm very happy to contribute my knowledge to the Unity runtime and C# core, improve performance through parallelization and optimization, as well as being a bugslayer and making customers on the forum happy. Apart from Unity, I will be helping out with Spine's Unreal Engine integration and the C++ core runtime as well.

Question from the audience: what is your all time favorite video game?

A very hard question! If I have to pick only one, it'd be Privateer -- the first game I played where you could fly around freely, earn money, and spend it on all kinds of weaponry to equip your spaceship.

Say "Hello" to Harri on the forum!

Welcome Erika Inzitari

June 27th, 2017

We're super excited to announce the expansion of our little team here at Esoteric Software! Erika Inzitari has joined our efforts. For this intro, we switch things up a little, interview style.

Welcome to the team, Erika! Tell us a little bit about yourself and your background

I'm a girl who happens to like Spine very much! Previously, I went to an art academy, later I enrolled in a communication design curriculum at university. But what I really like is the idea of motion and transformation! At the age of 3, I decided I wanted to do something involving animation when I grow up. Watching movies on VHS, my favorite parts would be all the moments involving magic: a mouse turning into a horse, or a monkey into an elephant, anything was possible! I also was a lucky child as my farther taught me how to use Windows when I was 4 years old. Since I didn't have many games, I'd play around with the .exe files in the system32 folder, developing an affinity for computers (and not destroying any in the process). Those were the days! This eventually led me to look into game development as well. I've since joined a few game jams and have worked with gaming companies as an animator/rigger. It's my dream to create an interactive children's story one day, and take a stab at animated films & cartoons.

What brought you to Spine?

This is actually a bit of an awkward story. I first saw Spine when my partner researched animation tools and stated that Spine was "THE BEST TOOL EVER (tm)". I watched him use it with suspicious eyes, opposing his every cheerful comment about Spine just for the sake of opposing, saying I don't like the fact that the animations were so fluid and puppet-like, and that the price was a bit too high to spend on software I didn't know and I wasn't sure was usable for me.

Sometime later, he started talking about Spine again, pushing it as the perfect tool for what I wanted to do. I bit the bullet and started watching videos about Spine, reading up on features, checking out comparisons written by other people, checking out (amazing) works of art others have achieved using Spine. Not wanting to give him the satisfaction of being right too quickly, I said, "OK, maybe I can give this a try". I started playing around with it on the side while working for a gaming company who hadn't yet adopted Spine. At my next gig, Spine was already a requirement, so I bought me that sweet sweet Spine Professional and got to work.

I invaded the Spine forums with my first questions. Not expecting a quick answer, I checked back 2 weeks later. To my surprise, my questions had been answered immediately! This made me feel so bad, I started checking the forums daily (because even with my amazing computer skills, I couldn't find the subscribe button, which I only discovered 2 years later...). Once I knew enough, I started returning the favor, answering other people's questions, since everyone was super kind. Suddenly I found myself being very passionate about the software and especially the community.

Which is when my partner started to get his revenge... He'd nag me once in a while with a well placed, "Oh, Spine again? Wasn't that that software with too fluid and puppet-like animations?". (I swear this happened again yesterday evening!).

I couldn't help but tell him I was totally wrong, and that I'm happy he proved me wrong! I fell completely in love with Spine and think it's the best software around for 2D animations in games.

What's your role on the Spine team?

As an animator and Spine connoisseur, my role is to assist people with their Spine Editor related questions. I love some good problem solving, especially if it helps others! I'll also be in charge of a workflow-oriented tutorial series I'll be in charge of. I hope you'll find it useful!

Question from the audience. What ingredients were used to summon you from your magical realm?

10grams of Rooibos, Vanilla, a couple dog hairs, pumpkin flowers, chocolates aaaand fried potatoes.

You can find Erika on the forums and on Twitter.

Older