This commit is contained in:
syui 2024-09-06 18:06:28 +09:00
parent 3d7b66a0da
commit fba1295fae
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
23 changed files with 284 additions and 38 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,56 @@
--- ./VMC4UE/Source/VMC4UE/Source/VMC4UEBlueprintFunctionLibrary.cpp
+++ ./VMC4UE_54/Source/VMC4UE/Source/VMC4UEBlueprintFunctionLibrary.cpp
@@ -119,27 +119,29 @@
{
return nullptr;
}
-
+
+ UVMC4UEStreamingSkeletalMeshTransform* StreamingSkeletalMeshTransform = nullptr;
+
+ // Try to get existing transform
{
- // Get
FRWScopeLock RWScopeLock(OSCManager->RWLock, FRWScopeLockType::SLT_ReadOnly);
- auto StreamingSkeletalMeshTransform = OSCManager->StreamingSkeletalMeshTransformMap.Find(Port);
- if (StreamingSkeletalMeshTransform != nullptr)
+ auto FoundTransform = OSCManager->StreamingSkeletalMeshTransformMap.Find(Port);
+ if (FoundTransform != nullptr)
{
- return *StreamingSkeletalMeshTransform;
+ return *FoundTransform;
}
}
+
+ // Create new transform if not found
{
- // Create
FRWScopeLock RWScopeLock(OSCManager->RWLock, FRWScopeLockType::SLT_Write);
- auto StreamingSkeletalMeshTransform = OSCManager->StreamingSkeletalMeshTransformMap.Find(Port);
- if (StreamingSkeletalMeshTransform != nullptr)
+ auto FoundTransform = OSCManager->StreamingSkeletalMeshTransformMap.Find(Port);
+ if (FoundTransform != nullptr)
{
- return *StreamingSkeletalMeshTransform;
+ return *FoundTransform;
}
- UVMC4UEStreamingSkeletalMeshTransform* NewStreamingSkeletalMeshTransform = NewObject<UVMC4UEStreamingSkeletalMeshTransform>();
- //FRWScopeLock RWScopeLock2(NewStreamingSkeletalMeshTransform->RWLock, FRWScopeLockType::SLT_Write);
+ UVMC4UEStreamingSkeletalMeshTransform* NewStreamingSkeletalMeshTransform = NewObject<UVMC4UEStreamingSkeletalMeshTransform>();
OSCManager->StreamingSkeletalMeshTransformMap.Emplace(Port, NewStreamingSkeletalMeshTransform);
// Bind Port
@@ -149,9 +151,10 @@
OSCManager->OscReceivers.Emplace(OscReceiver);
- return NewStreamingSkeletalMeshTransform;
+ StreamingSkeletalMeshTransform = NewStreamingSkeletalMeshTransform;
}
- return nullptr;
+
+ return StreamingSkeletalMeshTransform;
}
void UVMC4UEBlueprintFunctionLibrary::RefreshConnection(float Seconds)

View File

