Unity何も分からん

UnityでVTuberシステムの開発したり、ゲーム作ったりしてて学んだことを書いていく予定

【UnrealEngine / UE5】新しいPCで既存プロジェクト(要ビルド)を開くまでのメモ(Mac版も対応)

新しいPCにセットアップする時に毎度詰まってるのでメモ!

Windows


EpicGameLauncherを入れる

https://store.epicgames.com/ja/download

エンジンをインストールする

EpicGameLauncherを一度終了しもう一度開く(.uprojectを関連付ける)

VisualStudioをインストールする

Optionとして必ず以下を含める(ビルドに必要)

バージョンはPC間で合わせて入れてる
公式の対応バージョンは以下
Unreal Engine で C++ プロジェクトの Visual Studio 開発環境をセットアップする | Unreal Engine 5.4 ドキュメンテーション | Epic Developer Community

.uprojectから「Generate Visual Studio project files」を行う


(任意)Riderをインストールする

VisualStudio(or Rider)で.slnファイルを開く

Project 'UE5' load failed / Project '[Project名]' load failed って出る場合
Explorerで [Project]/Intermediate/ProjectFiles を確認
UE5.vcxprojと[Project名].vcxprojが恐らくない

.uprojectから「Generate Visual Studio project files」を行う
生成できたら.slnを開き直す

生成できなかったらVisualStudioのOptionを入れ忘れてる
インストーラーをもう一度実行し以下を選択する

終わったらも一度.uprojectから「Generate Visual Studio project files」を行う
これで出来なかったらわからん...

ビルドして終わったら開く


Macの場合


EpicGameLauncherを入れる

エンジンをインストールする

VisualStudioをインストールする

XCodeを入れる、最新にする

GenerateXCodeProject

自分の場合はなんか二つ出てきたけどUnealEditorServicesの方しか効かなかった

[Project]/Intermediate/ProjectFilesに
UE5と[Project名]の.xcodeprojが出来ているのを確認

UE5.xcodeprojを開きXCodeからビルド

ソースから Unreal Engine をビルドする | Unreal Engine 5.2 ドキュメンテーション | Epic Developer Community

ビルドして終わったら開く

【UnrealEngine】Riderでビルドできない時用のメモ

エラー起きたら追記していく

Expecting to find a type to be declared in a module rules named ‘RD’ in UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null. This type must derive from the ‘ModuleRules’ type defined by Unreal Build Tool.

原因

RDはRiderLinkのこと
UE5ではRiderLinkはGame/Pluginに置かなきゃいけないのに、Engine/Plugin下に入っているとビルド時にエラーが起きる模様
でもビルド通ることもあってある日突然エラー吐かれて???ってなった

対処方法

  1. $Engine$/Developer/RiderLink ディレクトリごと削除する
    $Engine$はデフォルト"C:\Program Files\Epic Games\UE_X.X"
  2. Riderを再起動もしくはTools/RefreshRiderProjectする
  3. RiderLinkをGame以下に入れるか聞かれるのでOKを押す
    出ない場合はメニューのFile/SettingsからLanguages&Frameworks/UnrealEngineにInstallRiderLink in Gameというボタンがあるのでそれをクリックする

よく見たらInstall~EngineにDoesn't work with UE5 from Epic Games Launcher. UE5では動かないよ、って書いてある...なんでこんな項目あるんだろ...

参考

UE5.1 Expecting to find a type to be declared in a module rules named '......' - C++ - Epic Developer Community Forums

Trouble creating C++ project in UE5 EA - #5 by DerUhu - C++ - Epic Developer Community Forums

Riderで略語やGPTなどの大文字続きにWarningが出ないようにする

問題

例えばChatGPTと打つとChatGpt命名スタイル的に合ってるよ、と怒られる
Suggested name is 'ChatGpt'.

解決方法

命名スタイルと異なる単語を略語リストに登録する

  1. Warningが出ている単語にキャレットを設定(入力をその単語に合わせる)
  2. Alt+Enter もしくは コード列の左に出ている電球マークを押しアクションリストを開く
  3. Inspection: 'Inconsistent Naming'からAdd 'GPT' to the abbreviations listのどれかを選ぶ

設定の保存場所

3で選んだ項目により場所が違う

  • This computer
    %USERPROFILE%\AppData\Roaming\JetBrains\Rider{Riderのバージョン}\resharper-host\GlobalSettingsStorage.DotSettings
  • Solution team-shared
    {プロジェクト名}.sln.DotSettings
  • Solution personal
    {プロジェクト名}.sln.DotSettings.user

<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GPT/@EntryIndexedValue">GPT</s:String>
このような記述がされているので文字列を削除すれば設定は消える
行ごと削除しようとすると後ろに別の閉じタグがついていたりするので確認して消すこと

【Unity】MacでEditor上で文字化け、潰れが起きた時の対処法(PackageManager、AssetStore、Services、UIToolKit等)

起きる内容

EditorのWindowを開いた際に下記のような文字化け、潰れが起きます
PackageManagerとか見れないと困る...

発生したバージョン

