完成预览相关内容
This commit is contained in:
@@ -17,6 +17,8 @@ namespace NBF
|
||||
private SwipeGesture _swipeGesture;
|
||||
private bool _focus;
|
||||
|
||||
private Vector3 _zoomLimit;
|
||||
private Rect _panLimit;
|
||||
|
||||
private void OnInited()
|
||||
{
|
||||
@@ -39,17 +41,21 @@ namespace NBF
|
||||
/// </summary>
|
||||
/// <param name="configId"></param>
|
||||
public void LoadAsset(int configId)
|
||||
{
|
||||
//Assets/Resources/gfx/hooks/berserk_hooks/clas_20421_20446/clas_20423.prefab
|
||||
//Assets/Resources/gfx/rods/syberia/bolo_10021/bolo_10021_LB400.prefab
|
||||
//"Role/test"
|
||||
var prefab = Resources.Load("gfx/hooks/berserk_hooks/clas_20421_20446/clas_20423");
|
||||
SetModel((GameObject)Object.Instantiate(prefab));
|
||||
}
|
||||
|
||||
public void SetModel(GameObject model)
|
||||
{
|
||||
if (_renderImage == null)
|
||||
{
|
||||
_renderImage = new ModelRenderImage(ModelHolder.asGraph);
|
||||
}
|
||||
|
||||
//Assets/Resources/gfx/hooks/berserk_hooks/clas_20421_20446/clas_20423.prefab
|
||||
//Assets/Resources/gfx/rods/syberia/bolo_10021/bolo_10021_LB400.prefab
|
||||
//"Role/test"
|
||||
var prefab = Resources.Load("gfx/hooks/berserk_hooks/clas_20421_20446/clas_20423");
|
||||
var model = ((GameObject)Object.Instantiate(prefab));
|
||||
var ccdIk = model.GetComponent<CCDIK>();
|
||||
if (ccdIk != null)
|
||||
{
|
||||
@@ -69,19 +75,25 @@ namespace NBF
|
||||
}
|
||||
|
||||
|
||||
_renderImage.modelRoot.localScale = new Vector3(200, 200, 200);
|
||||
_renderImage.SetModel(model);
|
||||
_renderImage.modelRoot.localScale = Vector3.one;
|
||||
|
||||
var previewableAsset = model.GetComponent<PreviewableAsset>();
|
||||
if (previewableAsset != null)
|
||||
{
|
||||
_renderImage.modelRoot.localPosition = new Vector3(0, 0, previewableAsset.zoom.zoom);
|
||||
_renderImage.modelRoot.localRotation = Quaternion.Euler(previewableAsset.rotation);
|
||||
_zoomLimit = previewableAsset.zoom;
|
||||
_panLimit = previewableAsset.pan;
|
||||
model.transform.localPosition = previewableAsset.position;
|
||||
model.transform.localScale = previewableAsset.scale;
|
||||
model.transform.localRotation = Quaternion.Euler(previewableAsset.rotation);
|
||||
}
|
||||
else
|
||||
{
|
||||
_renderImage.modelRoot.localPosition = new Vector3(0, 0, 3);
|
||||
_renderImage.modelRoot.localRotation = Quaternion.Euler(Vector3.zero);
|
||||
_zoomLimit = Vector3.zero;
|
||||
_panLimit = Rect.zero;
|
||||
model.transform.localPosition = previewableAsset.position;
|
||||
model.transform.localScale = Vector3.one;
|
||||
model.transform.localRotation = Quaternion.Euler(Vector3.zero);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +178,17 @@ namespace NBF
|
||||
private void SetZoom(float delta)
|
||||
{
|
||||
var pos = _renderImage.modelRoot.localPosition;
|
||||
_renderImage.modelRoot.localPosition = new Vector3(pos.x, pos.y, pos.z + delta);
|
||||
var targetZ = pos.z + delta;
|
||||
if (targetZ < _zoomLimit.x)
|
||||
{
|
||||
targetZ = _zoomLimit.x;
|
||||
}
|
||||
else if (targetZ > _zoomLimit.y)
|
||||
{
|
||||
targetZ = _zoomLimit.y;
|
||||
}
|
||||
|
||||
_renderImage.modelRoot.localPosition = new Vector3(pos.x, pos.y, targetZ);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -9,6 +9,15 @@ namespace NBF
|
||||
{
|
||||
public override string UIPackName => "Tools";
|
||||
public override string UIResName => "PreviewPanel";
|
||||
|
||||
|
||||
public GameObject Instance { get; private set; }
|
||||
|
||||
public GameObject LoadModel(GameObject prefab)
|
||||
{
|
||||
Instance = Object.Instantiate(prefab);
|
||||
Debug.LogError($"预制体:{prefab.name} 实例={Instance}");
|
||||
Model.SetModel(Instance);
|
||||
return Instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user