Tutorials

21

分で読める

高度なプロトタイピングのためにFigmaからProtoPieへ移行する理由

Figmaの限界に達したら、次のステップへ進むときです。ProtoPieを使ったこの初心者向けガイドで、カスタムなインタラクション、入力検証、軽量なLottieアニメーションを備えた高度なプロトタイプを作成しましょう。

Javier Nicolás D.、 Interaction Design Lead, Citibanamex

ProtoPie に入る前に、まずは ProtoPie について少しお話ししましょう。このツールは、ユーザーインターフェースの設計、FigJam でのアイデア出し、Figma Slides でのプレゼンテーション作成など、ほとんどのデザインニーズにとても適しています。さらに、AI 連携によって Figma の汎用性は一層高まります。

しかし、Figma には限界があります。複雑なインタラクションは、堅牢な UI3 インターフェースやロジック駆動型の機能があっても、扱いが難しいことがあります。リアルタイムの検証や多段階のロジックのような、ProtoPie ではシンプルな数式と最小限の設定で実現できる作業も、Figma では扱いにくくなることがあります。したがって、高精度インタラクションのための専用プロトタイピングツールが必要であることがわかります。

このチュートリアルで学べること:

このチュートリアルの最後には、以下のような自分だけの「Money Transfer App」をゼロから作成できるようになります:


Money Transfer App


最終プロトタイプのプレビュー

Figma のプロトタイピングの限界

では、Figma が現在まだ苦手としている領域を見ていきましょう。少なくとも今のところは。

  • リアルタイムの検証とフィードバックの制限

  • 大規模な変数管理

  • ネイティブ入力/キーボードのインタラクション

  • 一般的な単純な出力に対する複雑なカスタマイズ

たとえば、入力された金額をユーザーの口座残高と照合して検証する送金アプリを作る場面を想像してください。ユーザーは、0 より大きく、かつ総残高以下の金額を送信しなければなりません。Figma では、これを実現するために多数の変数が必要になります:

  • 3 つの数値変数(残高と金額用)

  • 2 つの文字列変数(メッセージ用)

  • 1 つの色変数(エラーメッセージ用)

  • 2 つのブール値(メッセージの表示/非表示用)

  • さらに、メッセージの長さやボタンの不透明度など、UI 要素を制御するための追加変数


Moving prototyping from Figma to ProtoPie


1 つのキーボードインタラクションに対するローカル変数テーブル

ただし、Figma は複数桁の入力欄やキーボードのインタラクションをネイティブにはサポートしていないことに注意してください。数値や文字列は使えますが、1 桁を超える入力はできません。そのため、複雑なインタラクションを備えた、次のような非常にカスタマイズされたキーボードをゼロから作成する必要があります:


Complex variables and conditions using Figma


Figma におけるカスタマイズされたキーボードインタラクション

今度は、各キーに対してこんな複雑な検証が設定されていると考えてみてください。実際のキーボードで動かす必要があるなら、その難しさはさらに倍になります。

いくつかの回避策と大幅なカスタマイズを行っても、下の出力を見ればわかるように、エラーメッセージを表示させるために、私たちはなおも 8 のカスタム残高で計算を調整する必要がありました。1 桁で入力できる最大値は 9*.* だからです。


Figma's limitation


Figma の複数桁入力の制限

Figma では大規模な設定(多くの変数やカスタム入力)が必要になる内容も、ProtoPie なら 1 つの 数式 と 2 つの 変数だけで対応できます。これにより、作業はずっと速く、直感的になります。

Figma ファイルを体験する こちら。

高度なプロトタイピングのための ProtoPie

ProtoPie は、動的でマルチモーダルなインタラクションのための、No.1 の高度なプロトタイピングツールです。このツールは優秀で、デザイナーに実際のインタラクション設計を可能にします。画像動画音楽Lottie アニメーションを JSON ファイル経由で簡単に追加でき、FigmaAdobe XDSketch などのツールから UI アセットもシームレスにインポートできます。FramerProto.io のような他の高精度プロトタイピングツールとは異なり、ほとんどコーディングスキルを必要としない点が際立っています。

