大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。
如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!!
Good better best, never let it rest, until good is better, and better best.
近期会把自己本科阶段的一些课程设计、实验报告等分享出来,供大家参考,希望对大家有帮助。
博客更新至专栏【课程设计实验报告】:https://blog.csdn.net/weixin_43598687/category_11640051.html
自己准备模型、材质、人或动物行为动画、脚本等,尝试实现场景中的烘焙光影贴图与人或动物行为动画,能通过键盘或鼠标改变人或动物行为。可根据需要增加其他内容。
1) 数据输入
(1)初始化输入
2) 数据存储(输入数据在内存中的存储)
(1)没有数据存储
(2)myAnimator存储Animator的组件,myCamera存储摄像机对象
3) 数据处理
(1)去掉场景中的Directional Light,然后添加Spot Light、Point Light、Area Light等光源,然后调节各光源的大小以及方向、位置等信息,以此达到目标效果
(2)初始化:
myAnimator = GetComponent<Animator>(); //初始化Animator组件
UIInit(); //初始化UI界面
myCamera = GameObject.Find("Main Camera").transform; //初始化摄像机对象
设置跟随:
myCamera.position = transform.position + new Vector3(0, 1.5f, -5); //摄像机对象跟随
myCamera.LookAt(transform); //摄像机对象朝向
设置按钮位置和大小:
//按钮位置
GameObject.Find("Canvas/Button1").transform.GetComponent<RectTransform>().localPosition = new Vector3(Screen.height / 6 - Screen.width / 2, Screen.height * 2 / 5 - Screen.height / 2);
//按钮大小
GameObject.Find("Canvas/Button1").transform.GetComponent<RectTransform>().localScale = Screen.width / 600f * new Vector3(1, 1, 1);
//按钮位置
GameObject.Find("Canvas/Button2").transform.GetComponent<RectTransform>().localPosition = new Vector3(Screen.height / 6 - Screen.width / 2, Screen.height / 6 - Screen.height / 2);
//按钮大小
GameObject.Find("Canvas/Button2").transform.GetComponent<RectTransform>().localScale = Screen.width / 600f * new Vector3(1, 1, 1);
(3)动画控制器:
4) 数据输出
(1)烘焙效果
Point Light烘焙效果
Area Light烘焙效果
Spot Light烘焙效果
(2)
动画效果:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BUNAnimator : MonoBehaviour {
Animator myAnimator; //声明Animator组件
Transform myCamera; //声明摄像机对象
void Start () {
myAnimator = GetComponent<Animator>(); //初始化Animator组件
UIInit(); //初始化UI界面
myCamera = GameObject.Find("Main Camera").transform; //初始化摄像机对象
}
void Update () {
myCamera.position = transform.position + new Vector3(0, 1.5f, -5); //摄像机对象跟随
myCamera.LookAt(transform); //摄像机对象朝向
}
void UIInit()
{
//按钮位置
GameObject.Find("Canvas/Button1").transform.GetComponent<RectTransform>().localPosition = new Vector3(Screen.height / 6 - Screen.width / 2, Screen.height * 2 / 5 - Screen.height / 2);
//按钮大小
GameObject.Find("Canvas/Button1").transform.GetComponent<RectTransform>().localScale = Screen.width / 600f * new Vector3(1, 1, 1);
//按钮位置
GameObject.Find("Canvas/Button2").transform.GetComponent<RectTransform>().localPosition = new Vector3(Screen.height / 6 - Screen.width / 2, Screen.height / 6 - Screen.height / 2);
//按钮大小
GameObject.Find("Canvas/Button2").transform.GetComponent<RectTransform>().localScale = Screen.width / 600f * new Vector3(1, 1, 1);
}
public void ButtonOnClick(int index)
{
myAnimator.SetFloat("Aniflag", index); //向动画控制器传递参数
}
}
博客更新至专栏【课程设计实验报告】:https://blog.csdn.net/weixin_43598687/category_11640051.html
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43598687/article/details/124571689
内容来源于网络,如有侵权,请联系作者删除!