null
BIN
issue/screenshots/issue-9-0001.png
Executable file
After Width: | Height: | Size: 174 KiB |
BIN
issue/screenshots/issue-9-0002.png
Executable file
After Width: | Height: | Size: 93 KiB |
BIN
issue/screenshots/issue-9-0003.png
Executable file
After Width: | Height: | Size: 792 KiB |
BIN
issue/screenshots/issue-9-0004.png
Executable file
After Width: | Height: | Size: 64 KiB |
56
plugins/vmc4ue/VMC4UEBlueprintFunctionLibrary.cpp.patch
Normal 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)
|
25
plugins/vmc4ue/VMC4UEBoneMappingAssetFactory.cpp.patch
Normal 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
@ -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
After Width: | Height: | Size: 63 KiB |
BIN
verse/img/ep.mdp
Normal file
BIN
verse/img/ep.png
Normal file
After Width: | Height: | Size: 433 KiB |
Before Width: | Height: | Size: 441 KiB |
Before Width: | Height: | Size: 126 KiB |
BIN
verse/img/mode_ai.png
Normal file
After Width: | Height: | Size: 476 KiB |
BIN
verse/img/mode_normal.png
Normal file
After Width: | Height: | Size: 432 KiB |
BIN
verse/img/shinryu.png
Normal file
After Width: | Height: | Size: 202 KiB |
BIN
verse/img/ue.mdp
Normal file
BIN
verse/img/ue.png
Normal file
After Width: | Height: | Size: 561 KiB |
BIN
verse/img/wa.png
Normal file
After Width: | Height: | Size: 140 KiB |
@ -14,10 +14,3 @@ THE FUZZY ONE
|
||||
|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.|
|
||||
|
||||
## LIKES
|
||||
|
||||
USA, hololine en(fuwamoco), bird
|
||||
|
||||
## ref
|
||||
|
||||
https://www.youtube.com/watch?v=Kttt7pb5o6I&t=448s
|
54
verse/md/ue.md
Normal 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がおすすめ。
|
||||
|
@ -2,36 +2,6 @@
|
||||
|
||||
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
|
||||
|
||||
- https://suno.com/@syui
|
||||
@ -39,7 +9,6 @@ stream only positive things, so that the viewers can enjoy it.
|
||||
## link
|
||||
|
||||
- https://www.youtube.com/@syai
|
||||
- https://mozilla.social/@ai
|
||||
|
||||
## ref
|
||||
|
||||
|
47
verse/slidev/aibot.md
Normal 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
@ -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">
|