Unity2020.3.43f1以前

対処方法

  • 可能ならバージョンを上げる
  • Auto Graphic API for MacOS を変更する

可能ならバージョンを上げる

この問題はUnity2020.3.43f1で修正されています
それ以前のバージョンが必須でないならバージョンを上げてしまうのがベストです

Auto Graphic API for MacOS を変更する

バージョンを上げられない場合は
Auto Graphic API for MacOS を「Metal」から「OpenGL Core」に変更することで対処可能です

デメリットとして
Unityのパフォーマンスが低下する模様です。
ビルドする際などは「Metal」に戻す必要がありそうです。

手順

  1. Edit/ProjectSettingのPlayerタブを開きます
  2. OtherSettingsの「Auto Graphics API for Mac」のチェックを外します
  3. Graphics APIs for Mac という配列が表示されるので「+」マークを選択し、「OpenGL Core」を追加します
  4. OpenGL Core」の順番がMetalより下になっているので一番上に上げます

上記の手順をするとEditorを再起動するか聞かれるので再起動します

これで文字化けが解消されます

参考サイト

forum.unity.com

【Unity】Riderで1行Summaryを使えるようにする(LiveTemplate)

できること

1行Summaryが使える

/// <summary> </summary>

やり方

Preferencesの「Editor/LiveTemplates/C#」を開く

右上の赤丸が「NewTemplate」ボタンなので新しいTemplateを作成する

/// <summary> $END$ </summary>

このように設定して保存
設定についての説明は最後に書いておきます

使い方

コード上で「sum」と入力すると予測変換で出てくるので選択して使えます!

説明

$END$ はこのLiveTemplateを使った後のテキストカーソルの位置

パラメータ説明

雰囲気で使ってる部分もあります

  • Shortcut
    • コード上でこの文字を打った時にこのLiveTemplateを使える
  • Description

    • 説明
  • Options:

    • Reformat
      • コード整形を行うか(多分その付近を整形してくれる)
    • Shorten qualified references
      • 名前空間などから出来るだけ短い参照にする
  • Availability
    • どのバージョンから使用可能か
  • Use in
    • Generation
      • 通常の使い方
    • Surround
      • 選択した部分を囲う
      • () とかはこれ
    • Both
      • どちらも
      • for とかはこれ
  • Mnemonic
    • ブックマーク的なことができるらしいけど上手く使えてない...
  • Show in context action
    • 「option + Enter」 or 「Alt + Enter」を押したときに表示するか

【Unity】UnityRecorderで画面のスクショを撮る(Script不要、透過・連番・グリーンバック可能、解像度自由)

環境
Unity 2021.3.3f1
UnityRecorder 3.0.3

できたもの

今回やりたかったこと

  • Scriptを使わずにスクショを撮りたい
  • Game画面のサイズに合わせた画像が欲しい
  • 透過画像も撮りたい

いくつかプロジェクトがありそれぞれでScreenShot撮りたい場合、ScriptやPrefabをコピペするのがめんどくさくてこの方法を使ってました

手順

シーンの設定

Cameraの設定

  • ClearFlags: SolidColor
  • BackGround Alpha: 0
    背景の色を決めているのでグリーンバックにしたければ #00FF00 にしつつAlphaを255にすると良いです

撮りたいオブジェクトを配置

今回はLive2D公式のSampleキャラクターを配置してます

UnityRecorderの設定

UnityRecorderをInstallする

Window/PackageManager」のUnityRegistryにあります

Recorder画面の設定

Recorderを追加

「Window/General/Recorder/RecorderWindow」でWindowを開き
AddRecorderからImageSequenceを選択します

設定

  • FrameRate

    • TargetFPS: Custom
    • Value: 1
      → 1秒間に何回スクショを撮るかの設定なので、連番画像を撮りたい場合は30や60、29.97などにすると良いです)
  • Capture

    • Source: GameView
    • OutputResolution: MatchWindowSize
      → GameViewのSizeに合わせて撮る設定です、お好みで変えてください
      → GameViewのSizeを4Kなどにすればその通りの画像が書き出せます
  • Format

    • MediaFileFormat: PNG
      JPEGは透過画像に対応していないのでPNGにしています、透過にしないならJPEGでもOKです
  • OutputFile
    スクショが置かれる場所とファイル名などが設定できます、お好みで

    ここを押すと画像の保存先が開けるので便利です

撮影する

「START RECORDING」を押すとUnityがPlayされます
録画が開始され1秒ごとに1枚写真が撮られるので必要な画像が撮れたか確認したければ「STOP RECORDING」
止めてよければUnityのSTOPをします

OutputFileの対象ディレクトリにこのように画像群が保存されているので必要なものだけ残して削除してOKです

完成

最初に載せた画像が撮れました、わーい

【Unity】TextMeshProでネオン風のテキストを作ってみた

環境

  • Unity 2021.3.8f1
  • TextMeshPro 3.0.6

できたもの

今回やりたかったこと

  • Unityのデフォルト機能のみでネオン表現が出来る
  • テキストを簡単に変更できる

