はじめに
この記事はドリームズユニバースでゲームを作る上で私が躓いたことと、その解決法を記録したものです。
dreams universe使い方、ゲームの作り方の基本的なことや便利な小技を書いています。
ちなみに、ドリームズユニバースとはどんなゲームなのか知りたい方は、この方の記事が分かりやすかったのでリンクを載せておきます。
hachinosubunbun.hatenablog.com
スカルプチャー関係
スカルプチャーが繋がって見えない
滑らかに繋がった物体を作りたいのに切れ目ができてしまう場合、問題はスカルプチャーの隙間に何もないことが原因なので、隙間を埋めるように二つのスカルプチャーのどちらにも、球体などを追加することで解決できます。
「グリッド・スナップ」や「キッチリ移動」などの機能を使うとより綺麗になります。
例
↓繋げたいもの
↓球体を設置して隙間を埋める
↓完成
スカルプチャーにスプレーしても色が変わらない場合
そのスカルプチャーの手直しメニューを開き、表面のプロパティの「ミックス加減」と「オリジナルの彩度」と「カラーをミックス」をデフォルトに戻すと解決できると思います。
スカルプトがぼやける
ツールの「シンプル化」をマイナスで使うことでくっきりする。
↓角が丸い時
↓「シンプルにしない」を行う
↓角がくっきりしますが、グラフィック容量が大きくなるのでやりすぎには注意
ふさふさした毛を作りたい
スカルプトモードを開く
フレックを「クサムラ」に変更する。
シェイプエディターを開いてゆるみ具合を上げる。
ゆるみ具合を上げるほどふさふさ具合が上がるが形が崩れるため形をあまり崩したくない場合はペイントモードで表面に同じ色のクサムラをサーフェイススナップなどで貼り付ける。
より立体的な毛や長く見えるようにしたいときはペイントのフレックのプロパティの「インパスト」「ゆるめる」「ストレッチ」の値を変える。
↓プロパティの値を変える前と後
また,ペイントの物理のプロパティの「物理」をオン,「フラフラ具合」の値を変えるとペイントが動くようになる。
細長い毛を作りたい
ペイントモードでフレックをヘビーにする(デフォルトの状態?)
十字キー下でサイズを小さくする
グリッドスナップをオンにして好きな長さになるように一直線にペイントする
好みに合わせてペイントの物理のプロパティを設定する
キャラクター関係
作ったキャラクターモデルをキャラクターとして扱うには
キャラクターのモデルをゼロから作り上げたときに、それをキャラクター(操作できる人形)とするには、ガジェットからパペットを設置して、作った人型モデルのパーツをすべて選択して掴んだ状態でパペットにスコープインして設置します。
(パペットは削除しても良いですし、自作のキャラクターにまだコネクターを付けていないならパペットの頭や胴体、手足に重ねる形でパーツごとにスコープインして設置すれば、自分でコネクターを設置する手間がなくなるかもしれません。)
次に、スコープアウトしてキャラクターの手直しメニューを開きます。人の構造ページを開いて、作った人型モデルのパーツを部位ごとに設定(例:頭として作ったパーツならメニューにある頭の位置の〇を選択して、キャラクターの頭を選択)します。
↓操作できてアニメーションに違和感がなければ完成!
人型を作ったのにゲームを再生すると崩れる
キャラクターを形作っているパーツ1つ1つの手直しメニューを開いて、「移動を許可」をオフまたはオンにして動かしてみる。これで治ることもあります。
「パペットのインターフェース」ガジェットの「移動の強度」や「歩く強度」、「走る強度」が出力されない
パペットからスコープアウトして、キャラクター全体の手直しメニューを開き、オートアニメーションの項目の「オート歩行」などをオンにすると出力されるようになると思います。
高所から落下するときにカメラがキャラクターを追従しない
キャラクターの下にブロックをおいてキャラクターとブロックをスライダーの最長距離と最短距離を同じにして固定する。ブロックをキャラクターにだけ当たるようにラベルとコライド設定して、ブロックを非表示にする。
顔の表情を変えられるようにしたい
顔を口を開けた状態で作る。次に目、鼻、口、頬を細かくスカルプトの切り抜き機能を使って分割してコネクターでつなげる。そして、それぞれの表情のアニメーションを作る。
↓こちらの方の動画が大変参考になりましたので貼っておきます。
四足歩行キャラクターを作りたい
パペットの体を前に倒す。
↑このように手足のポーズを作る。
私はパペットの手のパーツの先に一つパーツを加えた。
私は手足の各パーツを長方形に置き換えて長さを調節した。ついでに頭も置き換えた。
長方形と丸ジョイントで尻尾を作る。
しっぽはキーフレームで制御しても良いが私はフォロワーを使った。
待機の設定
パペットのインターフェースの「待機の強度」から待機しているポーズのキーフレームにつなげる。
↓待機しているときの前足をキーフレームに保存する。
しっぽの制御
しっぽのオブジェクトは密度や重力はなくす。
しっぽのコネクターの手直しメニューの「回転をロック」をオン,角度の制限をする。
しっぽの先端にフォロワーをつける。
しっぽの先端の少し先の位置にブロックを置く。
ブロックのコライドOKはオフ,密度や重力はなくす。
ブロックをパペットにグループ化。
ブロックにタグをつける。
しっぽの先端のフォロワーがタグをフォローするように設定する。
私はフォロー速度を遅くしました。好みの数値にしてみてください。
キーフレームでブロックの位置を変えることで尻尾を動かすことができる。
ブロックを非表示にする。
歩かせる方法
後ろ足はオート歩行を使う。
パペットの手直しメニューで設定を好みに合うように変更する。
私はキーフレームに変更を保存して変更点が分かりやすいようにした。
↑このように前足のアニメーションを作る。
パペットのインターフェースの「歩く強度」をタイムラインの電源につなぐ。
走らせる方法
タイムラインを置きはパペットのインターフェースの「走る強度」をタイムラインの電源につなぐ。
タイムラインの中にパペットのオート歩行をオフに設定したキーフレームを置く。
↓走るアニメーション
ジャンプの方法
パペットの手直しメニューをキーフレームで変更する。
パペットのインターフェースの「ジャンプの上昇」「ジャンプの頂点」「ジャンプの下降」にそれぞれキーフレームをつなぐ。
ガジェットの「NOTゲート」を置き,パペットのインターフェースの「地面上」からつなげる。
NOTゲートからキーフレームにつなげてそのキーフレームに「歩く」「走る」タイムラインの電源を切る設定にする。
↓各キーフレームの内容
アニメーション関係
キーフレームで設定したように動いてくれない(パペットがピクッと上下に動いてしまう)(足がスムーズに動かない)
オート歩行をオフにすると解決。
オート歩行をオフにするのはワイヤーを使って切り替える方法とキーフレームにオフの状態を保存する方法がある(キーフレームで設定する場合は名前を分かりやすいものにすると混乱しにくくなる)
オート歩行をオフにしないと歩くアニメーションが少し影響して足が少し動いたり上下に動いたりする
例
↓このポーズにしたい場合
↓キーフレーム以外の動作がなくなる
タイムラインを使ったアニメーションがうまく作れない
1.タイムラインのキャンバスをL1ボタンと十字キー右でズームして縦線を出すことで目盛りを細かく見ることができる。
2.体の部位ごと(「腰と足」「胴体」「腕」「首と頭」)にキーフレームを分けると修正や,タイミングの調節がしやすい。
3.タイムラインの最初と最後に何もしていない状態のキーフレームを置いて待機状態とアニメーションを滑らかにつなぐことができる。
4.ひとつ前の状態のキーフレームをコピーしてアニメーションを作っていくとミスが少なくなる。
5.よく見せたい、特徴的なポーズのキーフレームを引き延ばす。
6.動きの速いところはキーフレームの数を少なめで間隔を狭める。
例
↓パンチアニメーションの場合
移動を伴うアニメーションを作りたい
体の大まかな位置を変えずにアニメーションを作り、ムーバーを使って移動させる。ムーバーは2つ使用する。1つ目は移動するため、2つ目は速度を落とすため。
↓キーフレームの動き
↓実際に動かしてアニメーションと移動距離があっているか確認する
キーフレームのアニメーションがエディット中は問題ないのにゲームを再生したときだけ設定通りに動かない
アニメーションさせる物体、もしくはその周辺の物体とぶつかっていることが原因の可能性があります。その場合、スカルプチャーやグループのコライドとラベルの設定を変えて当たり判定を無くせば治ります。
ロジック関係
キャラクターを前後に傾けさせたい
公式が作った「FPSキャラクター」を検索してスタンプする。
FPSキャラクターの中のマイクロチップの中の「カメラの設定」というマイクロチップを探してクローンして自分のキャラクターのマイクロチップにスタンプする。
次に、スタンプした「カメラの設定」を開いく。右側にあるタイムラインを開き、その中に2つキーフレームがあるはずです。
「ピッチアップ」キーフレームには上を向いた状態のポーズを記録させます。
「ピッチダウン」キーフレームには下を向いた状態のポーズを記録させます。
次に、「カメラの設定」マイクロチップの中の左にある「左スティック(ローカル)」という名前のノードにキャラクターのコントローラーセンサーの左スティック(ローカル)のアウトプットをワイヤーでつなげます。
こうすると左スティックの入力に合わせてキャラクターが傾きます。
↓スターターキットのギミックの中に「FPSキャラクター」があります。
ある条件の時に動作をしないようにしたい
シグナルを出しているロジックと動作をするロジックとをつなぐワイヤーの間にノードを入れる。動作をしないようにしたいときにノードの電源を切る。
二つの動作を同時にしないようにする簡単な方法
動作のロジックをマイクロチップごとに分ける。動作をするときの電源やタイムラインの中に他の動作をするロジックが入ったマイクロチップの電源を切るようにしたキーフレームを入れる.
ボタンを一度押すとオン、もう一度押すとオフにする
コントローラーセンサーとセレクターを置く。○ボタンを押すとオン。もう一度押すとオフにしたいときはコントローラーセンサーの○ボタンのアウトプットからのワイヤーをセレクターの「次に移動」につなぐ。セレクターのアウトプットBにオンオフ切り替えしたいものを繋げば完了。
上記のボタンオンオフ切り替えの応用
「ボタンを一度押すとオン、もう一度押すとオフにする」で、作ったロジックを変数を使って扱いやすくする方法。
変数マシンを1つ、変数カスタマイザーを1つ置く。
変数マシンの名前を適当なものに変えて1つクローンする。
変数カスタマイザーの手直しメニューを開き、「値を操作」を「セット」にして値を1にする。変数カスタマイザーを1つクローンして片方のカスタマイザーのセットする値を0にする。
セレクターのアウトプットA、アウトプットBに繋がっているワイヤーを削除する。
セレクターのアウトプットAに変数カスタマイザー(セットする値が0の方)の電源をつなげる。アウトプットBに変数カスタマイザー(セットする値が1の方)の電源をつなげる。
こうすることで、ボタンを押すたびに変数の値が1と0で交互に変わります。
さらに、
既に置いてある変数マシンをもう一つクローンし、カルキュレーターも置く。
変数マシンの「現在の値」をカルキュレーターの上の数値インプットにつなげる。カルキュレーターの計算を「=」、下の数値を1に設定して、上記の「ボタンを一度押すとオン、もう一度押すとオフにする」でセレクターのアウトプットBに繋いでいたものをカルキュレーターのアウトプットにつなげれば完成。
このようにすることで、大量のオブジェクトをセレクターでオンオフしたいときにアウトプットにつながってるワイヤーが大量なって煩雑になることを防げますし、シーン全体で変数の値を保存しているので、オンオフの状態管理が楽になります。
変数を使わずに数値を保存する
常に変化する数値を、変数を使わずに保存する仕組みを思いついた
— グリフ /SFアクション発信所 (@00GNK00) February 15, 2021
シグナル制御マシンの「アウトプットをフリーズ」機能の使い道がようやくわかった#DreamsPS4 #MadeInDreams #PS4share pic.twitter.com/QoUYpYrVGE
上記のツイートを参考にして
タイマーなどの変化する数値を記録する場合、適当な物体をエミッターで複製するようにして、その物体に変化する数値を送る。次に、エミッターによって複製された直後の数値を保存するためにタイマーを0.1秒で「タイマーの終了」シグナル(パルス)をシグナル制御マシンの「アウトプットをフリーズ」につなぐ。このようにすると複製された物体に数値を保存することができます。
オブジェクトの任意の位置に接着する方法
スカルプトモードでブロックをスタンプする。(このブロックで貼り付ける位置を決める)
ブロックの手直しメニューを開いて「移動OK」をオン、ラベルを「ターゲット」にする。
ブロックにマイクロチップを貼り付ける。
マイクロチップの中にインパクト・センサーとタグを貼り付ける。
インパクト・センサーの「タッチ」アウトプットからタグの電力につなげる。
タグの座標の位置をブロックの大体中心になるように調節する。
マイクロチップの中にスプリッターを貼り付ける。
タグの「シーンスペースの座標」アウトプットからスプリッターのインプットにつなげる。
マイクロチップの中にカルキュレーターとコンバイナーを貼り付ける。
スプリッターの「スケール」アウトプットからカルキュレーターのAインプットにつなげる。
カルキュレーターの手直しメニューを開いて「掛け算」に設定し、Bの値を10にする。
コンバイナーの手直しメニューを開いて「座標」に設定する。
スプリッターの「位置」アウトプットからコンバイナーの「位置」インプットにつなげる。
スプリッターの「方位」アウトプットからコンバイナーの「方位」インプットにつなげる。
カルキュレーターの「結果」アウトプットからコンバイナーの「スケール」インプットにつなげる。
スカルプトモードでブロックをスタンプする。(このブロックが貼り付けたいもの。)
(スカルプトモードでブロックをスタンプする。このブロックに貼り付けられる。今回はシーンに初めからある台を使う。)
貼り付けられるブロックにマイクロチップを貼り付ける。
マイクロチップの中にインパク・トセンサーを貼り付ける。
インパクト・センサーの手直しメニューを開いて検出するラベルを「ターゲット」だけにする。
マイクロチップの中にエミッタ―を貼り付ける。
インパクト・センサーの「タッチ」アウトプットからからエミッターの電力につなげる。
エミットスピードを0にする。
発射の間隔を0にする。
エミットモードを「一回だけ」にする。
貼り付ける位置を決めるブロックのマイクロチップの中にあるコンバイナーのアウトプットからエミッターの「シーンスペースの座標」インプットにつなげる。
貼り付けたいブロックを貼り付けられるブロックのグループに追加する。
エミッターの「発射するオブジェクト」に貼りつけたいブロックを設定する。
シーンを再生するとブロックが落ちたところにブロックがエミットされる。
エミットされたブロックは台に固定されている。
最後に
ご閲覧下さりありがとうございました!