大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
unity3D入门系列一,Hello 3D World(C#脚本版)
马上要开始采用Unity3D做项目,于是本人快速参考了些资料。并把这些东西作为入门教程逐步更新到网站上来。
首先来熟悉下Unity3D的文件结构:
Assets:简单理解就是工程文件夹。分为2个1格式标准Assets,1个是手机版Assets, 手机版是个简版,说明文件上说是简化了Shader. Assets有场景文件.unity. 导入工程时候默认是没有场景的,一定要选择1个场景才能看到图形。里面一些具体的文件可以参照官方网站说明。
Library:库文件,动态链接库及Unity3D自己的二进制格式文件
Temp:临时文件夹,运行时候才会有内容
Unity3D图形显示部分几乎全部是导入已经做好的3D模型文件,导入方法很简单。这里不再说明。
首先还是来个传统的Hello World程序。这个3D场景很简单很基本:地形平面,球体,光源,摄像机。
1.新建工程命名为hello_3d_world,推荐大家文件名不要带空格全部小写,移植有好处。
2.创建地形平面:Terrain -> Create Terrain Postion和Rotation的XYZ全部清0,Scale XYZ全部写1,在Hierarchy面板中按F2将其重命名为myScene
3.默认会有1个摄像机,那个摄像机可以不用理会,当然删除他你会看不到场景中的东西。新建1摄像机GameObject->Create Other -> Camera移动到合适的位置:推荐Postion XYZ(2,0,-1.5) , Rotation XYZ 0, Scale XYZ 1
4.新建1球体GameObject->Create Other -> Sphere Postion XYZ(3,1,3) , Rotation XYZ 0, Scale XYZ 1
5.新建点光源GameObject->Create Other -> SpotLight Postion XYZ(3,1,-3) , Rotation XYZ 0, Scale XYZ 2
小技巧:在Hierarchy面板中选中要查看的物体,然后在可视化区域内按F键能快速找到想要找到的物体。
6.新建C#脚本:Assets -> Create -> C Sharp script. 在Project 面板中按F2将其重命名为:testCamaraMovScript
,双击其,点击Edit按钮编写内容如下:
using UnityEngine;
using System.Collections;
public class testCamaraMovScript : MonoBehaviour {
// Use this for initialization
void Start () {
//此处完成初始化,由www.J2meGame.com编写,更多内容请参考本站其他资料。
}
// Update is called once per frame
void Update () {
//此处为每帧刷新,不是按时间来写的,如果是逻辑代码请写在按时间计算的方法里面
//Input为获取输入按键,Iphone和Android输入不同,具体请参照帮助文件
if ( Input.GetKey (“up”)) {
print (“up arrow key is held down”);
transform.Translate(0 , 2 * Time.deltaTime , 0);
}
if ( Input.GetKey(“down” )) {
print (“down arrow key is held down”);
transform.Translate(0 , -2 * Time.deltaTime , 0);
}
if ( Input.GetKey (“left”)) {
print (“left arrow key is held down”);
transform.Translate(2 * Time.deltaTime , 0 , 0);
}
if ( Input.GetKey(“right” )) {
print (“right arrow key is held down”);
transform.Translate(-2 * Time.deltaTime , 0, 0);
}
if ( Input.GetKey (“w”)) {
print (“z up arrow key is held down”);
transform.Translate(0 , 0 , 2 * Time.deltaTime);
}
if ( Input.GetKey(“s” )) {
print (“z down arrow key is held down”);
transform.Translate(0 , 0, -2 * Time.deltaTime);
}
}
}
将其拖放到Camara或球体上,运行观看其不同的效果。
这个Demo很简单,但是却包含了构成3D世界的基本内容,呵呵。
由www.J2meGame.com原创,转载请说明。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169341.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...