ProtoPie Studio の UI を紹介:


ProtoPie Studio


ProtoPie Studio のインターフェース

  1. Scenes: 各シーンはフレーム、アートボード、または画面のようなものです。一度にプレビューできるのは 1 シーンだけなので、複雑なインタラクションを作るときに 1 画面に集中できます。

  2. Layers Panel: Figma のような他のレイヤーパネルと同様に左端にあり、アクティブなシーン内のすべてのレイヤーを階層に基づいて一覧で確認できます。

  3. Variables Panel: Figma で高度なプロトタイピングを触ったことがなければ、Variables panel は新しく感じるかもしれませんが、ほぼ同じです。ローカル変数または一般変数を追加できます。各変数は文字列、数値、色のいずれかにできます。

  4. Scene Preview/Canvas: 中央には、アクティブなシーンの Scene preview が表示されます。フレームサイズ、ピクセル密度、デバイスの向き、System Status Bars のような特定の UI 要素もカスタマイズできます。

  5. Interactions Panel: 右側には Interactions panel, があり、オブジェクトに紐づいたトリガー(tap、click、swipe)を作成し、positionscalecolorplayback の変更などのアクションを実行できます。ここではインタラクションのタイムラインもプレビューおよび調整できます。

  6. Properties Panel: 右端にあります。幅、高さ、位置、色、テキストスタイル、アニメーション仕様などのインタラクションプロパティをカスタマイズできます。

  7. Preview Window: プレビューウィンドウを使ってインタラクションの動作を確認し、プロトタイプを共有する前にエラーを見つけられます。

  8. Device: モバイルやタブレットで ProtoPie Player アプリを使って、プロトタイプをライブでテストします。

  9. Cloud: プロトタイプを ProtoPie Cloud にアップロードし、Pie リンクをチームや関係者と共有します。

  10. Handoff: Handoff ボタンを使って インタラクション記録を作成し、ユーザーフロー、要素の挙動、プロトタイプ内の全体的なインタラクション統合を示します。

ProtoPie には、Component LibrariesVariables, ConditionsDeveloper Handoff のような高度な機能もあります。その全体的な可能性をさらに深く知るには、ProtoPie School Courses をぜひ見てみてください。

ProtoPie を始めよう

ProtoPie は、複雑なインタラクションと検証で Figma の限界を超えます。今度は ProtoPie で Money Transfer App を再現してみましょう。

ステップ 1: ファイル設定。Figma からフレームをインポート

最初のステップは、Figma ファイルを ProtoPie にインポートすることです。Figma で ProtoPie プラグインを実行してください。


ProtoPie plugin to import Figma design files into ProtoPie


ProtoPie プラグインを使って Figma のデザインファイルを ProtoPie にインポートする

必要な Figma フレームを選択して Export button を押します。あとは ProtoPie の魔法に任せましょう。すべてのデザイン要素の読み込みが完了すると、ProtoPie にリダイレクトされます。


Export Figma design files to ProtoPie


フレームを選択して書き出す

フレームは ProtoPie では Scene として表示されます。必要に応じてレイヤーを並べ替え、カスタムの Status BarDevice を設定します(私は iPhone 15 Pro の画面アスペクト比を使っています)。

以下が最終設定です。これで、Figma の高度なプロトタイピングを超える準備が整いました。次へ進み、プロのように実際のインタラクションデザインを作成しましょう。


Setting up Figma files in ProtoPie


ProtoPie での最終設定

ステップ 2: ネイティブ入力とキーボードのインタラクションを設定

では、実際の 入力とキーボードインタラクション を追加しましょう。新しい入力レイヤーを作成します。これで、ネイティブキーボードを使って入力を直接レイヤーに追加できます。


