制作模块1,tip简介功能

This commit is contained in:
李浩 2025-05-20 15:14:59 +08:00
parent 783579741b
commit 70b0609f45
42 changed files with 17290 additions and 222 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -462,7 +462,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &5800286210300119797
RectTransform:
m_ObjectHideFlags: 0
@ -1067,7 +1067,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &5394197843809455320
RectTransform:
m_ObjectHideFlags: 0
@ -1343,7 +1343,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &1041589483741693935
RectTransform:
m_ObjectHideFlags: 0
@ -1751,7 +1751,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u975E\u7269\u8D28\u6587\u5316\u9057\u4EA7\u5F71\u89C6\u7F16\u8F91\u865A\u62DF\u4EFF\u771F\u5B9E\u8BAD"
m_text: "\u7ACB\u4F53\u51E0\u4F55\u865A\u62DF\u4EFF\u771F\u6559\u5B66\u7CFB\u7EDF"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
m_sharedMaterial: {fileID: 5103963756306747964, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}

View File

@ -317,14 +317,14 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontSize: 35
m_fontSizeBase: 35
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
@ -558,8 +558,8 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 18
m_fontSizeBase: 18
m_fontSize: 30
m_fontSizeBase: 30
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a4e48cf62509be54e9040e0e878c0e77
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8817cc0855d2f6e44a0cde0a3cd79dd6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,45 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Tip: MonoBehaviour
{
[Header("¸úËæµÄÎïÌå")]
public Transform FollowTran;
[Header("Æ«ÒÆÖµ")]
public Vector2 Offset;
public Camera _camera;
RectTransform ParentTran, Rtran;
void Start()
{
Rtran = transform.GetComponent<RectTransform>();
ParentTran = transform.GetComponentInParent<Canvas>().GetComponent<RectTransform>();
}
private void Update()
{
if (FollowTran != null)
{
Vector2 mScreenPos = _camera.WorldToScreenPoint(FollowTran.transform.position);
Vector2 mRectPos;
RectTransformUtility.ScreenPointToLocalPointInRectangle(ParentTran, mScreenPos, null, out mRectPos);
Rtran.localPosition = mRectPos + Offset;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 534fa5f5be9ad884a99f5c40cce2b6e9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,277 @@
using System;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.UI;
using DG.Tweening;
/// 提示UI挂载
// [AddComponentMenu("JiaSuQi/UI/Control/UI Follow Target")]
[RequireComponent(typeof(RectTransform))]
public sealed class UIFollowTarget : MonoBehaviour
{
public Transform Target
{
get { return this.target; }
set { this.target = value; }
}
public Canvas Canvas
{
get { return this.canvas; }
set { this.canvas = value; }
}
public Camera Camera
{
get { return this.gameCamera; }
set { this.gameCamera = value; }
}
/// <summary>
/// 计算屏幕的位置
/// </summary>
public static Vector3 CalculateScreenPosition(Vector3 position/* 目标点*/, Camera camera, Canvas canvas,
RectTransform transform)
{
Assert.IsNotNull<Camera>(camera);
Assert.IsNotNull<Canvas>(canvas);
Assert.IsNotNull<RectTransform>(transform);
//世界坐标转屏幕坐标
Vector3 vector = camera.WorldToScreenPoint(position);
Vector3 zero = Vector3.zero;
//判断canvas 渲染模式
switch (canvas.renderMode)
{
//屏幕空间
case RenderMode.ScreenSpaceOverlay:
RectTransformUtility.ScreenPointToWorldPointInRectangle(transform, vector, null, out zero);
break;
case RenderMode.ScreenSpaceCamera:
//世界空间
case RenderMode.WorldSpace:
RectTransformUtility.ScreenPointToWorldPointInRectangle(transform, vector, canvas.worldCamera,
out zero);
break;
}
return zero;
}
private void Awake()
{
//获取父物体rectTransForm
this.rectTransform = base.GetComponent<RectTransform>();
if (this.gameCamera == null)
{
this.gameCamera = Camera.main;
}
this.UpdatePos();
}
/// <summary>
/// 主要调用方法
/// </summary>
private void LateUpdate()
{
if (this.gameCamera == null)
{
this.gameCamera = Camera.main;
}
UpdatePos();
}
private Tween Anim;
/// <summary>
/// 外部调用方法
/// </summary>
/// <param name="isT"> 是否显示</param>
/// <param name="LiJiWanCheng">是否立即完成</param>
public void PlayShowOrClose(bool isT,bool LiJiWanCheng)
{
if (isT)
{
if (LiJiWanCheng)
{
transform.gameObject.SetActive(true);
YuanDian.color = new Color(1,1,1,1);
zhiyinxian.fillAmount = 1;
tip.transform.localScale=Vector3.one;
}
else
{
transform.gameObject.SetActive(true);
YuanDian.color = new Color(1,1,1,0);
zhiyinxian.fillAmount = 0;
tip.transform.localScale=Vector3.zero;
Anim?.Kill();
Anim = showAnim().Play();
}
}
else
{
if (LiJiWanCheng)
{
YuanDian.color = new Color(1,1,1,0);
zhiyinxian.fillAmount = 0;
tip.transform.localScale=Vector3.zero;
Anim.Kill();
transform.gameObject.SetActive(false);
}
else
{
// Debug.Log("UI关闭动画播放中");
YuanDian.color = new Color(1,1,1,1);
zhiyinxian.fillAmount = 1;
tip.transform.localScale=Vector3.one;
Anim?.Kill();
Anim = close().Play().
OnComplete(() =>
{
transform.gameObject.SetActive(false);
// Debug.Log("UI关闭动画播放完成");
});
}
}
}
/// UI显示动画
/// </summary>
/// <returns></returns>
Tween showAnim()
{
var sequence= DOTween.Sequence();
var t= YuanDian.DOFade(1, 1.25f);
sequence.Insert(0.0f, t);
var t1 = zhiyinxian.DOFillAmount(1,ZhiYinXianTime); sequence.Insert(0.2f, t);
var t2 = tip.transform.DOScale(Vector3.one, TipTime);
sequence.Insert(0.5f, t);
return sequence;
}
/// <summary>
/// UI隐藏动画
/// </summary>
/// <returns></returns>
private Tween close()
{
var sequence = DOTween.Sequence();
Tween t;
t = tip.transform.DOScale(Vector3.zero, 0.2f);
sequence.Insert(0, t);
t = zhiyinxian.DOFillAmount(0, 0.5f);
sequence.Insert(0.5f, t);
t = YuanDian.DOFade(0, 1f);
sequence.Insert(0.85f, t);
return sequence;
}
private void UpdatePos()
{
if (this.target == null || this.canvas == null || this.gameCamera == null || this.rectTransform == null)
{
return;
}
//计算屏幕坐标
Vector3 position = CalculateScreenPosition(this.target.position, this.gameCamera,
this.canvas,tip.GetComponent<RectTransform>() );
tip.transform.position = position+tipOffset;
YuanDian.transform.position = Camera.WorldToScreenPoint(target.position)+YuanDianOffset;
zhiyinxian.transform.position = (YuanDian.transform.position+tip.transform.position)/2;
zhiyinxian.transform.localEulerAngles = new Vector3(0, 0, Vector2.SignedAngle(Vector2.right, YuanDian.transform.position- tip.transform.position));
float length = (YuanDian.transform.position-tip.transform.position).magnitude;
//设置线的宽度 长度
zhiyinxian. GetComponent<RectTransform>().sizeDelta = new Vector2(length, 3f);
}
[SerializeField,Header("image")]
public Image YuanDian;
[SerializeField, Header("原点偏移量")]
private Vector3 YuanDianOffset;
[SerializeField, Header("tip")]
private GameObject tip;
[SerializeField, Header("提示缩放时间")]
private float TipTime;
[SerializeField] private Transform target;
[SerializeField] private Camera gameCamera;
[SerializeField] private Canvas canvas;
[SerializeField, Header("指引线UI")]
private Image zhiyinxian;
[SerializeField, Header("指引线填充时间")]
private float ZhiYinXianTime;
[SerializeField,Header("tip偏移量")]
public Vector3 tipOffset;
[SerializeField, Header("text")]
public Text Text;
private RectTransform rectTransform;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 26fddae1bdd0b454f8fafdecdf57ac84
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,217 @@
using UnityEngine;
public class ZhanShiCameraMove : MonoBehaviour
{
[Header("旋转角度x,y缩放距离distance")] public float x, y, distance;
[Header("X角度设置")] public float minYangle;
public float maxYangle;
[Header("缩放的最小距离")] public float distanceMin;
[Header("缩放的最大距离")] public float distanceMax;
[Header("需要注视的物体")] public Transform target;
public static ZhanShiCameraMove instance;
[Header("缩放的速度")] public float scrollSpeed;
[Header("旋转的速度")] public float rotSpeed;
// Start is called before the first frame update
private void Start()
{
//初始化最开始位置
instance = this;
// transform.LookAt(target);
isAutoRotate = false;
if (isAutoRotate) {
Invoke("SetBool", 2f);
}
}
/// <summary>
/// 初始状态,延时两秒设置这个参数
/// </summary>
void SetBool()
{
isAutoRotate = true;
}
/// <summary>
/// 更新一下参数
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="distance"></param>
public void SetData(float x,float y,float distance)
{
isAutoRotate = false;
//目标物体旋转置空
target.transform.rotation=new Quaternion( 0,0,0,0);
//相机参数设置
this.x = x;
this.y = y;
this.distance = distance;
//根绝XY移动量计算旋转量
this.y = Mathf.Clamp( this.y, minYangle,maxYangle);
Quaternion rot = Quaternion.Euler( this.y, this.x, 0);
transform.rotation = rot;
//对距离进行区间运算,保证距离在最大和最小之间
this.distance = Mathf.Clamp( this.distance, distanceMin, distanceMax);
//根据距离值计算摄像机的位置
Vector3 pos = rot * new Vector3(0, 0, - this.distance) + target.position;
//更改摄像机位置为计算的值
transform.position = pos;
//延时旋转2秒后
target.transform.localEulerAngles = Vector3.zero;
Invoke("SetBool",2f);
}
// Update is called once per frame
private void Update()
{ if (isAutoRotate && !Input.GetMouseButton(1))
{
// Debug.Log("测试到鼠标左键没按下");
RotateModelContinuously(); // 持续旋转模型
} // 如果鼠标左键没按下
else
{
//target.transform.rotation = Quaternion.identity;
Drag();
}
if (Input.GetAxis("Mouse ScrollWheel") != 0)
{
//根据滚轮的值计算距离
distance = distance - Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;
}
//对距离进行区间运算,保证距离在最大和最小之间
distance = Mathf.Clamp(distance, distanceMin, distanceMax);
//根据距离值计算摄像机的位置
Vector3 pos = transform.rotation * new Vector3(0, 0, -distance) + target.position;
//更改摄像机位置为计算的值
transform.position = pos;
}
void RotateModelContinuously()
{
if (!isAutoRotatePivot)
target.transform.Rotate(autoRotateDirection, autoRotationSpeed * Time.deltaTime*speed, Space.World);
else
{
var rotateEuler = autoRotateDirection * autoRotationSpeed * Time.deltaTime*speed;
// 根据模型当前朝向构造一个围绕轴旋转的四元数
Quaternion deltaRotation = Quaternion.Euler(rotateEuler);
// 将新的旋转应用到模型
target.transform.rotation *= deltaRotation;
}
}
void Drag()
{
if (Input.GetMouseButton(1))
{
//获取鼠标X轴移动量
x = x + Input.GetAxis("Mouse X") * rotSpeed;
//获取鼠标Y轴移动量
y = y - Input.GetAxis("Mouse Y") * rotSpeed;
//如果滚轮发生滚动
}
//根绝XY移动量计算旋转量
y = Mathf.Clamp(y, minYangle,maxYangle);
Quaternion rot = Quaternion.Euler(y, x, 0);
//根据计算的旋转量旋转计算机
transform.rotation = rot;
if (Input.GetAxis("Mouse ScrollWheel") != 0)
{
//根据滚轮的值计算距离
distance = distance - Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;
}
//对距离进行区间运算,保证距离在最大和最小之间
distance = Mathf.Clamp(distance, distanceMin, distanceMax);
//根据距离值计算摄像机的位置
Vector3 pos = rot * new Vector3(0, 0, -distance) + target.position;
//更改摄像机位置为计算的值
transform.position = pos;
}
[SerializeField][Header("是否自动旋转")]
private bool isAutoRotate;
[SerializeField] [Header("是否按照自身坐标系轴自动旋转")]
private bool isAutoRotatePivot;
[SerializeField][Header("自动旋转方向,例如(0,1,0)按照Y轴旋转")]
private Vector3 autoRotateDirection;
[SerializeField][Header("自动旋转速度")]
private float autoRotationSpeed = 5;
[SerializeField][Header("速度")]
private float speed=5f;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 01378465a344f0c4b8fb869102a24c29
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -3,12 +3,22 @@ guid: 51ec45fc52ab4bf4da1bf4280c0ba5af
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: M_QiuTi_Hong
second: {fileID: 2100000, guid: ac97eedb18950c045a2ca712a322450c, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: M_QiuTi_Lan
second: {fileID: 2100000, guid: bead5c176ce740044968c0ef556ffc77, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 0
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0

View File

@ -3,12 +3,22 @@ guid: 5c919a97f273c1b499b452f35b7763f2
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert2
second: {fileID: 2100000, guid: 4cc03da7f2cf68b4b8ccb2e959c0a5b2, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert3
second: {fileID: 2100000, guid: 6aa67711db84dc14a9b0d00fe5009d80, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 0
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0

View File

@ -3,12 +3,22 @@ guid: 84ca920fb3668ce4386b7ffd894ec118
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert3
second: {fileID: 2100000, guid: 6aa67711db84dc14a9b0d00fe5009d80, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambertzza
second: {fileID: 2100000, guid: a37557fead01d284386799f0c41d9576, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 0
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 96a8a379cfc01b140ac3d5c2b78064c8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9ee4877bd796334408c1cd1a7dbfff1d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,183 @@
#ifndef UNITY_PBRTool
#define UNITY_PBRTool
#define UNITY_PI 3.14159265359f
#define unity_ColorSpaceDielectricSpec half4(0.04, 0.04, 0.04, 1.0 - 0.04) // standard dielectric reflectivity coef at incident angle (= 4%)
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS //开启接受阴影
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE//使用TransformWorldToShadowCoord
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS//使用AdditionalLightRealtimeShadow计算add光源阴影
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS//精度?不确定
#pragma multi_compile _ _SHADOWS_SOFT
//世界空间下的各个方向数据,且都归一化
struct WDirData
{
float3 ViewDir;
float3 LightDir;
float3 HDir;
float3 NDir;
float NdV;
float NdH;
float NdL;
};
WDirData GetDirData(float3 wpos,float3 wnormal)
{
WDirData w;
w.LightDir=normalize(_MainLightPosition.xyz);
w.NDir=wnormal;
w.ViewDir=normalize(_WorldSpaceCameraPos.xyz-wpos.xyz);
w.HDir=normalize(w.LightDir+w.ViewDir);
w.NdL=saturate(dot(w.NDir,w.LightDir));
w.NdH=saturate(dot(w.NDir,w.HDir));
w.NdV=saturate(dot(w.NDir,w.ViewDir));
}
//绕轴旋转,这个轴指物体坐标系下
float3 RotateAboutAxis_Radians(float3 In, float3 Axis, float Rotation)
{
float s = sin(Rotation);
float c = cos(Rotation);
float one_minus_c = 1.0 - c;
Axis = normalize(Axis);
float3x3 rot_mat =
{ one_minus_c * Axis.x * Axis.x + c, one_minus_c * Axis.x * Axis.y - Axis.z * s, one_minus_c * Axis.z * Axis.x + Axis.y * s,
one_minus_c * Axis.x * Axis.y + Axis.z * s, one_minus_c * Axis.y * Axis.y + c, one_minus_c * Axis.y * Axis.z - Axis.x * s,
one_minus_c * Axis.z * Axis.x - Axis.y * s, one_minus_c * Axis.y * Axis.z + Axis.x * s, one_minus_c * Axis.z * Axis.z + c
};
return mul(rot_mat, In);
}
//CatmullRom曲线拟合曲线会经过所有给定的点需要多创建头尾各一个点得到p1和p2之间拟合的点
float3 CatmullRomPoint(float3 p0, float3 p1, float3 p2, float3 p3, float t)
{
return p1 + (0.5f * (p2 - p0) * t) + 0.5f * (2 * p0 - 5 * p1 + 4 * p2 - p3) * t * t +
0.5f * (-p0 + 3 * p1 - 3 * p2 + p3) * t * t * t;
}
//重映射把t1~t2范围映射到s1~s2
float Remap(float x, float t1, float t2, float s1, float s2)
{
return (s2 - s1) / (t2 - t1) * (x - t1) + s1;
}
//菲尼尔
float Fresnel(WDirData dir_data,float pValue,float sValue)
{
float f=max(dot(dir_data.NDir,dir_data.ViewDir),0);
return pow(1-f,pValue)*sValue;
}
//获取F0
float3 GetF0(float3 albedo,float Metallic)
{
return lerp(unity_ColorSpaceDielectricSpec.rgb, albedo, Metallic);
}
/* D项法线分部函数
* α * α
* D = -----------------------------------------------
* π* (pow((pow(nh, 2) * (α * α - 1) + 1), 2))
*/
float D_(float nh,float roughness)
{
float lerpSquareRoughness = pow(lerp(0.002, 1, roughness), 2);
// D值是高光亮斑效果的来源。
float D = lerpSquareRoughness / (pow((pow(nh, 2) * (lerpSquareRoughness - 1) + 1), 2) * UNITY_PI);
return D;
}
/* G项几何遮蔽
* dot(n, l) dot(n, v)
* G = --------------------- * ---------------------
* lerp(dot(n, l), 1, k) lerp(dot(n, v), 1, k)
*
* pow((α + 1), 2)
* k = ----------------
* 8
*/
float G_(float nl,float nv,float roughness)
{
float kInDirectLight = pow(roughness + 1, 2) / 8;// 直接光的 k 系数
float GLeft = nl / lerp(nl, 1, kInDirectLight);
float GRight = nv / lerp(nv, 1, kInDirectLight);
float G = GLeft * GRight;
return G;
}
inline half Pow5 (half x)
{
return x*x * x*x * x;
}
inline half3 FresnelLerp (half3 F0, half3 F90, half cosA)
{
half t = Pow5 (1 - cosA); // ala Schlick interpoliation
return lerp (F0, F90, t);
}
//PBR间接光的菲尼尔
float3 IndirectFresnel(float nv, float3 F0, float roughness)
{
return F0 + (max(float3(1.0 - roughness, 1.0 - roughness, 1.0 - roughness), F0) - F0) * pow(1.0 - nv, 5.0);
}
//PBR直接光的菲尼尔
float3 DirectFresnel(float3 F0,float vh)
{
//因为要在微观计算所以这里的法线要使用D项计算后的H作为法线
return F0 + (1 - F0) * exp2((-5.55473 * vh - 6.98316) * vh);
}
//float3 F0 = lerp(unity_ColorSpaceDielectricSpec.rgb, Albedo, _Metallic);
//直接光高光
float3 DirectSpecular(float3 F0,float3 lightColor,float roughness,float vh ,float nv,float nl,float nh)
{
float3 F =DirectFresnel(F0,vh);
float D=D_(nh,roughness);
float G=G_(nl,nv,roughness);
float3 specularResult = (D * G * F * 0.25) / (nv * nl);
//高光也要乘上ndl防止背面漏光同时更加物理
float3 specColor = specularResult * lightColor * nl * UNITY_PI;
return specColor;
}
//直接光漫反射
float3 DirectDiff(float3 Albedo,float3 lightColor,float _Metallic,float F ,float3 nl)
{
float kd = (1.0 - F) * (1.0 - _Metallic);
return kd*Albedo * lightColor * nl;
}
//间接光高光
float3 IndirectSpecular(float perceptualRoughness,float3 viewDirWS,float3 normalWS,float roughness,float _Smoothness,float3 F0,float nv,float _Metallic)
{
float mip_roughness = perceptualRoughness * (1.7 - 0.7 * perceptualRoughness);
// 计算 cube的反射方向。
float3 reflectVec = reflect(-viewDirWS, normalWS);
// 计算 cube 的 mip 等级。
half mip = mip_roughness * UNITY_SPECCUBE_LOD_STEPS;
// 采样纹理数据
half4 rgbm = SAMPLE_TEXTURECUBE_LOD(unity_SpecCube0,samplerunity_SpecCube0,reflectVec, mip);
float3 iblSpecular = DecodeHDREnvironment(rgbm, unity_SpecCube0_HDR);
//越粗糙间接高光越小
float surfaceReduction = 1.0 / (roughness * roughness + 1.0); //Liner空间
float oneMinusReflectivity = unity_ColorSpaceDielectricSpec.a-_Metallic*unity_ColorSpaceDielectricSpec.a;
float grazingTerm = saturate(_Smoothness + (1-oneMinusReflectivity));
return iblSpecular * surfaceReduction * FresnelLerp(0, grazingTerm, nv);
}
//间接光漫反射
float3 IndirectDiff(float3 normalWS ,float3 Albedo,float nv,float3 F0,float roughness,float _Metallic)
{
half3 ambient_contrib = SampleSH(float4(normalWS, 1));
float3 ambient = 0.3 * Albedo;// 随便乘个暗的系数
// 环境光漫反射
float3 iblDiffuse = max(half3(0, 0, 0), ambient.rgb + ambient_contrib);
float3 Flast = IndirectFresnel(max(nv, 0.0), F0, roughness);
// Flast 和 金属度,计算间接光的漫反射系数 kd 值。
float kdLast = (1 - Flast) * (1 - _Metallic);
return iblDiffuse * kdLast * Albedo;//+Flast*0.1;// 间接光漫反射
}
#endif

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a261046eb4a6f714498c21438987d9d2
ShaderIncludeImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SkyBox
m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Tex:
m_Texture: {fileID: 8900000, guid: 8539784577c910a47b87443799371b32, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Exposure: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Rotation: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
m_BuildTextureStacks: []
--- !u!114 &5875758172271352838
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 56384f5752757534cb0223b929e80942
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 34c1a353d6d2f0544a35c04b0e5dc8cd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,132 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-418367394989416806
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SkyBox
m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Tex:
m_Texture: {fileID: 8900000, guid: 75bfcbed3981f0f4486124b0d95f709b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _Exposure: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Rotation: 125
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a660822057a451f428a99e055e21f518
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: 94c092b46e6adce4ab8593461e3e3f5c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,98 @@
fileFormatVersion: 2
guid: ff74ab19bd2f49a4d91396c6d274df20
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,134 @@
fileFormatVersion: 2
guid: 75bfcbed3981f0f4486124b0d95f709b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: a83310acc0afc8e4b8d0adf83166a1fd
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

View File

@ -0,0 +1,146 @@
fileFormatVersion: 2
guid: 8539784577c910a47b87443799371b32
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@ RenderSettings:
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 1, g: 1, b: 1, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_SkyboxMaterial: {fileID: 2100000, guid: 56384f5752757534cb0223b929e80942, type: 2}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.43545312, g: 0.47482294, b: 0.5542454, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -233,8 +233,8 @@ Camera:
m_GameObject: {fileID: 547432235}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_ClearFlags: 2
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@ -688,7 +688,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!114 &1269024856
MonoBehaviour:
m_ObjectHideFlags: 0
@ -956,7 +956,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!114 &2114935603
MonoBehaviour:
m_ObjectHideFlags: 0

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -3,5 +3,37 @@
<Scene>01_JiaoXue</Scene>
<Type>All</Type>
<Name>教学模式</Name>
<Icon>ShiYanLiLunRenZhi.png</Icon>
</Module>
<Icon>JiaoXue.png</Icon>
<FSM name="状态机1">
<State name="初始状态">
<Enter>
<Action type="Parallel">
<Action type="TextTip" audio="" title="教学目标" value="1.掌握柱、锥、球及其组合体的结构特征与分类;
\n2.熟练运用几何体的表面积、体积公式;
\n3.提升空间想象能力与三维构造分析能力。" btns="确定"/>
</Action>
</Enter>
</State>
</FSM>
</Module>

View File

@ -3,5 +3,5 @@
<Scene>02_ShiXun</Scene>
<Type>All</Type>
<Name>实训模式</Name>
<Icon>ShiYanLiLunRenZhi.png</Icon>
<Icon>ShiXun.png</Icon>
</Module>

View File

@ -3,5 +3,5 @@
<Scene>03_KaoHe</Scene>
<Type>All</Type>
<Name>考核模式</Name>
<Icon>ShiYanLiLunRenZhi.png</Icon>
<Icon>KaoHe.png</Icon>
</Module>