【Unity】プレイヤーが壁に引っかかる理由とその対処法

導入

プレイヤーを動かす設定はできたが、今度はプレイヤーが壁にくっつくようになってしまった。…そんな人の為に、解決策とその現象が発生する原因を解説します。

以下に紹介するのは2Dでの対処方法ですが、3Dでも応用できるように原因を解説しているので、3Dで困っている方は「原因の解説」を読むことをお勧めします。

▼問題の現場はこんな感じ

解決策

①引っかかりを直したいゲームオブジェクトにRigidBody2DもしくはBoxCollider2Dをアタッチする。

②Project > Asset を開き、左上の「+」を押して「PhysicMaterial2D」を選択する。もしくは、右クリックして、「Create > PhysicMaterial2D」を選択する。今作成したファイルを開き、Frinction、Bouncinessを共に0にする。

③RigidBodyもしくはBoxColliderのMaterialという項目に、「Friction(摩擦)、Bounciness(反発)を両方0にしたもの」をドラッグ&ドロップで設定する。

結果

普通の横スクロールアクションのように、壁に引っかからずにプレイヤーを操作することができています。

原因の解説

原因は、「摩擦(Friction)」です。ある物体が平面に接しているとき、ある物体をその平面上で動かそうとする向きと逆向きに、その物体に対して摩擦力が働きます。そのとき働く力の大きさは、「平面が物体から垂直方向に受ける力の大きさ」×「物体と平面間の摩擦係数」で表されます。

つまり、原因は摩擦力となるわけですが、…Unityでは摩擦力の計算が少し違うことに注意して下さい。Unityでは、2Dならば、「摩擦力の大きさ=PhysicMaterialFrinctionの大きさ」です。より正確にいえば、「Frinctionが0なら摩擦力は0、Frictionが1なら力を加えない限りオブジェクトは動かないような摩擦力がはたらく(中間値はその間)」という感じに定義されています。

そして、デフォルトの設定(None)では、「Friction=0.4、Bounciness=0」である為に、今回の現象が起きるのです。

補足

Unityの摩擦力は、先ほども述べた通り、「摩擦力の大きさ=PhysicMaterialのFrinctionの大きさ」なので、「平面が物体から垂直方向に受ける力の大きさ」には比例しません。従って、物体が重力の向きに垂直に広がる平面上を滑っていたとしても、質量(Mass)に関係なく、Frinctionの値が同じである限り、同じ摩擦力がはたらきます。

2Dでは動摩擦力(Dynamic Friction;物体が動いているときにかかる摩擦力)と静止摩擦力(Static Friction;物体が静止しているときにかかる摩擦力)は同じFrictionで定義されますが、3Dでは個別に設定することができます。

【論理クイズ】真実の記事は何割?

導入

今回は皆さんに論理クイズを出題しようと思います。テーマは「何割が真実の記事か」です。問題は全部で三問あります。よく考えて解いてみてください!

問題①(難易度:簡単)

  • ある人のブログには、100本の記事がある。その中の一本に次のような文章を含んだ記事がある。
  • 「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である。」
  • このとき、この人のブログの記事の内、何%が真実の記事といえるか。
  • ※ただし、全ての記事は、「真実の記事」または「嘘の記事」のいずれか一方であり、「真実の記事」に含まれている全ての文章は、命題ならば必ず「真」であり、「嘘の記事」に含まれている全ての文章は、命題ならば必ず「偽」である

答え

スクロールして答えを見る

スクロールして答えを見る

正解は「0%~99%のいずれか」

これは朝飯前でしょう。

理由を説明すると、「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である」という文章を含んだ記事が真実の記事であるとすると、文字通り、記事全体の内99%が真実の記事ということになります。一方、この文章をふくんだ記事が嘘の記事であるとすると、「ちょうど99%が本当の記事」が嘘にならないといけないので、この場合、99%と100%になることはあり得ません。よって、答えは、「0~99%のいずれか」になります。

問題②(難易度:普通)

  • ある人のブログには、100本の記事がある。その中の99%は次のような文章を含んでいる記事である。
  • 「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である。」
  • また、残りの1%の記事は、次のような文章を含んでいる。
  • 「私のブログの記事100本の内、ちょうど1%が嘘の記事である。」
  • このとき、この人のブログの記事の内、何%が真実の記事といえるか。
  • ※ただし、全ての記事は、「真実の記事」または「嘘の記事」のいずれか一方であり、「本当の記事」に含まれている全ての文章は、命題ならば必ず「真」であり、「嘘の記事」に含まれている全ての文章は、命題ならば必ず「偽」である。