@ -0,0 +1,25 @@
--- ./VMC4UE/Source/VMC4UEEd/Source/VMC4UEBoneMappingAssetFactory.cpp
+++ ./VMC4UE_54/Source/VMC4UEEd/Source/VMC4UEBoneMappingAssetFactory.cpp
@@ -5,6 +5,8 @@
#include "../../VMC4UE/Include/VMC4UEStreamingData.h"
#include "Dom/JsonObject.h"
#include "JsonObjectConverter.h"
+#include "UObject/ConstructorHelpers.h"
+#include "UObject/UObjectGlobals.h"
UVMC4UEBoneMappingAssetFactory::UVMC4UEBoneMappingAssetFactory(const FObjectInitializer &ObjectInitializer)
: Super(ObjectInitializer)
@@ -26,11 +28,12 @@
return UVMC4UEVRMMapping::StaticClass();
}
+
UObject *UVMC4UEBoneMappingAssetFactory::FactoryCreateText(UClass *InClass, UObject *InParent, FName InName, EObjectFlags Flags, UObject *Context, const TCHAR *Type, const TCHAR *&Buffer, const TCHAR *BuferEnd, FFeedbackContext *Warn)
{
FString TextData = FString(Buffer);
- UVMC4UEVRMMapping *NewAsset = CastChecked<UVMC4UEVRMMapping>(StaticConstructObject_Internal(InClass, InParent, InName, Flags));
+ UVMC4UEVRMMapping* NewAsset = NewObject<UVMC4UEVRMMapping>(InParent, InClass, InName, Flags);
if (!IsValid(NewAsset))
{
return nullptr;

8
plugins/vmc4ue/readme.md Normal file
View File

@ -0,0 +1,8 @@
vmc4u patch rebuild for `ue5.4`
```sh
$ git clone https://github.com/HAL9HARUKU/VMC4UE
# example
$ patch -u ./VMC4UE/VMC4UE/Source/VMC4UEEd/Source/VMC4UEBoneMappingAssetFactory.cpp < VMC4UEBoneMappingAssetFactory.cpp.patch
```

BIN
texture/T__02.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
verse/img/ep.mdp Normal file

Binary file not shown.

BIN
verse/img/ep.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

BIN
verse/img/mode_ai.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

BIN
verse/img/mode_normal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

BIN
verse/img/shinryu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

BIN
verse/img/ue.mdp Normal file

Binary file not shown.

BIN
verse/img/ue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 KiB

BIN
verse/img/wa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -14,10 +14,3 @@ THE FUZZY ONE
|text|「hello ai !」 一つの言葉しか覚えられない。自分やリスナーのことをアイと呼ぶ。世界を作るのが趣味。普段は地球を歩き回っている。| |text|「hello ai !」 一つの言葉しか覚えられない。自分やリスナーのことをアイと呼ぶ。世界を作るのが趣味。普段は地球を歩き回っている。|
|en|"Hello Ai!" I can only remember one word. I call myself and my listeners Ai. My hobby is creating worlds. I usually walk around the Earth.| |en|"Hello Ai!" I can only remember one word. I call myself and my listeners Ai. My hobby is creating worlds. I usually walk around the Earth.|
## LIKES
USA, hololine en(fuwamoco), bird
## ref
https://www.youtube.com/watch?v=Kttt7pb5o6I&t=448s

54
verse/md/ue.md Normal file
View File

@ -0,0 +1,54 @@
# Unreal Engine 5.4 | 初めてのゲーム制作、世界を作る
## vrm4u
キャラクターを表示しよう。
## game animation sample
今後はこの形式が基本になりそう。
## city sample
最初に難易度と負荷を高くする。
## sky atmoshpere + volumetric cloud
`dynamic volumetric sky -> ultra dynamic sky`
## whisper + chatgpt + elevenlabs
- whisper : RuntimeSpeechRecognizer
```sh
# perplexity.ai
$ curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Your question here"}],
"temperature": 0.7
}'
```
```sh
# perplexity.ai
$ curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/VOICE_ID" \
-H "xi-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello world!",
"model_id": "eleven_monolingual_v1",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.5
}
}' \
--output output.mp3
```
## ue vs unity
ueは手順通りやっても動くことは稀。つまり、動かない。そのため情報も少ない。unityがおすすめ。

View File

@ -2,36 +2,6 @@
aiverse project [@syai](https://www.youtube.com/@syai). aiverse project [@syai](https://www.youtube.com/@syai).
respect vtubers and create something different.
aituber provides stories and ai models.
## syai
"hello ai !"
calls himself and the viewers "ai", not smart and can only remember one word. my hobby is creating world. i usually walks around the earth.
## aituber
a virtual youtuber using character ai.
## rules
allows fan fiction of ai. gather your allies.
there are one rules for fan fiction.
- add ai to the end of the name
members are selected through auditions, participation in the beta version of the game is given.
## policy
a culture of connecting through your favorite idols. the most interesting content is the interactions between vtubers, show off what you like.
stream only positive things, so that the viewers can enjoy it.
## bgm ## bgm
- https://suno.com/@syui - https://suno.com/@syui
@ -39,7 +9,6 @@ stream only positive things, so that the viewers can enjoy it.
## link ## link
- https://www.youtube.com/@syai - https://www.youtube.com/@syai
- https://mozilla.social/@ai
## ref ## ref

47
verse/slidev/aibot.md Normal file
View File

@ -0,0 +1,47 @@
---
theme: eloc
class: text-center
highlighter: shiki
lineNumbers: false
info: |
## Slidev Starter Template
Presentation slides for developers.
Learn more at [Sli.dev](https://sli.dev)
drawings:
persist: false
transition: slide-left
title: ai bot
---
## ai `bot`
---
## [yui.syui.ai](https://yui.syui.ai)
---
[yui.syui.ai](https://yui.syui.ai) access
<kbd>ctrl</kbd> + <kbd>enter</kbd>
<style>
.slidev-layout {
@apply overflow-visible;
filter: invert();
pre {
font-size:70px;
@apply opacity-95;
}
&::before {
@apply absolute white -z-1 w-screen h-screen min-w-full min-h-full;
content: '';
filter: invert();
background: center/cover url();
}
}
</style>
---
@syui.ai

94
verse/slidev/slides.md Normal file
View File

@ -0,0 +1,94 @@
---
theme: eloc
class: text-center
highlighter: shiki
lineNumbers: false
info: |
## Slidev Starter Template
Presentation slides for developers.
Learn more at [Sli.dev](https://sli.dev)
drawings:
persist: false
transition: slide-left
title: Unreal Engine 5.4 | 初めてのゲーム制作、世界を作る
---
## 初めてのゲーム制作、世界を作る
`Unreal Engine 5.4.4`
---
## `vrm4u`
キャラクターを表示しよう
---
## `game animation sample`
今後はこの形式が基本になりそう
---
## `city sample`
最初に難易度と負荷を高くする
---
## `sky atmoshpere` + `volumetric cloud`
- dynamic volumetric sky -> ultra dynamic sky
---
## `whisper` + `chatgpt` + `elevenlabs`
- whisper : RuntimeSpeechRecognizer
---
```sh
# perplexity.ai
$ curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Your question here"}],
"temperature": 0.7
}'
```
---
```sh
# perplexity.ai
$ curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/VOICE_ID" \
-H "xi-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello world!",
"model_id": "eleven_monolingual_v1",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.5
}
}' \
--output output.mp3
```
---
## `account`
- atproto(bluesky)
---
@syui.ai
<br/>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Bluesky_Logo.svg/1200px-Bluesky_Logo.svg.png" width="30px">