ProtoPie input tool for native keyboard inputs


入力ツールを追加

プレースホルダーテキストや、空の状態・入力済みの状態それぞれのフォントスタイルなどのサイズとプロパティを定義します。次に、入力をタップしたときに表示されるキーボードを設定します。この場合は、数字キーボードを表示します。


Customize your input tool in ProtoPie


入力ツールのプロパティパネル

ProtoPie で入力欄のスタイルが正しく整ったら、Figma からインポートした元のプレースホルダーテキスト/入力欄を削除します。レイヤーパネルで最終位置を並べ替え、Live Preview を使ってリアルタイム入力をテストします。カスタムキーボードを作らなくても自由にカスタマイズできます。入力には適切なラベルを付けて、たとえば「MoneyTransfer」とします。


Customizing input layer in ProtoPie


関連する親レイヤーの下に入力レイヤーを追加

では、数式を動かすために、変数パネルで **2 つの変数 **を作成する必要があります:

  • Balance: 数値型にして固定値(たとえば 20,000)を設定し、入力した金額を差し引けるようにします。

  • Amount: こちらも数値型ですが、固定値ではなく、「MoneyTransfer」 フィールドからのリアルタイム入力を取得します。「Use formula」 のチェックボックスをオンにしてから、この数式を追加して有効にします。


Creating variables in ProtoPie


「Balance」変数を作成


Creating variables in ProtoPie


「Amount」変数を作成

Variables panel の各変数の横にあるバグアイコンをクリックして Debug mode を有効にすると、リアルタイム更新が緑のバッジで表示されます。必要に応じて位置を調整し、その後 Preview window を使って、「amount」変数が入力時に値を正しく取得していることを確認します。

ステップ 3: Conditions、変数、数式を使ってエラーメッセージを作成

次のステップはメッセージを表示することです。以下の 3 つのシナリオに応じて、3 種類のメッセージを表示できます:

  1. デフォルト状態。 Balance 変数 = 20,000 のとき

  2. 残高不足のエラーメッセージ。 amount 変数 > balance 変数 のとき

  3. 最終残高のヘルプメッセージ。 0 > amount 変数 < balance 変数 のとき

最初の検証では、まず Start Trigger を追加します。これにより、この特定のシーンの読み込み時にインタラクションを発動できます。トリガーに条件を追加し、残高が 20,000 のときにこのインタラクションが動作するようにします。


Adding triggers for interaction in ProtoPie


トリガーを追加>Start


Using conditions in ProtoPie


Start トリガーに条件を追加


Using conditions in ProtoPie


Start トリガーの条件プロパティを定義

では、「Balance:」のテキストオブジェクトの名前を「Dynamic message」に変更しましょう。まず「Balance:」のテキストオブジェクトを選択し、編集可能にします

💡: Figma からフレームをインポートすると、ProtoPie はデフォルトでテキストをすべて画像に変換します。


Converting Figma design objects into editable objects in ProtoPie


テキストオブジェクトを編集可能にする

「Dynamic message」に名前を変更します。以後、このテキストオブジェクトは条件に応じた動的なエラーメッセージで毎回変更していきます。


Formatting text inputs in ProtoPie


「Balance Text:」を「Dynamic Message:」に変更

Start Trigger に戻り、Text response を追加します。「Dynamic message」オブジェクトを選択してください。

シーンをデフォルト状態で開くため、動的メッセージオブジェクトを残高変数の値に置き換えます。


Customizing text input messages in ProtoPie using formulas


formula オプションの下に balance 変数の正確な名前を入力

Preview window でプロトタイプを実行し、すべてが正しく設定されていれば、「Dynamic message」のテキスト値は「20000」に変わります。

次に、3 つのシナリオに基づいたカスタムメッセージ表示の 2 回目の検証に進みます。新しい 「Detect」 Trigger を追加することから始めましょう。