答え

スクロールして答えを見る

スクロールして答えを見る

正解は「0%

理由を説明すると、「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である」という文章を含んだ記事99本全てが真実の記事であると仮定すると、残りの1本の記事が嘘の記事であるということになります。しかし、残りの一本の記事には「私のブログの記事100本の内、ちょうど1%が嘘の記事である。」という文章が含まれているので、この記事だけが嘘の記事になってしまうと、「私のブログの記事100本の内、ちょうど1%が嘘の記事である。」という命題が真になってしまい、この記事が真実の記事であるということになり、矛盾を起こしてしまいます。なので、最初の過程が間違いであるということができます。すると、「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である」という文章を含んだ記事の内、少なくとも1本は嘘の記事であるといえることになります。その99本の内、一つが嘘の記事であると仮定すると、「私のブログの記事100本の内、ちょうど99%が真実(嘘ではない)の記事である」を含んだ全て記事が嘘の記事ということになります。なので、必然的に「私のブログの記事100本の内、ちょうど1%が嘘の記事である。」という文章を含んだ記事も嘘の記事になり、全ての記事が嘘の記事である、という結論が導かれます。

問題③(難易度:普通)

  • ある人のブログには、100本の記事がある。全体の90%は次のような文章を含んでいる記事である。
  • 「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」
  • また、全体の5%は次のような文章を含んでいる記事である。
  • 「全体の記事の中に、嘘の記事がある。」
  • このとき、この人のブログの記事の内、何%が真実の記事といえるか。
  • ※その2つの文章のどちらも含んでいる記事があるかもしれないことに注意せよ。
  • ※ただし、全ての記事は、「真実の記事」または「嘘の記事」のいずれか一方であり、「本当の記事」に含まれている全ての文章は、命題ならば必ず「真」であり、「嘘の記事」に含まれている全ての文章は、命題ならば必ず「偽」である。

答え

スクロールして答えを見る

スクロールして答えを見る

正解は「90%もしくは5~10%

どうでしたか?答えが微妙に違った人は爪が甘いですよ!

理由を説明すると、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含む記事があるので、全ての記事が真実の記事になることはありません。よって、「全体の記事の中に、嘘の記事がある。」という命題は必ず真になり、この文章を含む記事は必ず真実の記事になります。「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含む記事に「全体の記事の中に、嘘の記事がある。」という文章が含まれていたとき、この記事は真実の記事になり、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含まない記事は嘘の記事になります。なので記事全体の90%が本当の記事になります。また、このとき、「全体の記事の中に、嘘の記事がある。」という文章を含む記事は5本とも、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含みます。なぜなら、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含まない記事の中に、「全体の記事の中に、嘘の記事がある。」という文章を含む記事があると、真実の記事の数が90を超えてしまい、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という命題が偽になってしまうからです。逆に、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という命題が偽になる場合、「全体の記事の中に、嘘の記事がある。」という文章を含む記事は5本とも、「私のブログの記事100本の内、ちょうど90%が真実(嘘ではない)の記事である。」という文章を含みません。なので、このとき、全体の90%は嘘の記事であることが確定し、全体の5%は真実の記事であることが確定します。よって、答えは、「90%もしくは5~10%」になります。

最後に

どうでしたか?三問とも正解できた人は、論理が得意といっても良いかもしれません。

また、「ちょっと簡単過ぎて物足りなかった」という人は、コメントで教えてくれると助かります(次の問題制作に生かします!)。

これからも論理クイズを作っていこうと思っているので、また気が向いたときにちょくちょく遊びにきてくれると嬉しいです。




【iPhone】意外と多機能だった!iPhoneのメモ アプリの隠された機能を全て解説

iPhoneのメモアプリ

iPhoneには、デフォルトでメモアプリが付いてきます。非常にシンプルな見た目で、片手でも簡単にメモを保存することができます。そんな「メモ」ですが、買い物にいくときに買い忘れを防ぐ為に使ったり、手元に書くものがないときの臨時のノートとして使ったり、別の機種に同じ文章コピペする為の媒体として使ったりと、一度は利用したことがあるのではないでしょうか。

しかし日の目を浴びることは少なく、シンプルなだけに機能も少ないと思われがちです。しかし、実際には、意外と色んな機能を備えています。今回は「メモ」を無駄にしない為に、iPhoneデフォルトのメモアプリについて、全てを解説しようと思います。

様々な機能

表示方法の変更

