1 Star 17 Fork 3

SouthBegonia/UnityWorld

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.github/ISSUE_TEMPLATE
ApplePicker
AudioPlay
BattleSave
Boids
BreakBricks
Clock
Csharp
FlappyBird
Hero
HertzCalculator
MissionDemolition
Omega Mage
Pacman
Physics Joints in Unity2D
Raycast
SceneLoading
Socket Chat
TankBattle
Tilemap
TopDungeonRPG
UGUI Framework
Unity Shader
UnityAPI
UnityEditor
UnityTestRunner
.gitignore
How Unity3D operate on various platforms.md
LICENSE
README.md
Rendering Pipeline.md
Standardized Game Development.md
UnitySkills.md
_config.yml
克隆/下载
UnitySkills.md 3.46 KB
一键复制 编辑 原始数据 按行查看 历史
SouthBegonia 提交于 6年前 . pacman README

Unity3D

Unity操作

调试

在某函数内进行`Debug.Log(...)`可实现调试检测,例如:
public class Player : MonoBehaviour {

	// Use this for initialization
	void Start () {
        Debug.Log("Hello");
	}
	
	// Update is called once per frame
	void Update () {
		Debug.Log(" World");
	}
}
//在控制台查看调试信息

碰撞体

前提:碰撞两者都有碰撞器 Collider ,至少一物体有刚体 Rigidbody(详细前提见 Unity-Manual-Colliders

// 碰撞触发检测
 private void OnCollisionEnter(Collision collision)
    {
        print(collision.collider);		//获取碰撞体+碰撞器类型
        print(collision.collider.name);		//碰撞体名称
        print(collision.collider.tag);		//碰撞体标签
    }

// 碰撞结束检测
private void OnCollisionExit(Collision collision)
        print("OnCollisionExit");

// 碰撞持续检测
private void OnCollisionStay(Collision collision)
        print("OnCollisionSaty");

触发器

存在于碰撞体collider页面栏,勾选is Trigger 则表示物体为触发器(可以穿过),否则物体为碰撞体。

视角

游戏视角的移动

键盘视角平移

对`Main Camera`创建脚本,在`Update`内调用:`transform.Translate()`实现视角移动

光照贴图

灯光是实时计算的(默认设置:Light|Mode|Realtime),对不变动的灯光进行贴图可以节省资源,在Windows|Rendering|Lighting Setting 打开了Lighting Setting 页面点击 Generate Lighting 实现灯光贴图。

游戏对象

关于Gameobject的一些列操作

访问对象

在脚本内创建一个字段,例如子弹bulletpublic Gameobject bullet;,在Unity页面通过将Prefab赋到脚本内bullet一栏,从而实现在脚本内通过bullet字段访问到Prefab

实体化游戏对象

实例化用到了GameObject.Instantiate(m_object, m_transform.position,m_transform.rotation)

  • GameObject.Instantiate():创建实体化函数
  • m.object:所创建的预制体
  • m_transform.position,m_transform.rotation:预制体位置及旋转角度,默认下为transform.position,transrotation说明地址为脚本所在对象的位置;也可自行修改

用法:

//创建对象 b 接收实体化的预制体 bullet
GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);

得到组件

//rgd 得到对象 b 的刚体组件
Rigidbody rgd = b.GetComponent<Rigidbody>();

对象的移动

交互类

鼠标输入

Input.GetMouseButtonDown():读取鼠标按下情况,括号内容即为鼠标不同状态:

  • 0:左键
  • 1:右键

键盘输入

Input.GetAxis(""):返回键盘输入的浮点数值

  • Horizontal:读取键盘AD左右移动的值(反映在Unity中的X方向)
  • Vertical:读取键盘WS上下移动的值反映在Unity中的Y方向)

用法:float h = Input.GetAxis("Horizontal");

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/southbegonia/UnityWorld.git
git@gitee.com:southbegonia/UnityWorld.git
southbegonia
UnityWorld
UnityWorld
master

搜索帮助