amount」変数を選択します。これにより、プロトタイプが特定の条件を満たすたびに、「amount」変数の値を確認できるようになります。次に、それぞれのシナリオに対して 3 つの異なる条件を追加します。


Creating dynamic inputs for text input in ProtoPie

「Detect」トリガーでは、レイヤープロパティや変数が変更されるとレスポンスが起動します。

シナリオ 1: balance = 20000 または amount = 0 のとき

最初の条件は、Start trigger の条件と text response と同じです。これにより、ユーザーが「Money Transfer」入力タブに誤った値を入力した場合でも、残高が初期値、つまり 20000 にリセットされることが保証されます。


Using conditions and variables in ProtoPie


balance が 20000 のときの Detect トリガーをカスタマイズ

シナリオ 2: amount 変数 > balance 変数 のとき

このシナリオでは、アプリはエラーメッセージを表示する必要があります。amount > balance となる別の条件を設定します。


Using conditions and variables in ProtoPie


条件を設定: Amount > Balance

「Dynamic message」オブジェクトを使ったテキストレスポンスを選択し、"" の中にエラーメッセージを入力して文字列の数式を追加します。


Using conditions and formulas in ProtoPie


Amount > Balance のときにエラーレスポンスを追加

20,000 より大きい金額を入力してプロトタイプをテストします。0 に戻して、最初の検証が正しく実行されているか、そして Dynamic message のテキストオブジェクトが 20000 に戻るか確認してください。


Native input and validations in ProtoPie


2 つの検証を使ったライブプレビュー

シナリオ 3: amount が 0 より大きく 20000 未満のとき

前のシナリオの条件設定を複製し、amount < balance と amount > 0 の 2 つの条件を追加します。


Using conditions and variables in ProtoPie


プラスアイコンを使って複数条件を追加

この場合のメッセージは、送金後の残高になります。もう 1 つ Text response を追加し、次のように数式を設定します:


Using conditions and formulas for advanced prototyping

プロトタイプを実行してみましょう。Figma の 1 桁入力制限や最大 9 という制限を回避しつつ、Dynamic message テキストオブジェクトで、1 つのシンプルな数式と 2 つの変数だけで 3 種類のカスタムメッセージが表示されるのがわかります。


Figma vs ProtoPie


Figma vs ProtoPie

高度なインタラクション & アニメーションの作成

ここまでで基礎となるロジックは組み立てられました。ここからは、高度な文字列数式、データによる動的なカスタマイズ、そしてふにゃっとしたアニメーションのユニコーンでインタラクションを強化していきましょう。

まずは、高度な文字列数式と条件を使って、ヘルプメッセージとエラーメッセージをカスタマイズします。その後、カスタマイズに対する ProtoPie の柔軟性を明らかにします。最後に、同じロジックを使って、Lottie の本番対応 JSON ファイルでカスタムのアニメーションユニコーンを組み込みます。

ステップ 1: 数式、条件、書式設定を使って高度なインタラクションを作成

では、Dynamic message のテキストオブジェクトに 3 種類のメッセージを表示するよう書式設定しましょう。Detect Trigger 内の 3 つの異なる条件イベントのいずれかに出会ったとき、固有のメッセージを表示するためにカスタム数式を使います。

シナリオ 1: デフォルト状態、または amount = 0 のとき

最初のメッセージに書式を少し加えましょう。

  • カンマ(,)と小数点(.)を追加します。この書式設定を行うには、次の数式で残高変数を囲む必要があります:

  • これをコピーして Start TriggerDetect Trigger の最初の条件イベントに貼り付けます。次のようになるはずです。


Customizing triggers using formulas for advanced prototyping


Customizing interactions using formulas for advanced prototyping
  • 金額の前に「Balance」と「$」を表示するプレーンテキスト文字列を追加します

