vault backup: 2024-08-16 14:19:28
This commit is contained in:
parent
beb8ab2c0c
commit
aa6ce79cc6
@ -1 +1 @@
|
|||||||
{"123456":{"123456":{"currentFile":{"count":2,"lastUpdated":1720755815809}}},"LiveLink的应用及扩展":{"LiveLink的应用及扩展":{"internalLink":{"count":1,"lastUpdated":1720682388242}}},"Actor即可。":{"Actor即可。":{"currentFile":{"count":1,"lastUpdated":1721128244899}}},"TODO清单":{"TODO清单":{"internalLink":{"count":1,"lastUpdated":1721185627583}}},"群贝拉场景。可能是动画蓝图的问题。并不确定。":{"群贝拉场景。可能是动画蓝图的问题。并不确定。":{"currentFile":{"count":1,"lastUpdated":1721186286231}}},"c++内存泄漏分析工具":{"c++内存泄漏分析工具":{"internalLink":{"count":1,"lastUpdated":1721218206634}}},"DMX优化":{"DMX优化":{"currentFile":{"count":1,"lastUpdated":1721285453609}}},"TsMapEnvironmentLayerManager:EnterLevelArea":{"TsMapEnvironmentLayerManager:EnterLevelArea":{"currentFile":{"count":1,"lastUpdated":1721646563688}}},"86.1353986110013":{"86.1353986110013":{"currentFile":{"count":1,"lastUpdated":1722512530872}}}}
|
{"c++内存泄漏分析工具":{"c++内存泄漏分析工具":{"internalLink":{"count":1,"lastUpdated":1721218206634}}},"DMX优化":{"DMX优化":{"currentFile":{"count":1,"lastUpdated":1721285453609}}},"TsMapEnvironmentLayerManager:EnterLevelArea":{"TsMapEnvironmentLayerManager:EnterLevelArea":{"currentFile":{"count":1,"lastUpdated":1721646563688}}},"86.1353986110013":{"86.1353986110013":{"currentFile":{"count":1,"lastUpdated":1722512530872}}},"Multicast":{"Multicast":{"currentFile":{"count":1,"lastUpdated":1723785247956}}}}
|
@ -48,4 +48,101 @@ RegisterEventListener(): void
|
|||||||
this.PropComp.DressModelTeleport(TargetLiveAreaGUID)
|
this.PropComp.DressModelTeleport(TargetLiveAreaGUID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 相关事件
|
||||||
|
- BeforeSwitchArea_Multicast
|
||||||
|
|
||||||
|
## 笔记
|
||||||
|
- SwitchToLiveArea()
|
||||||
|
- 设置Idol的位置。
|
||||||
|
- this.OnSwitchLiveArea.Broadcast(oriUUID, uuid);
|
||||||
|
- DirectorEventSystem.Emit(this, DirectorEvent.OnFinishSwitchLiveAreaLocal, this.CurrentLiveAreaUUID)
|
||||||
|
- console.log('切换直播区域,area=[' + (liveArea as UE.LiveAreaActor).Title + ']')
|
||||||
|
- DirectorCamUtil.EnsureWorkShopReady(this, placement.UUID, () => { this.SwitchWorkShopInAreaServer(0) }) ***TsDirectorCamManagerActor.ts***
|
||||||
|
- SwitchWorkShopInAreaServer
|
||||||
|
- this.HandlePreviewTaskDataMulticast(newPreviewTaskData);
|
||||||
|
- this.RequestPVWTaskServer(newPVWTaskData);
|
||||||
|
|
||||||
|
|
||||||
|
```ts
|
||||||
|
//推流
|
||||||
|
E_StartCut(progress: number): void {
|
||||||
|
this.camManagerCache = DirectorCamUtil.PushStreamOnServerAsync(this, UE.EPushStreamMethod.Cut, false, this.camManagerCache)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## TsMovableLiveAreaComponent
|
||||||
|
- TsMovableLiveAreaComponent
|
||||||
|
##
|
||||||
|
```ts
|
||||||
|
/** 使用cmd进入区域,跳过加载等待, 其他方法不可调用 */
|
||||||
|
@ufunction.ufunction(ufunction.ServerAPI, ufunction.Reliable)
|
||||||
|
EnterAreaByCMD(areaUUIDStr: string): void {
|
||||||
|
|
||||||
|
let areaManager = this.GetLevelAreaManager();
|
||||||
|
if (!areaManager) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let area: UE.LiveAreaActor = null;
|
||||||
|
if (areaUUIDStr != null || areaUUIDStr != "") {
|
||||||
|
let uuid = new UE.Guid();
|
||||||
|
if (UE.Guid.Parse(areaUUIDStr, $ref(uuid))) {
|
||||||
|
area = areaManager.GetLiveArea(uuid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (area == null) {
|
||||||
|
area = areaManager.GetAllLiveAreas().GetRef(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (area == null) {
|
||||||
|
console.error("no area")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (area.UUID.op_Equality(areaManager.CurrentLiveAreaUUID)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
let bHasData = false;
|
||||||
|
let presetId:UE.Guid;
|
||||||
|
let manager = this.GetManager()
|
||||||
|
for (let index = 0; index < manager.Config.AreaPresets.Num(); index++) {
|
||||||
|
const element = manager.Config.AreaPresets.GetRef(index);
|
||||||
|
if (element.AreaGuid.op_Equality(area.UUID)) {
|
||||||
|
presetId = element.UUID;
|
||||||
|
bHasData = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let levelName = UE.GameplayStatics.GetCurrentLevelName(this, true);
|
||||||
|
|
||||||
|
if (!bHasData) {
|
||||||
|
manager.AddAreaPreset( levelName, area.UUID, area.Title)
|
||||||
|
|
||||||
|
for (let index = 0; index < manager.Config.AreaPresets.Num(); index++) {
|
||||||
|
const element = manager.Config.AreaPresets.GetRef(index);
|
||||||
|
if (element.AreaGuid.op_Equality(area.UUID)) {
|
||||||
|
presetId = element.UUID;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let viewTarget = areaManager.GetViewTarget(area.UUID)
|
||||||
|
if (!viewTarget) {
|
||||||
|
this.AddViewTarget(area.UUID, area.Title);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
manager.AddConfigLevelSetting(levelName);
|
||||||
|
this.BeforeSwitchArea_Multicast(manager.CurPresetId);
|
||||||
|
|
||||||
|
manager.CurPresetId = presetId;
|
||||||
|
areaManager.SwitchToLiveArea(area.UUID);
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user