零经验小白的独游历程——U3d学习经验与教程分享

前言U3D作为主流引擎,网上的教程可以说是不计其数。但是程序是一种模式化的思维,引擎也有他的底层原理。网上很多网课只是一步一步地展示做法,看似实现了效果,但其实根本没有说清楚背后的原理。我们就算跟着做了一遍,也只是熟悉了引擎的基本操作,但是如果想要自己做点什么效果,便会问题百出。比如说一开始我们打的第一行Unity代码一般都是控制玩家移动的。这时勤劳好学的我们一定会跟着老师一起打下这行代码。void FixedUpdate() { rb.MovePosition(transform.p
摘要由CSDN通过智能技术生成

前言

U3D作为主流引擎,网上的教程可以说是不计其数。但是程序是一种模式化的思维,引擎也有他的底层原理。网上很多网课只是一步一步地展示做法,看似实现了效果,但其实根本没有说清楚背后的原理。我们就算跟着做了一遍,也只是熟悉了引擎的基本操作,但是如果想要自己做点什么效果,便会问题百出。

比如说一开始我们打的第一行Unity代码一般都是控制玩家移动的。这时勤劳好学的我们一定会跟着老师一起打下这行代码。

void FixedUpdate() {
        rb.MovePosition(transform.position + transform.forward * Time.deltaTime);
}

那么我想问一下为什么这里非要用rigbody的MovePosition函数?为什么不能给刚体一个向前的速度(rigid.velocity)?为什么不能给他一个力让他向前移动(rigid.AddForce())?
如果用transform.Translate()直接控制物体移动会出什么样的问题?

包括攻击的判定有用碰撞体进行检测的,也有扇形、圆形、矩形攻击判定方式,也可以用射线检测。那么这些都分别适用于什么情况?各自有什么优缺点?
取舍(trade-off)是游戏领域非常重要的思维。“If it’s looks like,it’s right!”游戏很多时候只要实现了效果即可,但是实现效果的方式非常之多,到底该怎么取舍是一种很重要的思维。

**网上大部分的网课与教程都是没有讲这些思维和原理的,只是很简单地教了一种做法。**至于涉及图形学和设计模式好的U3D教程更是寥寥无几。所以选择好的教程对于一个自学人来说非常重要。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值