「リストービュー」あるいは「ギャラリービュー」に切り替えられます。

  • リストビューメモのタイトル(メモの先頭一部)と内容の先頭一部だけを表示
  • ギャラリービュー:メモの最初の10行ほどを小さくして視覚的に表示

操作方法:任意のフォルダを開いたのち、画面右上のボタンを押し、「ギャラリー表示」もしくは「リスト表示」を選択。

メモを別フォルダに移動

あるフォルダに入っているメモを、別フォルダに移動させることができます。

一つのメモを移動する場合

操作方法1:任意のメモを開いたのち、画面右上のボタンを押し、「メモを移動」を選択。

操作方法2:任意のメモを長押しして、「メモを移動」を選択。

複数のメモを移動する場合

操作方法:任意のフォルダを開いたのち、画面右上のボタンを押し、「メモを選択」を選択。すると、それぞれのメモの左に丸いマークが現れます。移動したいメモに全てチェックを入れ、画面左下の「移動」を押します。そして、移動後のフォルダを選択すると、メモが全てそのフォルダに移動します。

フォルダの並び替え

フォルダの表示順序を変更することができます。

操作方法:フォルダ一覧から、画面右上の「編集」を押すと、それぞれのフォルダの右にマークが現れます。横棒3本のマークをドラッグすると、フォルダの表示順番が変更されます。

フォルダを別フォルダ内に入れる

あるフォルダを別のフォルダに入れることができます。

操作方法:任意のフォルダを開き、画面右上のボタンを押し、「このフォルダを移動」を選択。すると、フォルダ名一覧が表示されるので、入れる先のフォルダ名を選択。

フォルダを外に出したい場合

操作方法:出したいフォルダを開き、再び「このフォルダを移動」を選択して、フォルダ名「すべてのiCloud」を選択。

メモをピンで固定

メモをピンで固定すると、そのフォルダ内の先頭に「ピンで固定」リストが現れ、そのリスト内に表示されるようになります。

操作方法1:任意のメモを開き、画面右上のボタンを押し、「ピンで固定」を選択。

操作方法2:任意のメモを長押しして、「ピンで固定」を選択。

ピンを外したいとき

操作方法:再び、ピンを外したいメモを開き、画面右上のボタンを押し、「ピン固定を解除」を選択。

メモをロック

メモをロックすると、そのメモが開くときに、パスワードを要求するようになります。

操作方法1:任意のメモを開き、右上のボタンを押し、「メモを固定」を選択。

操作方法2:任意のメモを長押しして、「メモを固定」を選択。

ロックを解除したい場合

操作方法1:任意のメモを開き、右上のボタンを押し、「削除※」を選択。

操作方法2:任意のメモを長押しして、「削除※」を選択。

※メモを「削除」しないようにして下さい。鍵マークがある方の「削除」を選択してください。

解除パスワードを変更・リセットしたい場合

操作方法:「設定」を開き、「メモ」のアプリ情報から「パスワード」選択し、パスワードを変更・解除できます。視覚的に知りたい方は、以下の記事もおすすめです。

メモを共有

メモを共有すると、複数人でメモの中身を見ることができ、互いに編集することができます。

操作方法1:任意のメモを開き、画面右上のボタンを押し、「メモを共有」を選択。共有先のリンクを受信者がタップすると、その人もメモを編集できるようになります。

操作方法2:任意のメモを長押しして、「メモを共有」を選択。

メモのコピーを送りたいだけの場合

編集者を増やすのではなく、単にメモのコピーを送りたい場合、「メモを共有」ではなく、その下にある「コピーの送信」を選択してください。

画像・ビデオの挿入

任意のメモには、写真やビデオを挿入できます。そして、その場で撮ったものをメモに張り付けることもできます。

操作方法:任意のメモを開き、画面下のバーの左から4番目にあるカメラのマークを選択。そののち、「写真またはビデオを選択」または「写真またはビデオを撮る」を選択。

<テクニック>書類の平面化

「写真またはビデオを選択」、「写真またはビデオを撮る」以外に、「書類をスキャン」という項目があります。「書類のスキャン」は「写真を撮る」と何ら変わらないように見えますが、「書類のスキャン」は、「写真を撮る」とは違い、撮った写真の中の任意の4頂点を選ぶことができ、その4頂点を長方形に変形して、画像を取り込むことができます。これを使えば、書類を正面から撮ることができない場合にその書類をまっすぐ取り込むことができたり、画面内にある適当な向きに置かれた書類を正規の方向に直すことができたりします。

表の挿入

枠線で区切られた表を挿入することができます。

操作方法:任意のメモを開き、画面下のバーの一番に左にある表のようなマークを選択。すると、現在のカーソル位置に表が挿入される。