StartDetect Triggers の両方の数式を更新し、プロトタイプを実行してください。正しくできていれば、プロトタイプが動作するたびに Dynamic message には「Balance: $20,000.00」と表示されます。


Custom error messages using conditions and formulaslProtoPie


デフォルト状態、または amount が 0 のときのライブプレビュー

シナリオ 2: 残高不足のエラーメッセージ。

  • 汎用のエラーメッセージを消し、Detect Trigger の 2 番目の条件レスポンスに書式化した balance 変数を設定します。

  • ユーザーの現在の残高を表示し、その後にエラーメッセージを続けるプレーンテキスト文字列を追加します。

ProtoPie が色を付けてくれるので、数式のどの部分が文字列、数値、演算子なのかがわかります。

エラーメッセージをもう一度更新して、プロトタイプを実行します。


Text formatting using formulas in ProtoPie

シナリオ 3: 最終残高のヘルプメッセージ。

  • 基本的な書式設定で、主な減算操作を囲みます。これを Detect Trigger の 3 番目の条件イベントにコピーして貼り付けます。

  • まず 1 つ目の文字列を追加して、下に表示される操作が取引完了後の残高であることを示します。カスタムメッセージを引用符で囲み、加算(+)演算子を設定します。


Formatting error messages using FormulaslProtoPie

数式を更新してプロトタイプを実行してください。これで、金額を入力するたびに、Detect Trigger が取引完了後に口座に残る金額を示すメッセージを表示します。


Conditions and formulas for advanced prototypinglProtoPie


最終プレビュー: 残高の表示

ステップ 2: フィードバックとエラーメッセージをカスタマイズ

次に、エラーメッセージをカスタマイズし、ボタンの有効/無効のインタラクションを作成します。

エラーメッセージのテキストカラーをカスタマイズ

  • Detect Trigger2nd conditionColor event を追加します。Dynamic message テキストオブジェクトを選択し、塗りの色を #FF0000 に設定します。プロトタイプをライブ実行すると、エラー条件に達したときに色は赤に変わりますが、ピンクには戻りません。


Using color event for text formattinglProtoPie
💡: Detect 条件をトリガーパネルでどのように並べたかによって、順序は異なる場合があります
  • 元の色に戻すには、1st and 3rd conditions に別の Color event を設定します。今度の塗りの色は #F46ADE になります。


Using color event for formatting in ProtoPie
💡: Detect 条件をトリガーパネルでどのように並べたかによって、順序は異なる場合があります

ライブプロトタイプを実行し、2 番目の「error」条件に達すると Dynamic message が赤に変わる様子を確認してください。1 番目と 3 番目の条件に達すると、またピンクに戻ります。


Feedback customisation using conditions and formulalProtoPie


ライブプレビュー: カスタムエラーメッセージ

「Submit」ボタンのカスタマイズ

有効/無効のボタンインタラクションは、同じロジックで不透明度を変えるだけなので簡単です。ただし、そこに行く前にいくつか調整する必要があります。

  • MoneyTransfer input を選択し、Focus Trigger を追加します。Focus In を設定し、Move response. を追加します。


Customizing iadvanced interactions in ProtoPie
  • move response 用の Button object を選択し、Move To を Y:490 に設定します。これで、入力欄に focus in するとボタンは上に移動しますが、focus out しても元の位置には戻りません。


Advanced button interactions for prototypeslProtoPie
  • ボタンを元の位置に戻すには、もう 1 つ Focus Trigger を追加し、今度は Focus Out を選択します。Button object に別の Move event を設定し、Move To を Y:783 にします。


Customize your button's advanced interactions with ProtoPie
  • ここでも金額の書式をカスタマイズできます。上記の Focus out に設定した Focus TriggerText event を追加します。対象を MoneyTransfer input オブジェクトにし、内容を Formula に設定します。カンマ(,)と小数点(.)を付けるために、この書式用数式を追加します。


