C# 初级编程

Awake 和 start

awake 像构造函数但不是真正的构造函数,差别在于这里的类是unity创建的,不能自己new。

start 就是在awake之后自动执行的函数体。

ForeachLoop

这个循环有点像 python里的for循环,还有c++ 11的范围for循环(搭配智能指针 是真好用,不用写迭代器了)。

Update 和 FixedUpdate

Update函数 在awake 和 start之后 每帧调用一次,就像之前我们写马里奥游戏一样。

FixedUpdate 是严格限制了调用间隔,而不是Update只是看执行的快慢 每帧调用。

如果严格的限制物理规则计算 就应该用FixedUpdate,只是帧同步 就用Update,所以有时候会出现两种卡顿,一种是卡完后从原来的位置继续移动,一种是按照惯性瞬移到了前面的位置。

也是为什么 Unity 官方强制要求:所有物理相关操作必须放在 FixedUpdate 中,就是为了避免物理逻辑出现 "瞬移",保证物理效果的稳定性。

还有很多函数 在VS Studio中 按下 Ctrl + Shift + M 就可以看到很多系统提供的函数,来帮你创建。

外国人的叉乘计算方法(Cross Product)

unity直接给出这个叉乘函数的调用,非常方便。

简单小运用

要让炮管像右转 其实就可以向上转,因为左右是相对的 而上下是绝对的,用个左手螺旋定则就可以翻译。

平移和旋转 Translate 和 Rotate

每帧沿Z方向 前进1格。

旋转:

向上转 就是向右转,向下转就是向左转。

如果是物理碰撞 那么不能用这些函数,unity给了专门的物理碰撞函数。

look at

摄像机 会一直朝向target 但位置不会改变,这函数真是简单粗暴。

线性插值

官方文档说一大堆 我感觉直接列个公式就好了。

from a to b

result = a + (b-a)*index

GetButton / Down / Up

这玩意官方文档有点 说了一大堆 理清楚有点老火。

简单来说就是

GetUuttonDown 和 Up

都是一瞬间的事情,只在第一帧有效

而GetButton 是持续检测 按下和抬起 按下时ture 没按时false

相关推荐
蜗牛互联网9 分钟前
Python Agent 工具调用:审批令牌、参数白名单和累计预算
java·开发语言·人工智能·windows·后端·python
承渊政道41 分钟前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
淡海水1 小时前
03-02-架构篇-Boehm GC架构解析
unity·架构·c#·gc·boehm
一水鉴天1 小时前
声调韵的序:从古汉语音韵到系统科学语言的场效应推演 20261013(千问)
开发语言·人工智能
郭庆汝1 小时前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python
涉密IT资质笔记1 小时前
涉密资质投入产出分析模型:时间成本、四块成本构成与 ROI 决策框架
java·开发语言·算法
北风toto1 小时前
KMP 算法详解:从暴力匹配到 O(n+m) 的字符串搜索
java·开发语言·算法
william_yangshun1 小时前
WordCraft 观察:纯 Rust 重写文字处理器,把文档变成可编程对象
开发语言·后端·rust·文档自动化
dtq04241 小时前
C++ - 变量
开发语言·c++
撸串-研究生1 小时前
面向景区的综合服务管理平台设计——以稻城亚丁景区为例【附源码】
java·开发语言·vue.js·前后端分离·稻城亚丁景区