B Propulsion System
Adrian Artisan
$15.00
Date |
Price |
---|---|
日期和时间 |
价钱($) |
03/17(2018) |
15.0 |
11/02(2024) |
15.0 |
Jump AssetStore
We have built a series of 3D "thrusters", Transform or Physics components that changes game objects position or rotation, can be used as thrusters, engines, controllers, hammers, wind etc.
It is a "system" because we have pre-built helper components that will speed your development time, like: throttle controllers with keyboard or joysticks, special effects (particles, lights and sounds) and more.
Examples of usage
* continuous force applied: car, spaceship, boat, submarine, wind, character jump etc
* one time push/nudge: canon ball, pinball etc
* simple hover mechanic
* simple attract/repel forces (based on colliders, ex magnet/gravity)
* moving a GO a path of nodes (points)
Friendly
* tooltips for all the public properties
* open code - the code is in C#, open to read and extend (not hidden in a library)
* all the classes are well documented and prepared to be extended (virtual methods)
* designed to be extended - the logic is split to multiple functions so you can extend our classes and implement your own custom components, optimized for your specific needs.
* all our DEMO scenes have README files that explains in detail how it works
* Platform independent - it uses only basic UnityEngine features, should be compatible with all platforms (Android, iOS, tvOS, WebGL, Xbox etc)
* The thrusters direction is the same as the Green GO Axis for convenience
Plug&Play
* over 20 DEMO examples and prefabs that can be used right away
* drag&drop components with default values that suit most cases
* easy setup thanks to visual friendly components, tooltips and comments
* each thruster push/move an object in one direction, add a thruster for each desired direction
Common properties/features (for all thrusters)
* state - ignition on/off
* faults - temporary disables the thruster, can be used as penalties or debuffs
* throttle - an absolute value clamped between a min&max
* normalized throttle - as value between 0-1 and 0-100, to be used as relative/percentage control
* custom multi component inspector
* speed or force to push
3D Physics thrusters (requires a rigid body)
Thruster Force - add a Force to a rigid body each frame (or physics tick), used for simple physics.
Thruster Force Point - add a Force and Torque to a rigid body, used for realistic physics, it's position and rotation directly affects the force.
Thruster Applied Collider - add a Force to another Rigidbody, push/pull (attract or repel), used for simple magnet/gravity.
3D No physics thrusters (requires a Transform)
Thruster Transform - increase a Transform position.
Thruster Rotate - increase a Transform rotation based on it's rotation.
Thruster Path - moves a Transform position along a predefined linear path made by multiple nodes.
Controllers (1 or more attached thrusters)
* Key - binds a Keyboard/Controller key event to actions: Ignition (on,off,toggle), throttle (accelerate,decelerate;, to minimum, to maximum).
* Axis - used for joysticks, each Axis can affect 2 series of thruster (one for each side of the axis)
* Hover collider - automatically accelerate/deccelerate based on collider's raycast collisions. Multiple sensors can be created to scan for collisions.
* Property Relay - expose all thruster properties so they can be controlled by custom scripts or animations (Animation, DoTween, iTween etc)
* Continuous - accelerate to maximum and/or minimum throttle for predefined periods of time, or leave it in "endless" mode
Helpers
* UI Slider - link a thruster to an UI Slider component both ways
* Light - link a thruster to 1 or multiple Light component. Based on throttle automatically can control the Intensity, Range and.or Color(gradient).
* Particle - link a thruster to 1 or multiple ParticleSystem components. based on throttle can control the StartLifeTime, StartSpeed and/or Emission RateOverTime.
* Sound - link a thruster to 1 or multiple AudioSource components. Based on throttle can control the Volume and/or Pitch.
* Fault Collision - apply a fault to all Thrusters that collides ,Ex: can be used as a temporary disable an engine when they hit a spike
* Path line draw - populate a Unity.LineRenderer with a PathActor next nodes.
You can combine any controller or helper with any thruster!
Debug
All the components have a DebugLog flag, when turned on it displays in the console relevant messages. Example the debug flag on a controller will throw a message each time a key press is detected and the action was made.
Use relevant gameobjects naming, they will be displayed in the debug messages. Example: attach the Controller component to a "ControlThrusterLeft" game object so you will know from which controller the debug came from.
Contact for pre-purchase questions, support or feedback:
* artisan.adrian@gmail.com
* Unity Connect Profile
* Unity Connect Project Chat
* Asset store comment
* Twitter @ArtisanAdrian
* Youtube @Artisan Unity Assets
What's next?
* improvements, fixes and new features based on your feedback
* 2D thrusters
* powerups and debuff system (on-the-fly change thruster properties like min/max throttle)
Common Q&A
* Why is the package so large (6mb)?
The scripts size is 100kb, the rest are the assets for the DEMO scenes, you can remove them at anytime.
You do NOT require the subfolders "Demo" and "Identity".
* What platforms are supported?
Should work on any platform, contact me to solve any possible issues.
* Can I control the Thrusters with DoTween,iTween,my own scripts, etc?
Yes, you will need the Controllers.BThrusterPropertyRelay component to directly control the thrusters' properties and states.
* Can I use multiple controllers for 1 trusters? Key vs joysticks
Yes but you have to be careful, they will most likely cause problems/conflicts, same as having 2 bosses and 1 employee.
You should have at most 1 controller that auto decelerate.
* The AppliedCollider component does not work!?!
Check the following:
- force, throttle are positive number
- the thruster does not a fault
- The "victim" must have: A RigidBody that is NOT kinematic, a 3D Collider, mass > 0
- check the thruster Radius, you can see it in the Scene Editor (see Gizmos)
- if a red line is drawned in the Scene (debug line) then the force is applied, increase the Force
- The "victim" Rigidbody does not have constraints on X/Y/Z position
- The "victim" GameObject has the same Layer as the Thruster's "Affect only layer" value
Change log
v.1.0
First release. Includes 4 types of Thrusters (2 physics based), 4 controllers and 5 Helper components for extra functions.
v.1.1 (Nov 2017)
* FIX SetThrottle100Value - the function didn't worked as expected
* NEW BThrusterContinuousController - a new controller for continuous movement mechanics like Flappy Birds.
* NEW BThrusterAppliedCollider - a new thruster, that applies force to OTHER objects, used for simple magnet/gravity attract/repel mechanics
* NEW BThrusterHelperUISlider - added autoStart and applySliderValueOnStart parameters
* FIX README youtube channel URL
* NEW 3 demo scenes with 7 examples
v.1.2 (Dec 2017)
* NEW BThrusterPathActor - new thruster that only follows a specific path
* NEW BThrusterPathNode - represents a point in a path that the Actor must follow
* NEW BThrusterPathLineDraw - populates a Unity.LineRenderer with an Actors path
* NEW 2 new demo scenes for Path thruster with 3 examples
* FIX Continuous controller - it kept working even after the component was disabled