Advanced formulas for customized interactionslProtoPie
  • 最後に、有効/無効のインタラクションを追加します。Detect Trigger3 つの Opacity events を追加するだけです。1st と 3rd condition は Button object を 100% opacity に設定し、2nd condition(エラー状態)は 40% に設定します。


Custom opacity for button interactionslProtoPie

Preview window で実行して、完成したプロトタイプを楽しみましょう……まあ、ほぼ完成です。ロジックは完成しています。ちょっと待ってください。LottieFiles の魔法で、まだふにゃっとしたユニコーンを追加する必要があります 🦄🌈


Advanced interactions and customization using ProtoPie


最終プレビュー: 高度なカスタマイズ

ステップ 3: LottieFiles でふにゃっとしたアニメーションのユニコーンを追加

アニメーションには、無料でダウンロードできる以下の 3 つのユニコーン Lottie Files を使用します:

では、始めましょう。

  • 3 つのユニコーンを JSON ファイルとしてダウンロードし、ProtoPie ファイル内にドラッグ&ドロップします。


Using Lottie animations for advanced prototypinglProtoPie
  • サイズを 42x42px に変更し、Layers panel 内の unicorn group に配置します。Figma から取り込んだ一時的な GIF は削除してください。これからは実際の JSON で作業します。


Using Lottie animations with ProtoPie
  • ユニコーン 2 と 3 の不透明度を 0% に設定します。Start Trigger に戻り、play action 付きの Playback event を追加して、最初の Lottie が動く様子を確認します。アニメーションをループさせるために looping オプションをオンにします。


Lottie animations and ProtoPie
  • Detect Trigger をコピーして貼り付けます。新しい方の名前を Unicorn animations に、古い方の名前を Print message***.*** に変更します。


Using Lottie animations in ProtoPie
  • Unicorn animations Detect Trigger のすべてのレスポンスを削除し、amount 変数と 3 conditions に向かうトリガーだけ残します。``````


How to use Lottie animations for advanced prototyping
  • condition3 つの Opacity events を追加します。それぞれ 1 つのユニコーンに向けます。1st condition では unicorn 1 を 100% にし、他は 0% にします。2nd condition では unicorn 3 を 100% にし、他は 0% にします。3rd condition では unicorn 2 を 100% にし、他は 0% にします。


Using Lottie animations for advanced prototypinglProtoPie
  • 最後に、3 つの Playback events を追加します。それぞれは unicorn animation Detect Trigger 内の異なる条件に配置されます。すべてループさせます。


Customizing lottie animations in ProtoPie
  • 最後に、Variables panel に行って、「balance」と「amount」変数の debug modeturn off します。もう必要ありません。これで完成です!🔥

最終プロトタイプ

では最後にもう一度 Preview して、リアルタイム検証、動的なエラーメッセージ、高度な文字列数式、データによるカスタマイズ、そしてふにゃっとしたアニメーションのユニコーンまで備えた、完全に機能するプロトタイプを楽しみましょう。


Money transfer app prototype with advanced interactions and customizationlProtoPie


ライブプレビュー: あなたの完成した Pie

最終的なクリック可能なインタラクティブプロトタイプを こちら

まとめ!

おめでとうございます!🦄 基本と高度なプロトタイピング機能を備えた、最初の Pie を作成できました。これであなたのプロトタイピングスキルは ProtoPie によってレベルアップし、高度な文字列数式、動的フィードバック、そして JSON 駆動の LottieFiles アニメーションの魔法をマスターしました。Figma の基本的なインタラクションを超えることで、創造性と実際の機能性の橋渡しとなる、高精度でレスポンシブなプロトタイプを作成できるようになりました。

さらに動きを加えたい場合は、もっと ヒントとコツ を探したり、同じ志を持つ先駆者たちとつながり、学び、成長できる ProtoPie Community に参加したりできます。あなたが高精度プロトタイピングに情熱を持っているなら、きっとぴったりです。