注意点
立体感は出ない

手順

PackageManagerでTextMeshProのInstall

Window/PackageManager」から開けます

ネオン風のFontをDL

今回使わせていただいたフォント
www.graphicpear.com

個人&商用利用無料(クレジットは必要)とのこと
NEONEON - FREE FONT on Behance

フォントからTextMeshProのFontAssetを作成

.otfファイルが入っているのでそのままUnityのアセットに追加
フォントファイルを右クリックし、「Create/TextMeshPro/FontAsset」を選択することでサクッとFontAssetが作れます

パラメータ設定とかしたい場合は「WIndow/TextMeshPro/FontAssetCreator」から作成するといいっぽい?

FontAssetからMaterialを作成

Project上のFontAssetを選択し、Inspectorの右上の縦3点リーダーから「CreateMaterialPreset」を選択します
これをしておくと共通のMaterialでなく個別のMaterialとして設定できます

TextMeshProを作成し設定する

オブジェクト作成して背景とかフォントサイズとか変えただけの状態

TextMeshProのComponentのプロパティを変更


変更点

  • FontAsset
  • MaterialPreset
  • VertexColor #3643FF

Materialの値を変更


変更点

  • Face Softness
  • Outline Color Alpha 204
  • Outline Thickness
  • Glow Color R:0 G:7 B:255 A:125 Intensity:0
  • Glow Offset
  • Glow Outer
  • Glow Power

完成!

TextMeshProでいい感じのネオン表現が出来た気がします

Play中にテキストを変更することも可能です

追加でやったこと

日本語に対応させる

このままだとNeoneonのフォントが日本語に対応していないため文字化けします

NeoneonのFontAssetのFallbackFontAssetsのFallbackListに、フォントが見つからなかった際に使うFontAssetを設定しておきます

今回使わせて頂いたフォント booth.pm

Fallbackする文字は「まるこいあすフォント」を使うように変更できました
(別フォントなので違和感はある)

別の文字色を使う

オブジェクトとMaterialを複製して色を変えるというゴリ押し...
悲しみ...

先端コンテンツ技術展でVR体験してきた感想

どうもfsyuuです。


7月3日(金)に東京ビックサイトで行われた先端コンテンツ技術展に行って参りました!
第1回 先端コンテンツ技術展-クリエイティブ産業と最新技術をむすぶ見本市 - 先端コンテンツ技術展

目当てはVRARなんですが色々関係ないものも見てきました!

今回はこのイベントで、気になったところやすごかったものなどを少し紹介したいと思います。

まずは東京ビックサイト
f:id:t_yuuki1212:20150705020756j:plain
コミケ以外では行くの初めてかもしれないです!
ちなみにこの画像はイメージであって、僕が行った日は土砂降りでした。

にもかかわらずやっぱり人多かったです、仕事で来てるわけですからね・・・。
f:id:t_yuuki1212:20150707003017j:plain


まず入って出迎えてくれたのがアンドロイドASUNAちゃん
f:id:t_yuuki1212:20150707003358j:plain
ものすごい人だかりを作っていた人気者!
きちんと顔認識もしていて、リアルすぎてびびりました・・・。


そして今回VRで恐ろしくクオリティが高く非常に面白かったものが2つあったので紹介させて頂きます。
株式会社 しのびや.com さん

VRIDE

f:id:t_yuuki1212:20150707004607j:plain
VR搭乗型のロボットアトラクションのようです。

個人的にツボなかっわいい女の子がナビゲートしてくれる中、自分がパイロットとなり市街地にいる敵をなぎ倒します!
f:id:t_yuuki1212:20150707005411j:plain

目標をセンターに入れてスイッチ!目標をセンターに入れてスイッチ!!
なにこれ!楽しい!!!女の子もかわいい!!
もう現実戻りたくない!!

しかもこれ、赤い椅子がガンガン動くのでさらにリアル感がやばいです。vine.co



PROTOTYPE さん

GODSPEED VR

f:id:t_yuuki1212:20150707012638j:plain
普通自動車免許しか持ってない僕も乗らせてもらいました!
1000CCのレーサーにまたがるのですが臨場感が半端ないです!!時速400km!!
視覚だけじゃなく、振動や音、風までも感じるので本当に走っているような感覚を味わえます・・・。
現実との境界があいまいになるような体験でした・・・。



そして!メインイベント???
佐村○内のゴーストライターだった新垣さんに会いました!
f:id:t_yuuki1212:20150707003813j:plain
演奏も聴けました!僕、満足!!!


他にも
ライブで使われているような立体感はんぱないミクさんを演奏したり表情変えたり
f:id:t_yuuki1212:20150707013211j:plain

ブレッブレですが大画面4Kテレビ!もうこれ現実・・・や、
f:id:t_yuuki1212:20150707013303j:plain

よくわかんないゆるキャラ?がいたりしました!
f:id:t_yuuki1212:20150707013419j:plain


とりあえず先端コンテンツ技術展とても楽しかったです!
今回が第一回らしいので第二回も顔を出したいなぁ、と思います。