表の使い方

表の左と上に3つの点を持つマークがある。このマークを押すと、列を追加できたり、削除できたりする。セルの中身を変更したいときは、そのセルをタップすると良い。

表の削除

表全てを削除したい場合は、表がある場所の右にカーソルを合わせ、バックスペース(文字の削除に使うキー)を二回押します。

基本フォーマットの変更

基本的なフォーマットを変更することができます。

  • 文字の大きさは四段階に変えられる
  • 文字に、ボールド、イタリック、アンダーライン、取り消し線を付けられる。
  • 文字を右寄せしたり、左寄せしたりできる。
  • リストを作ることが可能
  • 「等幅」を選択すると文字の幅が全て等じ幅になるので、コードを書きやすくなる

操作方法:任意のメモを開き、下のバーの左から二番目にある「Aa」とかいていあるマークを選択。すると、フォーマットメニューが現れる。

チェックボックスの挿入

チェックを入れられる項目を作ることができます。

操作方法:任意のメモを開き、画面下のバーの左から三番目にあるチェックマークを選択。すると、カーソルの行にチェックマークが現れる。

チェックマークの次の行から文を書きたい場合

チェックマークの行で何も書かずに「改行」を押すと、その行のチェックマークは消え、その次の行からは改行してもチェックマークが現れなくなる。

手書きメモ

手書きでメモができます。その手書きのメモは、リストビューの右に表示されるようになります。

操作方法:任意のメモを開き、画面下のバーの左から五番目にあるマーカーマークを選択。すると、手書きのメモが描けるようになる。手書きメニューは左から、ペン、マーカー、鉛筆、消しゴム、範囲選択ペン、定規、カラーパレットです。

一つ戻る

メモを閉じるまでは、作業内容が保存されるので、画面上の左矢印マークで、作業を一つ巻き戻すことができます。

罫線と方眼

デフォルトは真っ白なテキストですが、手書きの部分に罫線を引いたり、方眼用紙に変更できたりします。

操作方法:任意のメモを開き、画面右上のボタンを押し、「罫線と方眼」を選択。すると、手書きの部分の背景が変更されます。

検索機能

任意の文字列が存在するメモや、「ロック付きのメモ」、「共有メモ」など特定の条件にあったメモを検索することができます。

操作方法:フォルダ一覧の上の検索ボックスをタップする。

メモ内にある特定の文字列を検索をしたい場合

任意のメモを開き、画面右上のボタンを押し、「メモを検索」を選択します。そこで現れた検索ボックスに任意の文字列を入力すると、その文字列と同じ文字列が含まれる場所の内、一番目の場所に黄色のマーカーがつきます。このとき、検索ボックスの左にある矢印マークを押すと、黄色のマーカーを次の該当部分に移動させたり、前の該当部分に移動させたりできます。

クイックメニューの活用

上記の説明の中で、長押しの説明も含まれていましたが、再度伝えておきます。リストビューやギャラリービューをしているときにメモを長押しすると、よく使う項目を集めたクイックメニューが現れます。メモを開いてから右上のボタンを押すよりも、ワンタップで済むクイックメニューを活用した方が効率よく作業できます。

【TUSB】「ほぼチート」TUSBを誰でも簡単にクリアする方法

TUSB

TUSBとは

TUSBをご存知ない方の為に少し説明しておくと、TUSBとはThe Unusual SkyBlockの略で、マインクラフトというサンドボックスビデオゲームで遊べる配布ワールドの一つです。

TUSBという名前の一部にも含まれている「SkyBlock」という言葉がありますが、これについても少し説明しておきましょう。「SkyBlock」というのは、ワールドの地形構成の一種で「空に浮かぶ島々」だけでワールドが構成されているものをいいます。

そして、多くの「SkyBlock」ワールドでは、課題が決められていて、それを全てクリアすることが最終目標になっています。

例えばこのTUSB最終目標は、「エンドのスポナーを全て破壊し、スタッフロールを見ること」となっています。

▼TUSBのダウンロードページ

https://skyblock.jp/tusb-download

TUSBを簡単にする方法

TUSBを簡単にする方法はズバリ、「データファイルをいじる」ことです。

「データファイルをいじる」…? なんかヤバそうだし、規約に違反しないの?第一、そんなに難しそうなことはできない…

このように思う方もいるかもしれませんが、何も導入する必要もなく、「テキスト編集ソフト」さえあれば誰でもできます。テキスト編集ソフトとは、例えばWindowsなら「メモ帳」などです。

①dataファイルを開く

