热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laya实战教程:模型与动画的导入技巧

在进行模型和动画的导出过程中,需要注意隐藏不必要的场景元素,并确保所需导出的对象位于顶级节点。此外,在导出设置中正确选择节点配置,并为带有动画的对象添加Animator控制器组件,以确保动画能够正常播放。

在导出模型与动画的过程中,有几个关键点需要特别注意:


首先,应隐藏场景中所有不需要导出的对象,以减少文件大小并提高效率。


其次,确保所有需要导出的对象都设置为顶级节点,这有助于保持模型结构的清晰性和完整性。


在导出设置中,需要仔细检查节点配置,确保所有必要的选项都被正确选中。参考下图进行设置。





在Laya中创建导入的预设示例代码如下:



export default class Test extends Laya.Script {
constructor() {
super();
// 加载场景
Laya.Scene3D.load("res/LayaScene_Scene_Test/Conventional/Scene_Test.ls", Laya.Handler.create(this, this.on_scene3d_loaded));
}

on_scene3d_loaded(scene3d) {
Laya.stage.addChild(scene3d);
this.createPrefab(scene3d);
}

createPrefab(scene3d) {
Laya.Sprite3D.load("res/LayaScene_Scene_Person/Conventional/Golem.lh", Laya.Handler.create(this, function (prefab) {
scene3d.addChild(prefab);
prefab.transform.position = new Laya.Vector3(0, 0, 5);
}));
}
}


实现动画功能的示例代码如下:



export default class Test extends Laya.Script {
constructor() {
super();
// 加载场景
Laya.Scene3D.load("res/LayaScene_Scene_Test/Conventional/Scene_Test.ls", Laya.Handler.create(this, this.on_scene3d_loaded));
}

on_scene3d_loaded(scene3d) {
Laya.stage.addChild(scene3d);
this.createPrefab(scene3d);
}

createPrefab(scene3d) {
Laya.Sprite3D.load("res/LayaScene_Scene_Person/Conventional/Golem.lh", Laya.Handler.create(this, function (prefab) {
scene3d.addChild(prefab);
prefab.transform.position = new Laya.Vector3(0, 0, 5);
var anim = prefab.getComponent(Laya.Animator);
Laya.AnimationClip.load("res/LayaScene_Scene_Person/Conventional/Assets/res/Fantasy Characters (Pack) Vol-Golem.lani", Laya.Handler.create(this, function (clip) {
var state = new Laya.AnimatorState();
state.name = "aaa";
state.clipStart = 0 / 197;
state.clipEnd = 15 / 197;
state.clip = clip;
state.clip.isLooping = true;
anim.addState(state);
anim.play("aaa");
}));
}));
}
}

推荐阅读
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
author-avatar
发出耀眼气息
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有