とりあえず1つのプロジェクトを作成



ソリューションエクスプローラーの一番上階層選択>Add>New Project



できた!

参考 URL
【Visual Studio】1つのソリューションに複数のプロジェクトを追加 : プログラマ勉強記
http://blog.livedoor.jp/akiyam_0613/archives/4507247.html
みつけた!
DESIGN AND FUTURE SCIENCE.
参考 URL
【Visual Studio】1つのソリューションに複数のプロジェクトを追加 : プログラマ勉強記
http://blog.livedoor.jp/akiyam_0613/archives/4507247.html
みつけた!
の
の
ここ
https://historia.co.jp/archives/12245
でVS2022だと画面が違うのでキャプチャを張りなおします。
Azure DevOpsからVSへ接続しながらクローンします。
VS で View > TeamExplorer
コマンドプロンプトは見つからなかったので
Explorer 右クリックして その他のオプションを確認 > Open Git Bash here します。
git lfs install します。
git lfs install
git lfs track “*.uasset” します。
git lfs track "*.uasset"
.gitattributes が生成されます。
VS にもどって Git Changes
Commit And Push します。
UEProjectName/Content/BP_GitLFSTestActor.assetというファイルを作成し、
ファイルに 123456789 //1byte以上ないと git lfs ls-files 反応しない を書き込みますl。
123456789 //1byte以上ないと git lfs ls-files 反応しない
チームエクスプローラーからリモートリポジトリにPushします。
git lfs ls-filesで確認します。
git lfs ls-files
15e2b0d3c3 * ActionCombat/Content/BP_GitLFSTestActor.uasset が出てくればOKです
最後に.gitattributesファイル内を以下にして Commit And Push します。
#以下のサイトを参考に作成
#https://historia.co.jp/archives/12245/
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.float filter=lfs diff=lfs merge=lfs -text
*.pcx filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.dds filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text
VS2022UE5_ProjectBase2.zip
https://drive.google.com/file/d/1wQLoI0ESbsJF_K172fo8lcMZWwSWCxz-/view?usp=sharing
1>PlayerAnimInstance.gen.cpp.obj : error LNK2001: unresolved external symbol "public: static struct UE::Math::TIntPoint<int> const UE::Math::TIntPoint<int>::ZeroValue" (?ZeroValue@?$TIntPoint@H@Math@UE@@2U123@B)
1>Throwaway.gen.cpp.obj : error LNK2001: unresolved external symbol "public: static struct UE::Math::TIntPoint<int> const UE::Math::TIntPoint<int>::ZeroValue" (?ZeroValue@?$TIntPoint@H@Math@UE@@2U123@B)
1
リンクエラー(LNK2001)が発生しているようですね。このエラーは、コンパイラが ActionCombat.cpp.obj
ファイル内で参照されているシンボルの定義を見つけられないことを示しています。以下のような原因が考えられます:
以下の手順でこのエラーをトラブルシューティングし、解決することができます:
extern
として正しくマークされていることを確認します。Games/ActionCombat 右クリックして Clean を実行してから Buildする。
やったーー!解決
こんな感じの状態、
# -*- coding: utf-8 -*-
import maya.cmds as cmds
from maya import OpenMaya
#任意の1点と線分の両端の座標から線分上のもっとも近い点を返す
def xGetClosestPoint(myPoint, begin, end):
myVector3D = OpenMaya.MVector(myPoint[0] - begin[0], myPoint[1] - begin[1], myPoint[2] - begin[2])
baseVector3D = OpenMaya.MVector(end[0] - begin[0], end[1] - begin[1], end[2] - begin[2])
nDotProduct = myVector3D * baseVector3D
print("nDotProduct= "+str(nDotProduct))
if (nDotProduct > 0):
print("Big if")
nBaseLength = baseVector3D.length()
print("nBaseLength= "+str(nBaseLength))
nProjection = nDotProduct / nBaseLength
if (nProjection < nBaseLength):
print("small if")
scaleValue = nProjection / nBaseLength
print("scaleValue= "+str(scaleValue))
baseVector3D = baseVector3D * scaleValue
return [begin[0] + baseVector3D[0], begin[1] + baseVector3D[1], begin[2] + baseVector3D[2]]
else:
print("small else")
return end
else:
print("Big else")
return begin;
sel = cmds.ls(sl =True)
# get Translate
start = cmds.xform(sel[0],q=1 ,ws =True,t=True)
mid = cmds.xform(sel[1],q=1 ,ws =True,t=True)
end = cmds.xform(sel[2],q=1 ,ws =True,t=True)
# Vector for Translate
#startV = OpenMaya.MVector(start[0] ,start[1],start[2])
#midV = OpenMaya.MVector(mid[0] ,mid[1],mid[2])
#midV = OpenMaya.MVector(end[0] ,end[1],end[2])
c_vPos = xGetClosestPoint(mid, start, end)
cmds.xform("pSphere1",ws =True,translation=(c_vPos[0], c_vPos[1], c_vPos[2]) )
線状に乗った!!
参考URL
野中文雄先生の任意の座標からもっとも近い線分上の点を求める
http://www.fumiononaka.com/TechNotes/Flash/FN1104002.html
MAYAチュートリアル:Pythonで極ベクトルを正しく配置する方法
[UE5][C++]git通したC++プロジェクトに.slnがなくて→
Genalate Visual Studio Project Files →
UE5 が無いとか小一時間悩んだら、ただフォルダ開いて無いとかゆー慌てっぷりで、草
フォルダ開いて解決 ひどいw
関連URL
Attach
https://stackoverflow.com/questions/34498992/visual-studio-run-button-changed-to-attach-to-a-process
ポジTAさんのこのぺーじをvs2022でやる
https://zenn.dev/posita33/books/ue5_starter_cpp_and_bp_001/viewer/chap_01_vs2019_setup
プロジェクトを作成する際に「C++」でプロジェクトを作成します。
[Edit] > [Plugins]を選択します。
独自のPluginを作成するには左上の「Add」ボタンをクリックします。
プラグインの作成手順は以下の手順になります。
Author | 制作者名 |
Description | Pluginの説明 |
Author URL | 制作者のPlugin説明用のURLを書いておくとPluginの制作者名をクリックするとURLに移動する |
Is Beta Version | チェックボックスを有効にすると、Plugin名の横にBetaが表示される |
Pluginのウィンドウで作成したPlugin名を検索すると一覧に登録されています。
Editボタンや(Plugin名).pluginファイルで設定をより詳細に変更できます。
色々設定して128×128のアイコン設定して。。
ContentsBrowserやVisualStudioに追加されたPluginが表示されます。
以下の感じで吐き出される
furcraeaBluePrintLib.h
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Modules/ModuleManager.h"
class FfurcraeaBluePrintLibModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
furcraeaBluePrintLib.cpp
// Copyright Epic Games, Inc. All Rights Reserved.
#include "furcraeaBluePrintLib.h"
#define LOCTEXT_NAMESPACE "FfurcraeaBluePrintLibModule"
void FfurcraeaBluePrintLibModule::StartupModule()
{
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
}
void FfurcraeaBluePrintLibModule::ShutdownModule()
{
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
// we call this function before unloading the module.
}
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(FfurcraeaBluePrintLibModule, furcraeaBluePrintLib)
furcraeaBluePrintLibBPLibrary.h
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Kismet/BlueprintFunctionLibrary.h"
#include "furcraeaBluePrintLibBPLibrary.generated.h"
/*
* Function library class.
* Each function in it is expected to be static and represents blueprint node that can be called in any blueprint.
*
* When declaring function you can define metadata for the node. Key function specifiers will be BlueprintPure and BlueprintCallable.
* BlueprintPure - means the function does not affect the owning object in any way and thus creates a node without Exec pins.
* BlueprintCallable - makes a function which can be executed in Blueprints - Thus it has Exec pins.
* DisplayName - full name of the node, shown when you mouse over the node and in the blueprint drop down menu.
* Its lets you name the node using characters not allowed in C++ function names.
* CompactNodeTitle - the word(s) that appear on the node.
* Keywords - the list of keywords that helps you to find node when you search for it using Blueprint drop-down menu.
* Good example is "Print String" node which you can find also by using keyword "log".
* Category - the category your node will be under in the Blueprint drop-down menu.
*
* For more info on custom blueprint nodes visit documentation:
* https://wiki.unrealengine.com/Custom_Blueprint_Node_Creation
*/
UCLASS()
class UfurcraeaBluePrintLibBPLibrary : public UBlueprintFunctionLibrary
{
GENERATED_UCLASS_BODY()
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Execute Sample function", Keywords = "furcraeaBluePrintLib sample test testing"), Category = "furcraeaBluePrintLibTesting")
static float furcraeaBluePrintLibSampleFunction(float Param);
};
furcraeaBluePrintLibBPLibrary.cpp
// Copyright Epic Games, Inc. All Rights Reserved.
#include "furcraeaBluePrintLibBPLibrary.h"
#include "furcraeaBluePrintLib.h"
UfurcraeaBluePrintLibBPLibrary::UfurcraeaBluePrintLibBPLibrary(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
float UfurcraeaBluePrintLibBPLibrary::furcraeaBluePrintLibSampleFunction(float Param)
{
return -1;
}
参考URL
全部ポジTAさんですありがとうございます。
Running D:/Program Files/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.bat -projectfiles -project="D:/Sandbox/UE53CratePlugin/UE5_VS/UE5_VS.uproject" -game -rocket -progress
Using bundled DotNet SDK version: 6.0.302
Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -projectfiles -project="D:/Sandbox/UE53CratePlugin/UE5_VS/UE5_VS.uproject" -game -rocket -progress
Log file: C:\Users\furcr\AppData\Local\UnrealBuildTool\Log_GPF.txt
Generating VisualStudio2019 project files:
Discovering modules, targets and source code for project...
Visual Studio 2019 does not support .NET 6.0 C# projects, these projects will not be added to the generated solution.
Please generate the Visual Studio 2022 solution if .NET 6.0 C# project support is required.
Microsoft platform targets must be compiled with Visual Studio 2022 17.4 (MSVC 14.34.x) or later for the installed engine. Please update Visual Studio 2022 and ensure no configuration is forcing WindowsTargetRules.Compiler to VisualStudio2019. The current compiler version was detected as: 14.29.30154
つまりは
D:/Program Files/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.bat -projectfiles -project="D:/Sandbox/UE53CratePlugin/UE5_VS/UE5_VS.uproject" -game -rocket -progress を実行しています
バンドルされた DotNet SDK バージョン 6.0.302 を使用しています
UnrealBuildTool を実行しています: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -projectfiles -project="D:/Sandbox/UE53CratePlugin/UE5_VS/UE5_VS.uproject" -game -rocket -progress
ログ ファイル: C:\Users\furcr\AppData\Local\UnrealBuildTool\Log_GPF.txt
VisualStudio2019 プロジェクト ファイルを生成しています:
プロジェクトのモジュール、ターゲット、ソース コードを検出しています...
Visual Studio 2019 .NET 6.0 C# プロジェクトをサポートしていないため、これらのプロジェクトは生成されたソリューションに追加されません。
.NET 6.0 C# プロジェクトのサポートが必要な場合は、Visual Studio 2022 ソリューションを生成してください。
インストールされているエンジンでは、Microsoft プラットフォーム ターゲットを Visual Studio 2022 17.4 (MSVC 14.34.x) 以降でコンパイルする必要があります。Visual Studio 2022 を更新し、WindowsTargetRules.Compiler を VisualStudio2019 に強制する構成がないことを確認してください。現在のコンパイラ バージョンは 14.29.30154 として検出されました。
VS2022をつかえってこと
したらエラーでなくなった
mel :ReorderVertex;
Plug-in Manager内の「meshReorder. mll」にチェックマークを入れると機能がアクティブになります。
~Mayaの機能「Reorder Vertices」~
Maya2017から新規に追加された機能で、頂点番号を後から調整することが可能です。
以下より
https://help.autodesk.com/view/MAYAUL/2025/JPN/?guid=GUID-8CF82D97-203C-4056-BEF2-EA0CD27336ED
https://help.autodesk.com/view/MAYACRE/JPN/?guid=GUID-8CF82D97-203C-4056-BEF2-EA0CD27336ED
頂点の順序を変更するには
1,頂点の順序を変更するポリゴン オブジェクトのヒストリを削除します。
2,ディスプレイ> ポリゴン > コンポーネント ID > 頂点(Display > Polygons > Component IDs > Vertices)に移動し、オブジェクトの頂点 ID を選択して表示します。
3,頂点の順序を変更(Reorder Vertices)コマンドを選択します。
4,設定する新しい頂点の順序の最初の 3 つの頂点に関連する 3 つの隣接する頂点をクリックします。
(Shift+クリックではありません)(1つのポリゴンを囲むようにクリックしてください)
Maya では、設定した初期パスに基づいて、残りの頂点が並べ替えられます。
注: 頂点の順序を変更(Reorder Vertices)コマンドは、異なるコマンドやツールに切り替えるまでアクティブであるため、希望の順序になるまで新しい頂点の順序を繰り返し試すことができます。
頂点を手動で並べ替えるのではなく、頂点の順序を転送(Transfer Vertex Order)コマンドを使用して、1 つのオブジェクトから別のオブジェクトに頂点の順序を転送できます。
注: 最良の結果を得るには、まず、2 つのメッシュのトポロジが類似していることを確認します。
1 つのメッシュから別のメッシュに頂点の順序を転送するには
1,転送に関連する両方のオブジェクトのヒストリを削除します。
2,ディスプレイ > ポリゴン > コンポーネント ID > 頂点(Display > Polygons > Component IDs > Vertices)に移動し、オブジェクトの頂点 ID を選択して表示します。
頂点の順序を転送(Transfer Vertex Order)コマンドを選択します。
ソース オブジェクト上で 3 つの隣接する頂点をクリックします。
(Shift+クリックではありません)(1つのポリゴンを囲むようにクリックしてください)
ソース オブジェクト上で選択した 3 つの頂点とトポロジ的に関連しているターゲット オブジェクト上の 3 つの隣接する頂点をクリックします。
(Shift+クリックではありません)(1つのポリゴンを囲むようにクリックしてください)
選択した 3 つのベース頂点とソース オブジェクトが相対関係になるように、残りの頂点が並べ替えられます。
参考URL
ライティングあり>最適化ビューモード>シェーダー複雑度
level選択してサイズマップすれば重い原因がわかる。
マップの中で重いテクスチャなどを見つける Level>サイズマップ
詳細はこちら↓
Niniteは雑にStaticMeshアセットに全部使ってしまった方が軽いらしい。
: プロジェクト設定->入力->Console->Console Keysでキーを追加。
デフォルトで「`」が割り当たっているが、日本語キーボードだと打つことが出来ないため、「@」キーを追加しておく。
@stat anim でどの処理が何秒つかってるかが見れる
他コマンドはこちら
https://historia.co.jp/archives/1342
@fpsでstat FPSを選ぶとFPSが表示できる
Build Configurationの内容DevelopmentやShippingなどを判別して毎のEventを取得できる。
テクスチャ>アセットアクション>プロパティマトリクスでMaximam Texture Sizeと検索して1024してみたりとか。
フレームレートを固定する。
プロジェクト設定>検索>FrameRate
こんな設定にしたら40FPSでかつキャラクタきれいに見えた
最終的に選んだ設定これだけ贅沢にして24FPS
マテリアル品質もやりようある。
#UE5night デバッグ&チューニングナイトを開催してくださったぽちおさんならびに沢山の解答をくださった方々に感謝です。
関連
Unreal Engine 5: How To Fix “Video Memory Has Been Exhausted” (Temporary Fix For Development)