ファイルの場所は、ユーザー → (自分のユーザー名) → ※AppData → Roaming → .minecraft → saves → (TUSBのワールド) → data ファイル

ここに、TUSBのdataファイルが格納されています。

AppData隠しファイルなので、「隠しファイル」にチェックを入れないと表示されません

②いじりたい項目を選ぶ

例えば、「白色羊がドロップするアイテム」をいじりたいなら、loot_tables → minecraft → entities → sheep → white.json ファイルを開きます

このとき、VScodeEclipseなどのコーディングソフトがあれば、それを使って開くのがベストですが、無い場合は、テキスト編集ソフトを使って構いません。

「rank1チェストの中身」を変えたいなら、loot_tables → usb → chests → rank1.json ファイルを開きます

③コーディング(テキスト編集)

jsonファイルの編集をしていきます。jsonファイルとは、データを階層状に管理するデータファイルです。jsonファイルの文法に従って、決められた書き方をすると、マインクラフトがそれを読み取ってくれます。逆に、文法に従わない書き方をすると、マインクラフトはそれを読み取ってくれません。コーディング経験者なら、これは当然ですね。

なので、jsonファイルを編集するには、jsonファイルの書き方を知る必要があります。しかし、jsonファイルの書き方について全て紹介しようとすると、長くなり過ぎてしまうので、jsonファイルの書き方が学べるいくつかの参考ページや動画をあげておきます(著者はこれらからjsonファイルの書き方を学びました)。

▼公式のデータパック作成のチュートリアルです。

https://minecraft-ja.gamepedia.com/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%82%AF%E3%81%AE%E4%BD%9C%E6%88%90

▼jsonファイルの基礎的な書き方を紹介している海外の方の動画です。

④全くコーディングできない人の為に

自分が実際に使っているファイルを置いておきます。

【使い方】ダウンロードしたwhite.txtファイルをwhite.jsonに書き換えて、元のwhite.jsonファイルをこれで上書きします。

▼このファイルの中身

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:wool",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": 128
                        },
                        {
                            "function": "minecraft:set_data",
                            "data": 0
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:emerald_block",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "set_count",
                            "count": 64
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:ender_eye",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": 64
                        },
                        {
                            "function": "minecraft:set_data",
                            "data": 0
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:nether_star",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": {
                                "min": 1000,
                                "max": 1100
                            }
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:golden_apple",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": 64
                        },
                        {
                            "function": "minecraft:set_data",
                            "data": 1
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:gold_ingot",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "set_nbt",
                            "tag": "{RepairCost:1000000000,ench:[{lvl:100s,id:16s},{lvl:100s,id:19s},{lvl:100s,id:20s}],display:{Name:\"黄金の夢\"}}"
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:ender_pearl",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": 32
                        },
                        {
                            "function": "minecraft:set_data",
                            "data": 0
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_boots",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "set_nbt",
                            "tag": "{RepairCost:1000000000,ench:[{lvl:10000s,id:0s},{lvl:10000s,id:1s},{lvl:10000s,id:3s},{lvl:10000s,id:7s},{lvl:10000s,id:4s},{lvl:10000s,id:34s}],display:{Name:\"黄金\"},AttributeModifiers:[{UUIDMost:2L,UUIDLeast:1L,Amount:100.0d,Slot:\"feet\",AttributeName:\"generic.maxHealth\",Operation:0,Name:\"HP\"},{UUIDMost:1L,UUIDLeast:7L,Amount:10.05d,Slot:\"feet\",AttributeName:\"generic.knockbackResistance\",Operation:0,Name:\"KB\"}]}"
                        }
                    ]
                }
            ]
        },
        {
            "rolls": 1,
            "conditions" : [
                {
                    "condition": "random_chance_with_looting",
                    "chance": 0.08,
                    "looting_multiplier": 0.01
                }
            ],
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:wool",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": {
                                "min": 0,
                                "max": 70
                            }
                        },
                        {
                            "conditions": [
                                {
                                    "condition": "killed_by_player"
                                }
                            ],
                            "function": "minecraft:set_count",
                            "count": {
                                "min": 60,
                                "max": 70
                            }
                        },
                        {
                            "function": "minecraft:set_data",
                            "data": 0
                        }
                    ]
                }
            ]
        },
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "loot_table",
                    "name": "minecraft:entities/sheep",
                    "weight": 1
                }
            ]
        }
    ]
}

少し補足: このファイルの羊は「黄金の夢」というお馴染みのアイテムをドロップしますが、レガシータグを消しておいたので、消失せずに無限に使うことができます。