feat(Enemy): 添加敌人攻击动画速度控制功能

- 新增attackDuration属性用于控制完整攻击动作时长
- 实现攻击动画速度动态调整,支持自定义攻击持续时间
- 添加健康条显示组件到敌人类
- 增加物理材质配置优化碰撞效果

- 添加微信小游戏平台支持和适配
- 集成自适应性能包和微信小游戏SDK
- 配置项目构建设置支持多平台发布
- 更新质量设置以适配不同目标平台

- 调整场景中物体位置和旋转参数
- 修复角色控制器材质引用问题
- 优化敌人AI移动和攻击逻辑
```
This commit is contained in:
huadexuan committed 2026-08-23 22:23:15 +08:00
1 parent b807bb80ec
commit 48dfa0d95d
38 files changed
+2295 -36

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.
+4
View File
@@ -0,0 +1,4 @@
repository "大乱斗@local"
path "/"
br "/main"
co "/main"
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
大乱斗
767703dc-422a-43e1-92e9-ee53ce97da2b
@@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:yousandi.cn,2023:
--- !u!114 &-406776548054534087
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 536372c49e1ca914d822849d36de938c, type: 3}
m_Name: MiniGame Providers
m_EditorClassIdentifier:
m_AutomaticLoading: 0
m_AutomaticRunning: 0
m_Loaders: []
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cb0ece14d1f711a4fb9325ca819dee95, type: 3}
m_Name: AdaptivePerformanceGeneralSettings
m_EditorClassIdentifier:
Keys: 0100000024000000
Values:
- {fileID: 4731252441512728097}
- {fileID: 6642007075594342985}
--- !u!114 &4731252441512728097
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 179fc3111e144bc4688dca4038b3265d, type: 3}
m_Name: Standalone Settings
m_EditorClassIdentifier:
m_LoaderManagerInstance: {fileID: 8563817715829995832}
m_InitManagerOnStart: 0
--- !u!114 &6642007075594342985
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 179fc3111e144bc4688dca4038b3265d, type: 3}
m_Name: MiniGame Settings
m_EditorClassIdentifier:
m_LoaderManagerInstance: {fileID: -406776548054534087}
m_InitManagerOnStart: 0
--- !u!114 &8563817715829995832
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 536372c49e1ca914d822849d36de938c, type: 3}
m_Name: Standalone Providers
m_EditorClassIdentifier:
m_AutomaticLoading: 0
m_AutomaticRunning: 0
m_Loaders: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: Dy5K4yyrBir/7iRL575mWxee9O9IWVmDyRsbofO14MrwjMaUDL2COic=
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: CX4ZsnilAHPFprG5hnFKifWBFKHxUBpbohB5lJhzdsA/tO6DQKImv6g=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
%YAML 1.1
%TAG !u! tag:yousandi.cn,2023:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 921854900f2214d7ab9b1e95d17dbb2b, type: 3}
m_Name: Simulator Provider Loader
m_EditorClassIdentifier:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: XCwevSz7AH20gEbBajw2DSNPG43IBSdFu2P7J+WLzB8+gRmOsmR4Qo4=
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+76 -18
View File
@@ -136,6 +136,18 @@ PhysicMaterial:
bounciness: 0
frictionCombine: 0
bounceCombine: 0
--- !u!134 &442925933
PhysicMaterial:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ' (Instance) (Instance) (Instance) (Instance)'
dynamicFriction: 0.6
staticFriction: 0.6
bounciness: 0
frictionCombine: 0
bounceCombine: 0
--- !u!1 &705507993
GameObject:
m_ObjectHideFlags: 0
@@ -255,6 +267,7 @@ MonoBehaviour:
range: 18
detectRange: 20
attackRange: 1
attackDuration: 1.5
target: {fileID: 903389984}
--- !u!143 &903389988
CharacterController:
@@ -263,7 +276,7 @@ CharacterController:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 903389984}
m_Material: {fileID: 1727663077}
m_Material: {fileID: 442925933}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
@@ -282,6 +295,24 @@ CharacterController:
m_SkinWidth: 0.08
m_MinMoveDistance: 0.001
m_Center: {x: 0, y: 1, z: 0}
--- !u!114 &903389989
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 903389984}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9355c53f591d4459ea620fc8191efa17, type: 3}
m_Name:
m_EditorClassIdentifier:
maxHealth: 100
currentHealth: 100
heightOffset: 0.25
barWidth: 1.2
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
fillColor: {r: 0.1, g: 0.8, b: 0.18, a: 1}
--- !u!1 &963194225
GameObject:
m_ObjectHideFlags: 0
@@ -371,8 +402,8 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 963194225}
serializedVersion: 2
m_LocalRotation: {x: 0.002237889, y: 0.8675624, z: -0.49730802, w: 0.0039040295}
m_LocalPosition: {x: 0.20366266, y: 9.922052, z: 2.6709976}
m_LocalRotation: {x: 0.0062476187, y: 0.85376835, z: -0.5205148, w: 0.010244722}
m_LocalPosition: {x: -3.810662, y: 8.767098, z: -3.3209858}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -404,7 +435,7 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: aedf6e849dd924e229c57640f99ff50a,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.238
value: -2.88
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: aedf6e849dd924e229c57640f99ff50a,
type: 3}
@@ -414,7 +445,7 @@ PrefabInstance:
- target: {fileID: -8679921383154817045, guid: aedf6e849dd924e229c57640f99ff50a,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
value: -4.02
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: aedf6e849dd924e229c57640f99ff50a,
type: 3}
@@ -484,6 +515,10 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 989436105}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: aedf6e849dd924e229c57640f99ff50a,
type: 3}
insertIndex: -1
addedObject: {fileID: 989436109}
m_SourcePrefab: {fileID: 100100000, guid: aedf6e849dd924e229c57640f99ff50a, type: 3}
--- !u!1 &989436104 stripped
GameObject:
@@ -498,7 +533,7 @@ CharacterController:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 989436104}
m_Material: {fileID: 1727663077}
m_Material: {fileID: 1441034007}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
@@ -534,7 +569,26 @@ MonoBehaviour:
range: 18
detectRange: 20
attackRange: 1
attackDuration: 2
target: {fileID: 989436104}
--- !u!114 &989436109
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 989436104}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9355c53f591d4459ea620fc8191efa17, type: 3}
m_Name:
m_EditorClassIdentifier:
maxHealth: 100
currentHealth: 100
heightOffset: 0.25
barWidth: 1.2
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
fillColor: {r: 0.1, g: 0.8, b: 0.18, a: 1}
--- !u!1 &1178637744
GameObject:
m_ObjectHideFlags: 0
@@ -646,6 +700,18 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!134 &1441034007
PhysicMaterial:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ' (Instance) (Instance) (Instance) (Instance) (Instance) (Instance)'
dynamicFriction: 0.6
staticFriction: 0.6
bounciness: 0
frictionCombine: 0
bounceCombine: 0
--- !u!1001 &1576577255
PrefabInstance:
m_ObjectHideFlags: 0
@@ -731,19 +797,11 @@ PrefabInstance:
type: 3}
insertIndex: -1
addedObject: {fileID: 903389987}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c64a07291d13b4e9296ad678cc703a75,
type: 3}
insertIndex: -1
addedObject: {fileID: 903389989}
m_SourcePrefab: {fileID: 100100000, guid: c64a07291d13b4e9296ad678cc703a75, type: 3}
--- !u!134 &1727663077
PhysicMaterial:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ' (Instance) (Instance) (Instance)'
dynamicFriction: 0.6
staticFriction: 0.6
bounciness: 0
frictionCombine: 0
bounceCombine: 0
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
+70 -1
View File
@@ -20,6 +20,10 @@ public class NewBehaviourScript : MonoBehaviour
//攻击范围
public float attackRange = 5f;
//完整攻击动作时长,单位为秒;设置为0时使用动画真实时长
[Min(0f)]
public float attackDuration = 0f;
//角色状态
private State state = State.Alert;
@@ -176,12 +180,74 @@ public class NewBehaviourScript : MonoBehaviour
return Vector3.Distance(transform.position, opponent.transform.position) <= reachDistance;
}
//查找当前Animator中使用的攻击动画时长
private float GetAttackAnimationDuration()
{
if (animator == null || animator.runtimeAnimatorController == null)
{
return 0f;
}
var overrideController = animator.runtimeAnimatorController as AnimatorOverrideController;
if (overrideController != null)
{
var overrides = new List<KeyValuePair<AnimationClip, AnimationClip>>();
overrideController.GetOverrides(overrides);
foreach (var pair in overrides)
{
if (IsAttackAnimation(pair.Key))
{
return pair.Value != null ? pair.Value.length : pair.Key.length;
}
}
}
foreach (var clip in animator.runtimeAnimatorController.animationClips)
{
if (IsAttackAnimation(clip))
{
return clip.length;
}
}
return 0f;
}
//根据动画名称判断是否为攻击动画
private bool IsAttackAnimation(AnimationClip clip)
{
if (clip == null)
{
return false;
}
string clipName = clip.name.ToLowerInvariant();
return clipName.Contains("attack")
|| clipName.Contains("攻击")
|| clipName.Contains("挥剑");
}
//设置攻击动画播放速度
private void SetAttackAnimationSpeed()
{
float animationDuration = GetAttackAnimationDuration();
if (animationDuration <= 0f || attackDuration <= 0f)
{
animator.speed = 1f;
return;
}
animator.speed = animationDuration / attackDuration;
}
//攻击
private void attack(GameObject friend)
{
target = friend;
//攻击动画动作
//根据目标攻击时长加速或减速完整攻击动画
SetAttackAnimationSpeed();
animator.SetInteger("speed", 0);
animator.SetTrigger("attack");
state = State.Attack;
@@ -191,6 +257,9 @@ public class NewBehaviourScript : MonoBehaviour
// 在 Animator 的 Attack 动画结束时调用此方法
public void OnAttackAnimationEnd()
{
//攻击动画结束后恢复Animator速度
animator.speed = 1f;
//攻击动画结束后,目标仍在攻击范围内则立即进行下一次攻击
target = FindNearestOpponent();
if (target != null && IsWithinAttackReach(target))
+229
View File
@@ -0,0 +1,229 @@
using UnityEngine;
using UnityEngine.UI;
public class WorldHealthBar : MonoBehaviour
{
// 最大生命值。
[Min(1f)] public float maxHealth = 100f;
// 当前生命值,范围会自动限制在 0 到 maxHealth 之间。
[Min(0f)] public float currentHealth = 100f;
// 血条相对于单位头顶的额外高度。
[Min(0f)] public float heightOffset = 0.25f;
// 所有单位使用统一的血条世界宽度。
[Min(0.1f)] public float barWidth = 1.2f;
// 血条边框颜色。
public Color borderColor = new Color(0.03f, 0.03f, 0.03f, 0.95f);
// 血条内部填充颜色。
public Color fillColor = new Color(0.1f, 0.8f, 0.18f, 1f);
// 血条 UI 的像素尺寸,实际显示大小由 worldWidth 控制。
private const int PixelWidth = 100;
private const int PixelHeight = 14;
// 世界空间 Canvas,用来承载血条 UI。
private Canvas canvas;
// 血条整体的 RectTransform。
private RectTransform barRect;
// 绿色血量填充 Image。
private Image fillImage;
// 血条相对于单位的本地位置。
private Vector3 localBarPosition;
// 血条最终使用的世界宽度。
private float worldWidth;
// 所有血条共用的圆角 Sprite。
private static Sprite roundedSprite;
// 初始化血量和血条 UI。
private void Awake()
{
maxHealth = Mathf.Max(1f, maxHealth);
currentHealth = Mathf.Clamp(currentHealth, 0f, maxHealth);
CalculateLayout();
CreateBar();
UpdateFill();
}
// 每帧让血条保持在单位头顶,并朝向主摄像机。
private void LateUpdate()
{
if (barRect == null) return;
barRect.localPosition = localBarPosition;
// 优先使用场景中名称完全为 Main Camera 的摄像机。
Camera camera = FindMainCamera();
if (camera == null) return;
canvas.worldCamera = camera;
if (camera.gameObject.name == "Main Camera")
{
// 使用摄像机的上方向,保证血条在摄像机画面中保持水平。
barRect.rotation = Quaternion.LookRotation(
camera.transform.position - barRect.position,
camera.transform.up);
}
else
{
// 找不到 Main Camera 时,保留原来的展示逻辑。
barRect.rotation = Quaternion.LookRotation(
camera.transform.position - barRect.position,
Vector3.up);
}
}
// 查找场景中名称为 Main Camera 的摄像机;找不到时回退到 Camera.main。
private Camera FindMainCamera()
{
GameObject mainCameraObject = GameObject.Find("Main Camera");
if (mainCameraObject != null)
{
Camera namedCamera = mainCameraObject.GetComponent<Camera>();
if (namedCamera != null && namedCamera.isActiveAndEnabled)
{
return namedCamera;
}
}
return Camera.main;
}
// 直接设置当前生命值,并刷新绿色填充比例。
public void SetHealth(float value)
{
currentHealth = Mathf.Clamp(value, 0f, maxHealth);
UpdateFill();
}
// 让单位受到伤害。
public void TakeDamage(float amount) => SetHealth(currentHealth - amount);
// 让单位恢复生命值。
public void Heal(float amount) => SetHealth(currentHealth + amount);
// 根据单位模型或碰撞体计算血条位置和宽度。
private void CalculateLayout()
{
Bounds bounds = new Bounds(transform.position, new Vector3(1f, 2f, 1f));
bool found = false;
foreach (Renderer renderer in GetComponentsInChildren<Renderer>(true))
{
if (!found)
{
bounds = renderer.bounds;
found = true;
}
else
{
bounds.Encapsulate(renderer.bounds);
}
}
if (!found)
{
CharacterController controller = GetComponent<CharacterController>();
if (controller != null) bounds = controller.bounds;
}
// 血条尺寸固定,不随单位模型大小变化;只根据模型顶部调整位置。
worldWidth = barWidth;
// 水平方向固定对齐单位根节点,只使用模型顶部计算血条高度。
Vector3 top = transform.InverseTransformPoint(new Vector3(transform.position.x, bounds.max.y, transform.position.z));
localBarPosition = new Vector3(0f, top.y + heightOffset, 0f);
}
// 创建世界空间 Canvas、边框和绿色血量填充。
private void CreateBar()
{
GameObject barObject = new GameObject("WorldHealthBar", typeof(RectTransform), typeof(Canvas), typeof(CanvasScaler));
barObject.transform.SetParent(transform, false);
barObject.layer = gameObject.layer;
canvas = barObject.GetComponent<Canvas>();
canvas.renderMode = RenderMode.WorldSpace;
canvas.sortingOrder = 100;
barObject.GetComponent<CanvasScaler>().dynamicPixelsPerUnit = 10f;
barRect = barObject.GetComponent<RectTransform>();
barRect.sizeDelta = new Vector2(PixelWidth, PixelHeight);
barRect.localScale = Vector3.one * (worldWidth / PixelWidth);
barRect.localPosition = localBarPosition;
Image background = CreateImage("Border", barObject.transform, RoundedSprite(), borderColor);
SetFullRect(background.rectTransform);
Image inner = CreateImage("Fill", barObject.transform, RoundedSprite(), fillColor);
inner.rectTransform.anchorMin = Vector2.zero;
inner.rectTransform.anchorMax = Vector2.one;
inner.rectTransform.offsetMin = new Vector2(2f, 2f);
inner.rectTransform.offsetMax = new Vector2(-2f, -2f);
inner.type = Image.Type.Filled;
inner.fillMethod = Image.FillMethod.Horizontal;
inner.fillOrigin = 0;
fillImage = inner;
}
// 创建一个用于边框或填充的 UI Image。
private static Image CreateImage(string name, Transform parent, Sprite sprite, Color color)
{
GameObject imageObject = new GameObject(name, typeof(RectTransform), typeof(Image));
imageObject.transform.SetParent(parent, false);
Image image = imageObject.GetComponent<Image>();
image.sprite = sprite;
image.color = color;
image.raycastTarget = false;
return image;
}
// 让 UI 元素铺满父级 RectTransform。
private static void SetFullRect(RectTransform rect)
{
rect.anchorMin = Vector2.zero;
rect.anchorMax = Vector2.one;
rect.offsetMin = Vector2.zero;
rect.offsetMax = Vector2.zero;
}
// 根据当前生命值更新绿色填充比例。
private void UpdateFill()
{
if (fillImage != null)
{
fillImage.fillAmount = Mathf.Clamp01(currentHealth / maxHealth);
}
}
// 创建并缓存一个带圆角的白色 Sprite,供边框和填充复用。
private static Sprite RoundedSprite()
{
if (roundedSprite != null) return roundedSprite;
const int width = 64;
const int height = 16;
const float radius = 5f;
Texture2D texture = new Texture2D(width, height, TextureFormat.RGBA32, false);
texture.wrapMode = TextureWrapMode.Clamp;
texture.filterMode = FilterMode.Bilinear;
texture.hideFlags = HideFlags.HideAndDontSave;
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
float dx = Mathf.Max(Mathf.Max(radius - x, 0f), x - (width - 1 - radius));
float dy = Mathf.Max(Mathf.Max(radius - y, 0f), y - (height - 1 - radius));
bool inside = dx * dx + dy * dy <= radius * radius;
texture.SetPixel(x, y, inside ? Color.white : Color.clear);
}
}
texture.Apply();
roundedSprite = Sprite.Create(texture, new Rect(0, 0, width, height), new Vector2(0.5f, 0.5f), width);
roundedSprite.hideFlags = HideFlags.HideAndDontSave;
return roundedSprite;
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: BnkasHmoUC2Ntt5WLsMxZlTfTsvoVRA6JRpZDgF9Te//UKDtvjgPjYc=
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: CHgYsSn7W3ywDacFOl6IdvGhuyE1ucsoqiui/VU8DOAZYbuB3mLCXBA=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: B3oXt3mqVikBOQrdz/8vAPEHkxk7gLO5hsDW+ViDUjtgoKBQr7JRqmE=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: D3scvCOpUnneKUUepTWpkj3rod6CSEdrm/LbQLPuA5Jv1s11V1XamYU=
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: XikYsSP5B36KCI1G1fC/FERqmhNRC0xEa5XsB2E4TkuNjJBiPNPWfdM=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: C3hM4SulASgXeYihB+EnKvJyBln0ku6DATNfzZzi6wpZORbnLwnZ5iA=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,102 @@
%YAML 1.1
%TAG !u! tag:yousandi.cn,2023:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1795359250, guid: 1cf430f187a0b40eda7f668318d8be23, type: 3}
m_Name: MiniGameConfig
m_EditorClassIdentifier:
ProjectConf:
projectName:
Appid:
CDN:
assetLoadType: 0
compressDataPackage: 0
VideoUrl:
relativeDST:
DST:
StreamCDN:
bundleHashLength: 32
bundlePathIdentifier: StreamingAssets;
bundleExcludeExtensions: json;
AssetsUrl:
MemorySize: 256
HideAfterCallMain: 1
preloadFiles:
Orientation: 0
bgImageSrc: Assets/WX-WASM-SDK-V2/Runtime/wechat-default/images/background.jpg
dataFileSubPrefix:
maxStorage: 200
defaultReleaseSize: 31457280
texturesHashLength: 8
texturesPath: Assets/Textures
needCacheTextures: 1
loadingBarWidth: 240
needCheckUpdate: 0
disableHighPerformanceFallback: 0
IOSDevicePixelRatio: 0
SDKOptions:
UseFriendRelation: 0
UseCompressedTexture: 0
UseMiniGameChat: 0
PreloadWXFont: 0
disableMultiTouch: 0
CompileOptions:
DevelopBuild: 0
AutoProfile: 0
ScriptOnly: 0
Il2CppOptimizeSize: 1
profilingFuncs: 1
Webgl2: 1
fbslim: 0
DeleteStreamingAssets: 1
ProfilingMemory: 0
CleanBuild: 0
CustomNodePath:
autoAdaptScreen: 0
showMonitorSuggestModal: 1
enableProfileStats: 0
enableRenderAnalysis: 0
enablePerfAnalysis: 0
iOSAutoGCInterval: 10000
enableIOSPerformancePlus: 0
enableiOSMetal: 0
enableEmscriptenGLX: 0
brotliMT: 1
enableWasm2023: 0
CompressTexture:
halfSize: 0
useDXT5: 0
bundleSuffix: bundle
parallelWithBundle: 0
bundleDir:
dstMinDir:
debugMode: 0
force: 0
PlayerPrefsKeys: []
FontOptions:
CJK_Unified_Ideographs: 1
C0_Controls_and_Basic_Latin: 1
CJK_Symbols_and_Punctuation: 1
General_Punctuation: 1
Enclosed_CJK_Letters_and_Months: 1
Vertical_Forms: 1
CJK_Compatibility_Forms: 1
Miscellaneous_Symbols: 1
CJK_Compatibility: 1
Halfwidth_and_Fullwidth_Forms: 1
Dingbats: 1
Letterlike_Symbols: 1
Enclosed_Alphanumerics: 1
Number_Forms: 1
Currency_Symbols: 1
Arrows: 1
Geometric_Shapes: 1
Mathematical_Operators: 1
CustomUnicode:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: Xi4avXyqUy5sTy09OXtN/vGNnJJfYnk1VPCWeKYrQuGOg5j63VIfsCk=
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: Bnsfsi78VHKF4JhUpCLbzAzz5oQ9i98EfMITujVMd/gFCkEoCwcMHwQ=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: Cy8d5Cr/VC+pjuCd+MczipiuYuqzFzvWvxES5FCPHR1VsEg+QVAP+Jk=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,5 @@
<linker>
<assembly fullname="wx-runtime" preserve="all"/>
<assembly fullname="LitJson" preserve="all"/>
<assembly fullname="Wx" preserve="all"/>
</linker>
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: CXkf4C//B3Lz2lyWvcIGryIcjzIMaw98GfE6dnnbj/aZfVtTuBp4EvU=
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: CilJ4yj5Vy0tIYdp4K7ZZxBRxvkedLvdZPMyc4TrKp5XNUjjC8xFWdY=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: Xn0b4SP4BSm8UmFnB3cp/cCJ0QNzpk7J5MGAA10V+3CmaRRJ/MlCPDU=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

@@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: B3oX4SmqAnsvuJG0DeH51XPp23ICNdmXbITXzZMcMhrjRlQvrwsS6dE=
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 14
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
webStreaming: 0
priorityLevel: 0
uploadedMode: 2
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
maxPlaceholderSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
maxPlaceholderSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
maxPlaceholderSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WeixinMiniGame
maxTextureSize: 2048
maxPlaceholderSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
doOverrideTextureManagerOperations: 0
platformOperationGroupSettings:
userData:
assetBundleName:
assetBundleVariant:
+2
View File
@@ -3,6 +3,8 @@
"cn.tuanjie.ai.generators": "file:../.codely-cli/extensions/TJGenerators/Packages/cn.tuanjie.ai.generators",
"cn.tuanjie.ai.graph": "1.0.10",
"cn.tuanjie.codely.bridge": "1.0.75",
"com.qq.weixin.minigame": "https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git#v0.1.32",
"com.unity.adaptiveperformance": "4.0.1",
"com.unity.collab-proxy": "2.6.0",
"com.unity.feature.mobile": "1.0.0",
"com.unity.ide.rider": "3.0.36",
+10 -3
View File
@@ -40,9 +40,16 @@
},
"url": "https://packages.tuanjie.cn"
},
"com.qq.weixin.minigame": {
"version": "https://gitee.com/wechat-minigame/minigame-tuanjie-transform-sdk.git#v0.1.32",
"depth": 0,
"source": "git",
"dependencies": {},
"hash": "f67e7851c345f514e9079819cae16273ff05b33c"
},
"com.unity.adaptiveperformance": {
"version": "4.0.1",
"depth": 1,
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.subsystemregistration": "1.1.0",
@@ -177,7 +184,7 @@
},
"com.unity.profiling.core": {
"version": "1.0.2",
"depth": 2,
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.tuanjie.cn"
@@ -210,7 +217,7 @@
},
"com.unity.subsystemregistration": {
"version": "1.1.1",
"depth": 2,
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.subsystems": "1.0.0"
+10
View File
@@ -8,13 +8,23 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Scenes/SampleScene.scene
guid: 7f8a9209e2c654770b6c8311c7e23e18
m_BuildProfiles:
- enabled: 1
path: Assets/Settings/Build Profiles/New WeChat Profile.asset
guid: 01399412e246a4ea1919c7bbb0517f33
m_configObjects:
com.unity.adaptiveperformance.loader_settings: {fileID: 11400000, guid: 0def66eac048f460188dfa376c9afff1,
type: 2}
com.unity.adaptiveperformance.simulator.provider_settings: {fileID: 11400000,
guid: b8a7f88d1a5a949a49949bb4bb80f68d, type: 2}
m_SlimFeaturesWeixinMiniGame:
ACLDecompression: 0
AllocateOverhead: 1
DecompressASTC: 0
DecompressDXT: 1
DecompressETC: 1
FreeTypeSfntPng: 1
JobWorker: 2
LightProbe: 2
RootMotion: 0
UseStringInternPool: 2
+9 -2
View File
@@ -208,7 +208,8 @@ PlayerSettings:
resetResolutionOnWindowResize: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier: {}
applicationIdentifier:
Standalone: com.DefaultCompany.---------
buildNumber:
Standalone: 0
VisionOS: 0
@@ -404,6 +405,9 @@ PlayerSettings:
- m_BuildTarget: HMIAndroidPlayer
m_APIs: 150000000b000000
m_Automatic: 1
- m_BuildTarget: WeixinMiniGameSupport
m_APIs: 0b000000
m_Automatic: 0
m_BuildTargetVRSettings:
- m_BuildTarget: Standalone
m_Enabled: 0
@@ -454,6 +458,8 @@ PlayerSettings:
m_Format: 3
- m_BuildTarget: WebGL
m_Format: 3
- m_BuildTarget: WeixinMiniGame
m_Format: 3
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
@@ -860,6 +866,7 @@ PlayerSettings:
webGLPowerPreference: 2
scriptingDefineSymbols:
Standalone: RH_SerializedDictionary
WeixinMiniGame: RH_SerializedDictionary
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend: {}
@@ -1028,7 +1035,7 @@ PlayerSettings:
weixinMiniGameInjectStrippedMethodLogger: 0
weixinMiniGameEnableDotNetWasmExceptionHandling: 1
weixinMiniGamePreserveEventDelegate: 0
activeSubplatform: 0
activeSubplatform: 1
serializedFileTypeTreeMemoryOptimization: 0
stripBuiltinResources: 0
minigameMTRendering: 0
+141 -12
View File
@@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 2
m_QualitySettings:
- serializedVersion: 2
- serializedVersion: 3
name: Very Low
pixelLightCount: 0
shadows: 0
@@ -19,16 +19,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 1
textureQuality: 1
globalTextureMipmapLimit: 1
textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 25
lodBias: 0.3
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -41,8 +45,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Low
pixelLightCount: 0
shadows: 0
@@ -55,16 +76,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 25
lodBias: 0.4
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -77,8 +102,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Medium
pixelLightCount: 1
shadows: 1
@@ -91,16 +133,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 25
lodBias: 0.7
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -113,8 +159,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: High
pixelLightCount: 2
shadows: 2
@@ -127,16 +190,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 50
lodBias: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -149,8 +216,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Very High
pixelLightCount: 3
shadows: 2
@@ -163,16 +247,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 50
lodBias: 1.5
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -185,8 +273,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Ultra
pixelLightCount: 4
shadows: 2
@@ -199,16 +304,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 4
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 100
lodBias: 2
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -221,7 +330,25 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
vgPersistentBufferSize: 256
vgStreamingBufferSize: 512
vgPageUploadBufferSize: 64
vgPixelsPerEdge: 1
vgVertexCacheActive: 0
vgVertexCacheAutoVertexAnim: 0
vgVertexCacheMaxEntries: 32768
vgVertexCacheLoadFactor: 0.67
excludedTargetPlatforms: []
m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality:
Android: 2
Lumin: 5
@@ -229,9 +356,11 @@ QualitySettings:
Nintendo Switch: 5
PS4: 5
PSP2: 2
Server: 0
Stadia: 5
Standalone: 5
WebGL: 3
WeixinMiniGame: 2
Windows Store Apps: 5
XboxOne: 5
iPhone: 2
+60
View File
@@ -0,0 +1,60 @@
Library
library
Temp
temp
Obj
obj
Build
build
Builds
builds
UserSettings
usersettings
MemoryCaptures
memorycaptures
Logs
logs
**/Assets/AssetStoreTools
**/assets/assetstoretools
/Assets/Plugins/PlasticSCM*
/assets/plugins/PlasticSCM*
*.private
*.private.meta
^*.private.[0-9]+$
^*.private.[0-9]+.meta$
.vs
.vscode
.gradle
ExportedObj
.consulo
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
*.pidb.meta
*.pdb.meta
*.mdb.meta
sysinfo.txt
crashlytics-build.properties
*.apk
*.aab
*.app
*.unitypackage
~UnityDirMonSyncFile~*
**/Assets/AddressableAssetsData/*/*.bin*
**/assets/addressableassetsdata/*/*.bin*
**/Assets/StreamingAssets/aa.meta
**/assets/streamingassets/*/aa/*
.DS_Store*
Thumbs.db
Desktop.ini