コーディングは知見を共有!デザインは勉強中のブログです!

【2022改訂版】Among Us等で複数人を横に並べるCSS書いてみた(アモングアス)

だいぶニッチなネタではありますが、最近流行のAmongUs。
これを配信にて

  • OBSというツールを用い
  • Discordで通話を行い
  • Discord StreamKit Overlayで通話画面を構成したい

という人に向けたものになっています。
AmongUsが16日より最大15人対応になるということもあり、簡単にですが複数人対応用のCSSを書いてみました。
※2022.12.18改定しました。
Discordの仕様変更により使えなくなっていたCSSを改良しました。
以前のCSSは使用できませんのでこちらに差し替えをお願いいたします。

・横並びをGridへ変更。幅によって自動で人数がかわるように。

たくさんの人数を横に並べるCSS

まず御託はいいからCSSだけくれという人のためにCSSのみ先に記載します。
使い方は後ほど

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: transparent;
}

div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(auto-fill, 240px);
  gap: 50px 40px;
}
div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] li[class*=Voice_voiceState] {
  display: inline-block;
  height: auto;
  aspect-ratio: 1/1;
  text-align: center;
}
div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] li[class*=Voice_voiceState] img[class*=Voice_avatar] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  border: none;
  filter: brightness(0.55);
  float: none;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] li[class*=Voice_voiceState] img[class*=Voice_avatarSpeaking] {
  filter: brightness(1);
  border: none;
}
div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] li[class*=Voice_voiceState] div[class*=Voice_user] {
  text-align: center;
  padding-top: 20px;
}
div[class*=Voice_voiceContainer] ul[class*=Voice_voiceStates] li[class*=Voice_voiceState] div[class*=Voice_user] span[class*=Voice_name] {
  line-height: 1.4;
}

※旧コードは現状のカスタムCSSとしては使用できないため削除

しかしCSSの書き方としては無理やりな感じなのでちょっと気持ちいいコードではないですね…OBSのブラウザが対応してくれればもっといい書き方ができるのですが…

使い方

Discord StreamKit Overlayの設定

https://streamkit.discord.com/overlay

詳しい使い方は死ぬほど紹介されてるのでググってもらうとして・・・
このCSSを使う上での注意点のみ記載します。
基本的には小さく作って拡大するより大きく作って縮小するほうが綺麗なので、大きめに作っています。あとでOBS側で縮小する)


好みもありますが、こちらはすべてオフにしてください。

TEXT SETTEINGS


TextSize:30px
こちらは好みで調整可能ですが、概ね30px前後をご利用ください。後でOBSで縮小する際小さすぎると視力検査レベルになってしまいます。
TextColor : こちらは文字色なので好きな色で
その他は0pxに設定してください。

BACKGROUND SETTINGS

Opacity: 0%
ここはお好みになります。
名前表示の背景に色をつけたい場合はOpacityを好きな数字に(デフォは95%)。

OBSの設定

ソースにて(+マーク)からブラウザを選択します。
タイトルはお好みで入力してOK。

ストリームキットのほうで右下にあるこのURLをコピーしておきます。

OBS側、ブラウザの設定です。
赤い枠の部分に上記のURLをコピペ。
幅:3620
高さ:300
青枠にCSSをコピペ(このページ最上部に貼ってある)。
OKを押す。

※新コードでは二行以上にしたい場合、幅と高さは自由に設定して大丈夫です。

ここまででこのような感じになると思いますが、多くの場合このように赤枠がはみ出した状態になっていると思います。
この赤枠を手動で縮小や画面サイズに合わせる等で縮小して画面に合わせます。
右クリして「変換」→「画面に合わせる」→手動で調整が楽だと思います。

いい感じに配置を調整して完了。

まとめ

ざっくりですが横に並べるCSSを作ってみました。
ちなみに黙ってるとアイコンが暗い状態で、しゃべると明るくなります。
人狼群像劇で使用しているCSSをベースにしているため、群像劇をご覧になってる方はイメージしやすいと思います。

「こういう風に出来ませんか?」等の要望あれば教えていただければ検討します。