マインクラフト

森の洋館の1Fの階段横ですが、スペースがあまってるので書見台を使ったポーション製造機を作りました。

階段横には自動販売機があるイメージなので作ってみました。階段の裏はチェストの大部屋になっていて機械を置く場所がないので地下に設置しました。書見台を使った選択回路はこのサイトの別ページで解説しています。

自分の敷地内に移築した森の洋館です。

階段横にポーション製造機を設置。取り出し口もあります。

書見台からは本のページをめくると裏からそれぞれ違う強度のレッドストーン信号が出ます。
それを利用して、作るポーションを選択しています。

選択した本のページにある材料をドロッパーから出して醸造台へ送ります。
以下の画像は階段の裏です。奥のほうへ向かって信号を伸ばしてます。

マインクラフト

マインクラフトのレッドストーン回路で、いろいろなものから選択して動作したい回路があるとします。例えばポーションの作成時の材料選択や、額縁と矢を使ったシェルカーボックスの選択回路があります。

額縁を使った選択

書見台に「本と羽ペン」をセットしたもので、本をめくると表示しているページに応じた信号を出すことができます。
書見台はバージョン1.14で追加されたもので、昔からはなかったものです。レッドストーンの選択回路として、詳しく解説してるサイトはあんまりないかもしれません。
本には1~15ページを作っておき、下の画像は1ページ目を表示した状態でボタンを押したところです。

書見台を使った回路

下の画像は、本のページ15を表示した状態でボタンを押したところです(一番奥のランプが光ってます)。

ドロッパーを使ってボタンを押すたびに、アイテムを送り、ドロッパーの中身を検出するのを作ったこともありますが、ずれたりするのでうまくいきませんでした。この方式なら、本のページで選択しておいてボタンを押すだけです。
普通に作成すると、書見台のページ数に応じたレッドストーン信号が出るので、15ページの本だと1~15の距離に応じたレッドストーン信号が出ます。15ページ目を表示した場合は、1~15のすべてのレッドストーンランプが光ってしまいますので工夫が必要です。

1ページ目を表示してるときは手前から1番目のランプだけを、15ページ目を表示している場合は15番目のランプだけを表示したいです。

海外の方が作ってるレッドストーンギミックの部屋があります。そこから回路を抜き出してみました。

上側のレッドストーン信号回路と、下側(レッドストーンブロックがあるほう)があります。また画像では表示してませんがさらに上側にもレッドストーンが通ってるレッドストーンパウダーの回路があります。
画像の真ん中の赤い線は、書見台から出た信号をコンパレーターが拾い、1番目から14番目のリピーターまで信号を伝えてます。15番目のリピーターは光ってませんのでそこまで信号は伝わってません。これは本の15ページ目を表示しているところです。画像の下側にもレッドストーン信号が流れてます。15番目のリピーターがくっついてるブロックの1つ手前まで信号が伝わってます。左のコンパレーターの一つ先まで信号が伝わってる状態です。

本を1ページ目で表示してるところです。
右の真ん中から伸びてるレットストーン信号は右のリピーターに到達してません。下側から流れていくレッドストーン信号は、右から2番目のリピーターから右から15番目のリピーターまで通っています。点灯させたいランプのところだけ、リピーターに信号が伝わってない状態になってます。

奥にもレッドストーン信号が通っています。
奥側はトーチで信号を反転させていて、ボタンを押すと一瞬消えます。
手前側は光らせたい部分だけ、レッドストーンが来てない状態です。
レッドストーンランプの下にはトーチがあり、信号が来てない場合は光ります。
つまり、裏側のレッドストーンがボタンを押すと一瞬レッドストーン信号がONからOFFになりトーチが光ります。
手前側は光らせたいところだけレッドストーン信号がオフになってるので、裏側のレッドストーン信号がOFFになった瞬間だけ、トーチが光ります。ほかのトーチは、レッドストーン信号が来てるのでトーチは光りません。これが指定したところのランプだけを光らせる仕組みになっています。

