Unity 个人毕业设计 <探索,学习,实践练习>【part 1】

现在的计划:1.明确任务(毕设=考试),先不用管其他任何事,怎么学,反正最终要完成的是这个
2.时间第一(快),最高效的方式当然就是直接做,(就像直接做期末卷一样)那么必然会有很多东西不会,但是没关系
从不会到学会的过程就是靠自己了
3.就像富兰克林写作法一样 网页 这是要模仿的、(互联网永远是最好的老师555)

纠结一:各种教学眼花缭乱,从哪个开始?
教学视频b站,油土鳖都有很多,不要贪心,跟着做完一个再选下一个,我们直接选择项目实践的类型

纠结二:毕设难道就用跟着视频做出来的作品吗?
在已有掌握的基础上增加自己创作的内容完成毕设,没时间磨蹭了呜呜呜呜呜55555555,还要考研毕设就不要追求完美了,预计在一个月内完成哈,从3月21日开始

GKD GKD GKD GKD GKD GKD GKD

一直很喜欢黑魂,傅老师的复刻使用的是较低版本unity,为了尽量减少意外选择这个老外的教程,

3.22
问题一,我们需要人物模型,前往Mixamo网站下载,导入unity发现是白色的没有材质,于是百度,
方法如下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

搞定 ,说好的加群分享资源结果也没有,坑爹啊

》》前往package manager下载了一个叫Input system的,

3.23
原来作者用的是unity 商店里Synty Studios制作的Polygon素材,虽然好像还有很多其他好东西,但是先不管了,经过和群主交流找到了素材

右键create一个Input actions,重命名为PlayerControls然后勾选generate c# class 然后apply,
(不用管,只需要知道是一个控制输入的,哪有时间研究,记住,然后尽快让项目能运行起来就够了)

双击PlayerControls,add Action Map,命名Player Movement,双击new action 重命名为Movement,action Type改为pass through ,control type改为vector2,将Movement下原有bindling删除,添加2D vector,重命名为WASD,mode改为analog,然后上改为W[Keyboard]
其余类推

再添加new action 叫Camera,然后将binding的path绑定为Right Stick [GamePad] ,然而,我们这些都是灰色不可选,我们也没有后面要的delta [mouse]。
博客网页 官方手册
上网搜集了下关于input system的知识,

没什么能难倒我hhh,把Camera的action type也改成pass through,control type我改成了any,然后就行了,感谢博客,感谢互联网

添加完right stick后把processors(处理器)改成stick deadzone,,将delta mouse 的改成normalize Vector2

**

3.24

**

下载了一些免费的环境和武器素材,要钱的都好贵啊。。。
不过突然之间有了好多关卡设计的想法!!就设计成魂一那样无缝连接的地图吧!,不过已经可预知的几个问题
1,不同的敌人类型,以及boss都需要自己的AI和武器招式技能,
2,玩家切换装备,背包栏,物品栏,
3,音效,特效,这些应该相比好办,

总之先跟着视频做吧,之后再加上这些功能,反正没有什么是查不到的

1》》到project Settings里的Input System Package,点Create Settings Asset,,将Default Hold Time改成0

2》》给Player添加Capsule Collider组件,调整一下collider,不用和视频参数一样,但radius调成了0.3,,再添加一个rigidbody,然后freeze rotation xyz,

3》》开始编写脚本((再次强调不会,忘记,不知道也没有关系,原则是快,只需要记住,几分钟的代码要敲很久,这样的速度要出问题,所以不要纠结了)) 博主也要看笔记hhhhhhhhh,都是走一步看一步吗,

关于编程,当然还是功能需求分析。比如第一个类,根据名称就知道提供 输入处理 的功能,

namespace SG
{
   
    public class InputHandler : MonoBehaviour
    {
   
        public float horizontal;
        public float vertical;
        public float moveAmount;
        public float mouseX;
        public float mouseY;

        PlayerControls inputActions;//这个就是input system自动生成的脚本
        CameraHandler cameraHandler;

        Vector2 movementInput;
        Vector2 cameraInput;

		private void Awake()
        {
   
            cameraHandler = CameraHandler.singleton;
        }

		private void FixedUpdate()
        {
   
            float delta = Time.fixedDeltaTime;

			if(cameraHandler!=null)
            {
   
                cameraHandler.FollowTarget(delta);
                cameraHandler.HandleCameraRotation(delta, mouseX, mouseY);
            }
        }
        public void OnEnable()
        {
   
            if(inputActions==null)
            {
   
                inputActions = new PlayerControls();
                inputActions.PlayerMovement.Movement.performed += inputActions => movementInput = inputActions.ReadValue<Vector2>();
                //=> 是朗姆达表达式中的用法,就是把=>左边声明的变量带入到=>右边的表达式或者代码段里。=>前面的是参数,后面的是函数体。
                inputActions.PlayerMovement.Camera.performed += i => cameraInput = i.ReadValue<Vector2>();

            }
            inputActions.Enable();
        }

        private void OnDisable()
        {
   
            inputActions.Disable();
        }

        public void TickInput(float delta)
        {
   
            MoveInput(delta);
        }

        private void MoveInput(float delta)
        {
   
            horizontal = movementInput.x;
            vertical = movementInput.y;
            moveAmount = Mathf.Clamp01(Mathf.Abs(horizontal) + Mathf.
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值