右のトーチの裏にボタンがあります。書見台の本のページにしたがってレッドストーン信号が伝わります。レッドストーンブロックの上と前にコンパレーターがあります。そのコンパレーターに上から信号が入ってます。コンパレーターは先端をクリックしてあり、減算モードになってます。

奥側です。レッドストーン信号が通っています。下にはトーチに信号を伝えるためのリピーターが並んでます。

下に並べておいてあるトーチにレッドストン信号が入ってきており、ボタンを押すとONからOFFになります。
手前側のほうは、光らせたいところだけレッドストーン信号が来てないので、トーチに伝わる信号が一瞬OFFになることでトーチがONになります。

これを使って、ランプの代わりにドロッパーを置いて、ドロッパーの放出先にホッパーを置いておけば、指定のアイテムを出すことができます。ポーション製造機に使えそうです。

VRChat,VRCSDK3,マインクラフト

マインクラフトをUnityとかVRChatのワールドへ取り込む方法をメモします。

◆ 必要なもの
マインクラフト (Java 版)
mineways
blender
MCPrep(blenderのプラグイン)

1. 取り込みたいマインクラフトのワールドを整備します
2. mineways を起動します。jmc2obj でもできると思いますがためしてません
3. マインクラフトのワールドを開き、取り込む範囲と高さ、深さを指定します

4. ファイルメニューから「Open Level」を指定し、一覧からマインクラフトのワールドを指定します。

5. 左クリックで移動し、右ボタンを押してドラッグすると範囲を選択できます

6. ファイルメニューから「Export for Rendering」を指定し、ファイルへ出力します。

7. 出力
オプションが出てきます。
左の列は出力時のマテリアル設定です。デフォルトで良いと思います。
真ん中の列は、出力された3dモデルの指定でまとめるか、タイプごとに分割するかの指定です。
とりあえず下記の画像のオプションにします。

ファイルを出力すると、obj と mat 、それとテクスチャの画像ファイルが出力されます。

8. blender によるファイルの調整
blender を起動します。
MCprep という blender のプラグインが入ってなければ有効にします。
編集メニューの「プリファレンス」を開き、アドオンタブを指定し、画面上のインストールボタンをクリックします。
MCprep を別途ダウンロードし、zip ファイルを指定します。
Object:MCprep のチェックを有効にします。

blender の余計なものを削除します。選択して「x」メニューから削除を選びます。消すのは立方体とライトとカメラです。
ファイルメニューの「インポート」からWavefront (.obj)を指定してminewaysで出力したファイルをインポートします。

「N」キーを押して、右にタブでてきたタブメニューから「MCprep」を指定します。
Prop Material ボタンを押し、OK を押すと取り込んだモデルにテクスチャが入ります。
これを blender 形式で保存します。

9. UNITY への取り込み

任意のプロジェクトを作成し、ディレクトリに出力したblenderファイルとテクスチャをドラッグ・ドロップします。

右クリックメニューから「Create」→「Material」マテリアルを新たに作成します。
作成したマテリアルを選択して、プロパティの「Metalic」を0にします。また、画面上の□ Albedo にテクスチャの(minecraft_flat-RGBA.png)をドラッグします。
テクスチャ(minecraft_flat-RGBA.png)を選択し「Aplha is Transparency」のチェックを入れます。
下のほうのFilter Modeの箇所の設定を「Point (no filter)」にしてApplyを押して反映します。
マテリアルを再び選択して、Rendering Modeを「cutout」にします。
ヒエラルキーにblenderのファイルをドロップし、シーンに追加します。
blenderのファイルをヒエラルキーにドロップした状態では真っ白ですが、展開してオブジェクトにマテリアルをドラッグして割り当てます。
テクスチャが表示されるので、全部に指定します。
アニメーションはされないですが、たいまつの形や、窓の透明部分も反映されていると思います。